[发明专利]一种多核环境下的共享缓存动态划分方法有效
申请号: | 201210592360.6 | 申请日: | 2012-12-29 |
公开(公告)号: | CN103077128A | 公开(公告)日: | 2013-05-01 |
发明(设计)人: | 金海;廖小飞;余丹萍 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06F12/08 | 分类号: | G06F12/08;G06F9/50 |
代理公司: | 华中科技大学专利中心 42201 | 代理人: | 朱仁玲 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 多核 环境 共享 缓存 动态 划分 方法 | ||
1.一种多核环境下的共享缓存动态划分方法,其特征在于,包括以下步骤:
(1)初始化硬件计数器,启动多个应用程序,并利用硬件计数器对应用程序的运行信息进行采样;
(2)利用硬件计数器获取程序的基本块信息分析应用程序的阶段行为,通过提取应用程序的IPC变异系数来判断应用程序的阶段是否发生变化,若是则进入步骤(3),否则进入步骤(5);
(3)利用硬件计数器获取应用程序的缓存缺失间距,以得到缺失率曲线,并根据缺失率曲线制定应用程序的缓存划分策略;
(4)根据制定的缓存划分策略并利用动态页着色方法对应用程序的缓存进行重新分配;
(5)判断应用程序是否运行结束,若是则过程结束,否则返回步骤(2)。
2.根据权利要求1所述的共享缓存动态划分方法,其特征在于,
步骤(1)是通过libpfm库的接口设置事件并读取硬件计数器;
应用程序的运行信息包括有SBBV、IPC、以及缓存缺失间距。
3.根据权利要求2所述的共享缓存动态划分方法,其特征在于,针对SBBV的采样周期是任意正整数,IPC的采样周期是1000万、1亿或者10亿条指令,缓存缺失间距的采样周期是每一次缓存访问失效。
4.根据权利要求1所述的共享缓存动态划分方法,其特征在于,步骤(2)包括以下子步骤:
(2-1)将各应用程序划分为固定长度的程序段;具体而言,程序段是包含固定数目指令的一段程序,在本发明中固定数目为1000万、1亿或者10亿条指令;
(2-2)判断应用程序当前执行的程序段是否是该应用程序的第一个程序段,若是则进入步骤(2-3),否则进入步骤(2-10);
(2-3)根据SBBV的采样周期来采样应用程序在各采样点的条件分支指令地址和条件分支指令间执行的指令数;
(2-4)利用采样到的条件分支指令地址和条件分支指令间执行的指令数建立稀疏基本块向量;
(2-5)判断应用程序当前执行的程序段是否是该应用程序的第一个程序段,若是则进入步骤(2-6),否则进入步骤(2-7);
(2-6)为该程序段设置一个新的阶段,并保存该阶段对应的稀疏基本块向量,过程结束;
(2-7)获得该程序段的稀疏基本块向量与该应用程序以往出现的每一个阶段的稀疏基本块向量之间的对比结果;
(2-8)从获得的对比结果中取出与该程序段的稀疏基本块向量距离最小的阶段,并判断对应的最小距离是否大于阈值γ,若是则返回步骤(2-6),否则进入步骤(2-9);
(2-9)将该程序段与距离最小的阶段归为一类阶段,过程结束;
(2-10)采样应用程序在该程序段的IPC;
(2-11)根据采样得到的IPC计算该程序段的IPC变异系数COV;
(2-12)判断IPC变异系数COV是否大于阈值γ,若是则返回步骤(2-3),否则表示应用程序的阶段没有发生变化,过程结束。
5.根据权利要求4所述的共享缓存动态划分方法,其特征在于,对比结果是通过计算该程序段的稀疏基本块向量与以往出现的每一个阶段的稀疏基本块向量之间的欧拉距离或曼哈顿距离的方式得以获得。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210592360.6/1.html,转载请声明来源钻瓜专利网。