首页> 外文会议>Proceedings of the 42nd Annual IEEE/ACM International Symposium on Microarchitecture >Pseudo-LIFO: The foundation of a new family of replacement policies for last-level caches
【24h】

Pseudo-LIFO: The foundation of a new family of replacement policies for last-level caches

机译:伪LIFO:新的替代策略系列的基础,用于最后一级的缓存

获取原文

摘要

Cache blocks often exhibit a small number of uses during their life time in the last-level cache. Past research has exploited this property in two different ways. First, replacement policies have been designed to evict dead blocks early and retain the potentially live blocks. Second, dynamic insertion policies attempt to victimize single-use blocks (dead on fill) as early as possible, thereby leaving most of the working set undisturbed in the cache. However, we observe that as the last-level cache grows in capacity and associativity, the traditional dead block prediction-based replacement policy loses effectiveness because often the LRU block itself is dead leading to an LRU replacement decision. The benefit of dynamic insertion policies is also small in a large class of applications that exhibit a significant number of cache blocks with small, yet more than one, uses. To address these drawbacks, we introduce pseudo-last-in-first-out (pseudo-LIFO), a fundamentally new family of replacement heuristics that manages each cache set as a fill stack (as opposed to the traditional access recency stack). We specify three members of this family, namely, dead block prediction LIFO, probabilistic escape LIFO, and probabilistic counter LIFO. The probabilistic escape LIFO (peLIFO) policy is the central contribution of this paper. It dynamically learns the use probabilities of cache blocks beyond each fill stack position to implement a new replacement policy. Our detailed simulation results show that peLIFO, while having less than 1% storage overhead, reduces the execution time by 10% on average compared to a baseline LRU replacement policy for a set of fourteen single-threaded applications on a 2 MB 16-way set associative L2 cache. It reduces the average CPI by 19% on average for a set of twelve multiprogrammed workloads while satisfying a strong fairness requirement on a four-core chip-multiprocessor with an 8 MB 16-way set associative shared L2 cache. Further, it reduces the p-arallel execution time by 17% on average for a set of six multi-threaded programs on an eight-core chip-multiprocessor with a 4 MB 16-way set associative shared L2 cache. For the architectures considered in this paper, the storage overhead of the peLIFO policy is one-fifth to half of that of a state-of-the-art dead block prediction-based replacement policy. However, the peLIFO policy delivers better average performance for the selected single-threaded and multiprogrammed workloads and similar average performance for the multi-threaded workloads compared to the dead block prediction-based replacement policy.
机译:高速缓存块在其最后一级高速缓存的生命周期中通常会显示少量用途。过去的研究以两种不同方式利用了此属性。首先,已设计了替换策略,以尽早清除死区并保留潜在的活动区。其次,动态插入策略试图尽早牺牲一次性块(填充时死),从而使大部分工作集在高速缓存中不受干扰。但是,我们观察到,随着最后一级缓存的容量和关联性的增长,传统的基于死块预测的替换策略会失去效力,因为LRU块本身通常会死掉,从而导致LRU替换决策。在具有大量使用量少但用途多的缓存块的大量应用程序中,动态插入策略的好处也很小。为了解决这些缺点,我们引入了伪后进先出(pseudo-LIFO),这是一种全新的替换启发式产品家族,可将每个缓存集作为填充堆栈进行管理(与传统的访问新近堆栈相反)。我们指定该家族的三个成员,即死块预测LIFO,概率逃生LIFO和概率计数器LIFO。概率逃生LIFO(peLIFO)策略是本文的主要贡献。它动态地了解每个填充堆栈位置之外的缓存块的使用概率,以实施新的替换策略。我们的详细模拟结果表明,与2个16 MB线程集上的十四个单线程应用程序的基线LRU替换策略相比,peLIFO的存储开销不到1%,但平均减少了10%的执行时间。关联的L2缓存。对于一组十二个多程序工作负载,它平均将平均CPI降低了19%,同时满足了具有8 MB 16路组共享共享L2高速缓存的四核芯片多处理器的强大公平性要求。此外,它还可以降低p- 在具有4 MB 16路集关联共享L2高速缓存的八核芯片多处理器上,一组六个多线程程序的平均执行时间平均减少了17%。对于本文考虑的架构,peLIFO策略的存储开销是基于最新的基于死块预测的替换策略的存储开销的五分之一到一半。但是,与基于死区预测的替换策略相比,peLIFO策略为选定的单线程和多程序工作负载提供了更好的平均性能,为多线程工作负载提供了相似的平均性能。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号