摘要
当代CMP处理器通常采用基于LRU替换策略或其近似算法的共享最后一级Cache设计.然而,随着LLC容量和相联度的增长,LRU和理论最优替换算法之间的性能差距日趋增大.为此已提出多种Cache管理策略来解决这一问题,但是它们多数仅针对单一的内存访问类型,且对Cache访问的频率信息关注较少,因而性能提升具有很大的局限性.文中提出一种统一的Cache管理策略ELF,不仅可以覆盖多种访存行为,而且能够同时考虑程序中数据的临近性和使用频率信息.根据LLC中Cache块在其生命期内使用频率较低这一实验结果,ELF策略能够(1)通过基于计数的算法预测出无用块并将其尽早替换;(2)通过动态插入和提升策略过滤低重用数据,从而尽量保留那些潜在的活动数据并且使得一部分工作集免受低使用频率数据的干扰.在4路CMPs上的实验结果显示,ELF可以将全局性能平均提升14.5%,同时与PIPP和TADIP相比,可以分别达到1.06倍和1.09倍的加速比.
Abstract Modern CMP processors usually employ shared last level cache (LI.C) based on LRU replacement policy and its approximations. However, as the LLC grows in capacity and associa- tivity, the performance gap between the LRU and the theoretical optimal replacement algorithms has widened. Various alternative cache management technologies have been proposed to resolve this problem, but they only cover a single type of memory access behavior, and exploit little fre- quency information of cache accesses, thus have limited performance benefits. In this paper, we propose a unified cache management policy ELF which can cover a variety of memory behaviors and exploit both recency and frequency information of a program simultaneously. Motivatedbythe observation that cache blocks often exhibit a small number of uses during their life time in the LLC, ELF is designed to (1) predict dead lines through a counter-based mechanism and evict them early, (2) filter less reused blocks through dynamic insertion and promotion policies. Thereby, the potentially live blocks ere retained and most of the working set keeps undisturbed in the ELF managed L2 cache. Our evaluation on 4-way CMPs shows that ELF improves the overall performance by 14.5% on average over the LRU policy, and the performance benefit of ELF is 1.06x compared to PIPP and 1.09x compared to TADIP.
出处
《计算机学报》
EI
CSCD
北大核心
2011年第1期143-153,共11页
Chinese Journal of Computers
基金
国家"八六三"高技术研究发展计划项目基金(2008AA01Z111)
IBM大学合作联合研究项目(JSA200906010)
中国科学技术大学研究生创新基金(KD2008059)
国家自然科学基金重点项目(60533020)资助
关键词
多核
共享高速缓存
插入策略
替换算法
基于计数的算法
multi-core
shared cache
insertion policy
replacement algorithms
counter-based algorithms