一种共享高速缓存的性能优化方法

文档序号:6608026阅读:400来源:国知局
专利名称:一种共享高速缓存的性能优化方法
技术领域
本发明涉及计算机硬件领域,尤其是一种共享高速缓存的性能优化方法。
背景技术
随着处理器和存储器之间速度差距的日益增大,存储系统设计业已成为影响计 算机系统性能的关键要素之一。当前,多核处理器普遍通过大容量、高相联度的最后一级 片上Cache (Last-Leve 1 Cache :LLC)来提供对最近访问过的数据的快速访问。从理论 上讲,为了达到最高的Cache命中率,LLC应该采用最优替换算法(Optimal replacement algorithm, OPT),但是由于OPT算法要依赖于数据的未来使用信息,在硬件实现上过于复 杂,因此长期以来商用处理器中所广泛采用的是最久未使用(Least Recently Used, LRU) 替换策略或其近似算法。然而,近年来大量研究成果表明,在高相联度Cache中LRU和OPT之间的性能差距 正在日益增大,突出表现为LRU策略对内存受限应用的性能较差,其原因在于以下几个方 面①、LRU策略在缺失(命中)时将数据直接插入(提升)到最近最常使用(Most Recently Used, MRU)位置,这样数据在完成最后一次访问而成为无用数据后,往往需要跨越大部分 Cache路而最终成为候选替换块;②、LRU策略在选择替换块时仅仅考虑了 Cache访问的临 近信息而忽略了数据的访问频率;③、负载中存在着数据的循环访问模式,若可用Cache空 间不能完全容纳负载工作集,LRU策略可能导致Cache颠簸。目前,围绕如何缩小LRU和OPT之间的性能差距已经开展了大量的研究工作,而解 决此问题的方法之一就是将一部分工作集尽可能长时间地保留在Cache中,使得至少这部 分数据可以获得较高的命中率。传统的LRU替换策略通常会将最近命中的数据块放到MRU (Most Recently used) 位上,而淘汰LRU位上的数据,有的数据块被替换进片内后,将不再会被引用,这类数据块 称为无用块,这就导致了无用块长期留在片内,直至它到达LRU位的时候才能被替换出去, 这将会大大浪费片内资源,因此,一个好的共享高速缓存管理策略应该能够预测并且消除 无用块;传统的LRU替换策略平等地管理片内的数据块,但是有的数据块被替换进片内后, 仅仅被引用过有限的几次,这类数据块被称为低重用块,这类数据块长期留在片内会占用 高重用块的空间,从而形成了片内资源的浪费,因此在插入和提升命中数据块的同时,要能 够过滤低重用块;

发明内容
本发明目的是提供一种优化共享高速缓存的性能的方法。该方法通过统一的 Cache管理,无用块消除和低重用块过滤(Eliminating Dead Blocks and Filtering Less Reused Lines, ELF)在多核处理器中提高全局Cache性能。本发明的方案是通过过滤低使用频率数据块和尽快消除无用数据块而达到缩小 负载工作集的目的。这样,为了使用ELF策略进行LLC管理,我们需要在数据插入到Cache
3之前确定它的使用频率,同时能够及时的标识出哪些数据块是无用的,显然这些决定都要 依赖于Cache块的未来使用信息。因此本发明的方法如下一种共享高速缓存的性能优化方法,包括以下步骤(1)标识出低使用频率数据块;(2)在缺失时依概率将其插入到LRU位置;(3)在命中时向前提升一个优先级。进一步的,所述步骤还包括识别出无用数据块并优先将其替换出二级Cache。进一步的,所述步骤标识出低使用频率数据块为在L2 Cache和主存之间增加一 个独立的预测表结构,用来保存没有被缓存的数据的使用频率历史,并且在数据重新进入 Cache时恢复使用频率信息。进一步的,在每个Cache行中增加4个额外的域,其中引用计数器C用于计算该 Cache块在整个生命期内的引用次数,而计数器maxCpast则用于保存数据在上一个生命期 内的引用次数,而Conf是一位的信任比特,用于标识预测表信息的可靠性。进一步的,所述预测表被组织成一个256X256的直接映射无标记二维矩阵结构, 其中行使用Cache块的hashedPC域来索引,而列则通过块地址按每8位异或的结果来索 引。进一步的,所述计数器为4位宽度的计数器。进一步的,根据对缺失块的使用频率预测结果来确定插入位置,对于0-重用块, 直接插入到LRU位置以有效滤除;对于使用频率低于3的块,按插入概率Pinsert插入到 LRU位置,按概率I-Pinsert插入到MRU位置,Pinsert的值被设为3/4 ;而对于其他情况则 都插入到MRU位置。进一步的,对于低使用频率块,采用SIP策略;对于高使用频率块则以记录其访问 临近性信息为主,在命中后直接提升到MRU位置。本发明的有益效果是利用统一的Cache管理策略无用块消除和低重用块过滤 策略在多核处理器中提高全局Cache性能。


