[发明专利]一种面向低功耗的多核共享Cache混合划分方法有效
申请号: | 201110076723.6 | 申请日: | 2011-03-29 |
公开(公告)号: | CN102135793A | 公开(公告)日: | 2011-07-27 |
发明(设计)人: | 方娟;杜文娟 | 申请(专利权)人: | 北京工业大学 |
主分类号: | G06F1/32 | 分类号: | G06F1/32 |
代理公司: | 北京思海天达知识产权代理有限公司 11203 | 代理人: | 张慧 |
地址: | 100124 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种面向低功耗的多核共享Cache混合划分方法,属于计算机体系结构领域。随着片上集成的核心数目的增加,低功耗设计成为必然趋势,然而目前的Cache划分方法大都是面向吞吐量或者公平性的,忽视了功耗问题。本发明提供了一种新的面向低功耗的划分方法。划分方法利用程序的局部性原理,将在二级Cache中访问差异度较大的线程合并为一个划分单位来实现Cache列划分,从而在运行同一个应用时,使用较少的Cache列,关闭剩余的Cache列,在满足性能的基础上达到降低功耗的目的。 | ||
搜索关键词: | 一种 面向 功耗 多核 共享 cache 混合 划分 方法 | ||
【主权项】:
1.一种面向低功耗的多核共享Cache混合划分方法,其特征在于包含以下步骤:(1)初始化:1.1)将每个线程作为一个单独的划分单位,给每个划分单位划分一列二级Cache;1.2)一个时间片t后,判断程序是否运行结束,结束则跳转到步骤(4),否则继续执行步骤1.3);时间片t是指将应用程序的运行时间均匀分块,每块时间称为一个时间片t;1.3)根据公式①计算系统性能IPC[par],IPC是每个时钟执行的指令数(Instruction Per Cycle);IPC [ par ] = Σ i = 1 n IPC [ app i ] = Σ i = 1 n 1 α + β × θ i ( x ) ]]> ①其中,n表示应用程序所包含的线程总数,
表示线程i(1≤i≤n)的每个时钟执行的指令数,用来表征线程i的性能,根据下式②计算得到:IPC [ app i ] = 1 α + β × θ i ( x ) ]]> ②②式中的α和β计算公式如下式③,θi(x)是根据栈距离特性获取的线程i的失效率,表示当为线程i分配x大小的二级Cache时,线程i在时间片t内的缺失次数;α=CPI[base]+E1+M1×E2,β=E3 ③③式中的CPI[base]为平均每条指令的执行周期数,E1为访问一级Cache的命中开销,M1为一级Cache的缺失次数,E2为一级Cache缺失时访问二级Cache的命中开销,E3为二级Cache缺失时访问主存的命中开销;M1、E1、E2、E3和CPI[baae]的值由所使用的计算机体系结构决定;1.4)若此时系统性能IPC[par]≥(1-PLT)IPC[initial],则关闭剩余的Cache列,执行步骤(3);否则执行步骤(2);其中,回溯阈值IPC[initial]表示Cache进行单纯列划分时的系统性能,PLT表示性能损失阈值;(2)划分阶段:令所有未合并的线程T组成线程集TS,TS={Ti|1≤i≤n}2.1)若|TS|≥2,执行步骤2.2),否则跳转到步骤2.5);2.2)根据公式④计算TS中任意两个线程访问Cache列的差异度Rdiff;Rdiff=|Pi-Pj|,(1≤i≤n,1≤j≤n且i≠j) ④其中P是线程访问偏度,由式⑤计算得到,P = U up - U down U used ]]> ⑤本发明将Cache的每一列均分为上下两部分,Uup表示在线程所分得的一列Cache中,上半部分访问过的Cache块数,Udown表示下半部分访问过的块数,Uused表示这一列中访问过的Cache块总数;2.3)对于所有差异度Rdiff满足Rdiff≥Rshare的线程对,将Rdiff取得最大值的两个线程<Ti,Tj>合并为一个划分单位,TS=TS-{Ti,Tj};其中,Rshare表示差异度阈值;2.4)若|TS|≥2,则执行步骤2.3),否则执行步骤2.5);2.5)判断是否有未划分的Cache列,是则执行2.6),否则执行步骤(3);2.6)计算所有划分单位的IPC增加量Plus_IPCk(x)值,Plus_IPCk(x)是指当划分单位k(1≤k≤n)分配的Cache列从x(x∈[0,CL2))列增加到x+1列时,划分单位k的IPC增加量,其中CL2为二级Cache的总列数;Plus_IPCk(x)的计算公式如下式⑥:
⑥其中,函数
的计算公式如上式②;2.7)划分一列Cache给取的最大Plus_IPCk(x)的划分单位;2.8)根据式①计算系统划分性能IPC[par];2.9)如果此时IPC[par]≥(1-PLT)IPC[initial],则划分阶段结束,关闭剩余的Cache列,转到步骤(3);否则执行2.5);(3)回溯阶段:程序运行一个时间片t后,3.1)程序是否运行结束,是则转到步骤(4),否则执行步骤3.2);3.2)根据式①计算系统划分性能IPC[par];3.3)如果此时IPC[par]≥(1-PLT)IPC[initial],转到步骤(3),否则,恢复初始划分,执行(2);(4)输出运行结果,用功耗评估工具评估系统所节省的功耗。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京工业大学,未经北京工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201110076723.6/,转载请声明来源钻瓜专利网。