@[toc]
写在前面
本篇是cache压缩论文解读的第八篇,题目是Base-Victim Compression: An Opportunistic Cache Compression Architecture ,作者是来自intel的三位研究人员
背景知识
在过去的几十年里,处理技术的进步显著地提高了CPU的性能。不幸的是,存储技术并没有以同样的速度发展。每当必须从内存中完成CPU加载请求时,这会产生很大的开销。这种“内存墙”推动了缓存体系结构的创新和增强,以减少内存访问的性能损失。缓存管理机制的目标是通过及时预取、更精确的替换策略和更大的有效缓存容量来减少内存未命中。理想情况下,不同的缓存管理机制应该协作以减少未命中并提高性能。例如,先前的工作已经表明,末级缓存(LLC)压缩和预取之间的交互作用是积极的,与单独使用两种机制相比,这两种机制都能带来更大的性能改进。不幸的是,这种理想的关系并不适用于所有缓存管理策略。一些改进一种机制的优化可能会对另一种机制的性能产生负面影响。在这篇文章中,我们主要关注高效的末级缓存压缩以提高低开销的性能。我们发现缓存替换和压缩机制之间存在负交互,当两者一起实现时,会导致性能下降。在许多情况下,优化压缩带来的缓存容量增加会导致次优替换决策,这会损害最新替换策略带来的性能收益。
缓存压缩已经被提出用来增加有效的缓存容量,这可能会减少容量和冲突未命中。然而,缓存压缩实现的复杂性可能会增加缓存功率和访问延迟。另一方面,高级缓存替换机制使用启发式方法来减少未命中,从而显著提高性能。缓存压缩和替换策略都应该协作以提高性能。
论文贡献
在本文中,我们做出了以下主要贡献:
- 我们展示了压缩如何与高级缓存替换策略产生负面影响,从而导致显著的性能损失。
- 我们强调了一些被忽略的一般压缩架构的开销。
- 我们提出了一个机会主义(基本受害者)压缩架构,避免了与替换策略的负面交互和先前压缩工作的开销。通过设计,我们的架构保证任何程序的缓存命中率与未压缩的缓存相同或更高。
- 我们的方案在单线程和多程序工作负载方面都取得了显著的性能改进。机会压缩通过加倍标签增加了8.5%的LLC区域开销,但平均性能相当于缓存容量增加了50%。此性能是在不降低与未压缩缓存相关的任何工作负载的命中率的情况下实现的。