下面结合附图及实施例对本发明作进一步描述图IELF的硬件结构;图24路CMP系统中ELF,PIPP和TADIP的加权加速比比较;图3 二级Cache块使用频率预测精度。
具体实施例方式图1所示的是4核处理器的ELF预测器硬件结构,该处理器拥有W-路组相联共享 二级Cache,每个处理器核都有私有的一级Cache,这些一级Cache通过总线互联的方式连 接在一个共享的二级Cache上。ELF策略在L2 Cache和主存之间增加了一个独立的预测表 结构,用来保存没有被缓存的数据的使用频率历史(4位计数器maxCstored)并且在数据重 新进入Cache时恢复使用频率信息。预测表被组织成一个256X256的直接映射无标记二 维矩阵结构,其中行使用Cache块的hashedPC域(导致Cache缺失的指令PC按每8位异或的结果)来索引,而列则通过块地址按每8位异或的结果来索引,这种方式可以同时区分 出不同的数据块和同一数据的不同程序阶段,具有较高的预测精度。另外,预测表的访问只 发生在二级Cache缺失时,并不修改处理器访问共享Cache的关键路径,因此ELF并不引入 额外时间开销。同时,我们还需要在每个Cache行中增加4个额外的域,其中引用计数器C用于计 算该Cache块在整个生命期内的引用次数,而计数器!!!^ (;-则用于保存数据在上一个生命 期内的引用次数,而Conf是一位的信任比特,用于标识预测表信息的可靠性,只有当该位 被设置时,才能够使用预测器的结果进行插入和提升策略的选择。上述全部计数器的宽度 都需要根据对典型负载的剖析结果而定,在每个生命期内二级Cache块引用的平均值一般 相对较小,用一个4位的计数器来保存就可以保证足够的精度。为此,采用4位宽度的计数
ο新块插入到Cache中的位置主要有LRU和MRU两种,ELF会根据对缺失块的使用 频率预测结果来确定插入位置,对于O-重用块,直接插入到LRU位置以有效滤除;对于低使 用频率块,使用频率低于3,按插入概率PinsCTt插入到LRU位置,按概率l-PinsCTt插入到MRU 位置,Pinsert的值被设为3/4 ;而对于其他情况则都插入到MRU位置。可见,ELF策略将低使 用频率数据以高概率被插入到LRU位置,缩短了它们在Cache中的停留时间,明显地起到了 对数据的过滤作用。ELF会根据命中块的使用频率预测信息在多步提升策略(Multiple-step Incremental Promotion, MP)策略禾口 单步提升策略(Single-step Incremental Promotion, SIP)策略两种策略之间进行选择,对于低使用频率块,采用SIP策略,这样数据 块在整个生命期内会随着访问频率的增加而逐渐向访问临近栈中的高优先级位置靠近,导 致高使用频率数据的位置优先于低使用频率数据;而对于高使用频率块则以记录其访问临 近性信息为主,在命中后直接提升到MRU位置,有利于提供更多的后续访问命中。显然,ELF 策略可以同时开发出程序中数据的访问临近性和访问频率信息。典型负载中存在着大量使用频率较低的数据块,它们在进入二级Cache后不久就 会成为无用数据块。为此ELF算法首先试图尽早地标识出这些无用Cache块,这样在二级 Cache发生缺失而需要选择候选替换块时,可以优先从ELF算法所预测出的所有无用块中 随机选择一块作为候选替换块,若并未发现无用数据块,则仍然选取该组中的LRU块进行替换。下面我们采用基于x86指令集体系结构的事件驱动、周期精确多核仿真器 Multi2sim来评测PAE-TIP策略的有效性。目标仿真平台是一个4-路多核处理器,所有处 理器核共享4MB、16路组相联的二级Cache。每个处理器核是4发射、乱序执行的超标量结 构,并且具有私有的一级指令和数据Cache。后续实验中仿真器的详细配置信息参见表1。表1模拟器的基本配置信息
权利要求
一种共享高速缓存的性能优化方法,包括以下步骤(1)标识出低使用频率数据块;(2)在缺失时依概率将其插入到LRU位置;(3)在命中时向前提升一个优先级。
2.根据权利要求1所述的一种共享高速缓存的性能优化方法,其特征在于,所述步骤 还包括识别出无用数据块并优先将其替换出二级Cache。
3.根据权利要求2所述的一种共享高速缓存的性能优化方法,其特征在于,所述标识 出低使用频率数据块的步骤为在L2 Cache和主存之间增加一个独立的预测表结构,用 来保存没有被缓存的数据的使用频率历史,并且在数据重新进入Cache时恢复使用频率信 肩、ο
4.根据权利要求3所述的一种共享高速缓存的性能优化方法,其特征在于,在每个 Cache行中增加4个额外的域,其中引用计数器C用于计算该Cache块在整个生命期内的引 用次数,而计数器maxCpast则用于保存数据在上一个生命期内的引用次数,而Conf是一位的 信任比特,用于标识预测表信息的可靠性。
5.根据权利要求3所述的预测表结构,其特征在于,所述预测表被组织成一个 256X256的直接映射无标记二维矩阵结构,其中行使用Cache块的hashedPC域来索引,而 列则通过块地址按每8位异或的结果来索引。
6.根据权利要求4所述的预测表结构,其特征在于,所述计数器为4位宽度的计数器。
7.根据权利要求2所述的一种共享高速缓存的性能优化方法,其特征在于,根据对缺 失块的使用频率预测结果来确定插入位置,对于O重用块,直接插入到LRU位置以有效滤 除;对于使用频率低于3的块,按插入概率PinsCTt插入到LRU位置,按概率lPinsCTt插入到MRU 位置,Pinsert的值被设为3/4 ;而对于其他情况则都插入到MRU位置。
8.根据权利要求2所述的一种共享高速缓存的性能优化方法,其特征在于,对于低使 用频率块,采用SIP策略;对于高使用频率块则以记录其访问临近性信息为主,在命中后直 接提升到MRU位置。
全文摘要
本发明公开了一种共享高速缓存的性能优化方法。该方法采用无用块消除和低重用块过滤技术管理共享高速缓存资源,使其得到充分利用,从而获得较高的性能。该技术运用基于计数的算法预测出无用块并将其尽早替换,采用动态插入和提升策略过滤低重用数据,从而尽量保留那些潜在的活动数据并且使得一部分工作集免受低使用频率数据的干扰。实验表明,相对于传统的共享高速缓存管理策略,本技术能获得较高性能。
文档编号G06F12/08GK101944068SQ201010259329
公开日2011年1月12日 申请日期2010年8月23日 优先权日2010年8月23日
发明者吴俊敏, 唐轶轩, 尹巍, 朱小东, 赵小雨, 隋秀峰 申请人:中国科学技术大学苏州研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1