Skip to main content
QUICK REVIEW

[论文解读] MANA: Microarchitecting an Instruction Prefetcher

Ali Ansari, Fatemeh Golshan|arXiv (Cornell University)|Feb 2, 2021
Parallel Computing and Optimization Techniques参考文献 54被引用 8
一句话总结

MANA 是一种高性能、存储高效的指令预取器,利用指令访问模式中的空间相关性,创建紧凑、最小化的元数据记录,并通过链式结构实现鲁棒的预取。其存储成本仅为 PIF 的 1/15.7,同时达到 PIF 级别的性能,且在相同存储预算下,相比 RDIP 和 Shotgun 分别提升 12.5% 和 29%。

ABSTRACT

L1 instruction (L1-I) cache misses are a source of performance bottleneck. Sequential prefetchers are simple solutions to mitigate this problem; however, prior work has shown that these prefetchers leave considerable potentials uncovered. This observation has motivated many researchers to come up with more advanced instruction prefetchers. In 2011, Proactive Instruction Fetch (PIF) showed that a hardware prefetcher could effectively eliminate all of the instruction-cache misses. However, its enormous storage cost makes it an impractical solution. Consequently, reducing the storage cost was the main research focus in the instruction prefetching in the past decade. Several instruction prefetchers, including RDIP and Shotgun, were proposed to offer PIF-level performance with significantly lower storage overhead. However, our findings show that there is a considerable performance gap between these proposals and PIF. While these proposals use different mechanisms for instruction prefetching, the performance gap is largely not because of the mechanism, and instead, is due to not having sufficient storage. Prior proposals suffer from one or both of the following shortcomings: (1) a large number of metadata records to cover the potential, and (2) a high storage cost of each record. The first problem causes metadata miss, and the second problem prohibits the prefetcher from storing enough records within reasonably-sized storage.

研究动机与目标

  • 解决现代处理器中因 L1 指令缓存未命中而造成的持续性能瓶颈。
  • 克服以往预取器因存储资源不足和元数据成本过高,而无法充分发挥性能潜力的局限。
  • 设计一种单位存储成本下性能最优的指令预取器,通过优化元数据表示和微架构实现。
  • 证明高性能预取的关键不在于复杂机制,而在于通过智能元数据设计最小化存储开销。

提出的方法

  • 将指令访问模式中的高空间相关性识别为构建紧凑、高精度元数据记录的基础。
  • 基于空间相关性设计元数据结构,以减少记录数量并降低每条记录的位数。
  • 实现链式机制,将元数据记录链接起来,实现在不同指令流中及时且鲁棒的预取。
  • 对预取器进行微架构设计,以最小化存储使用量,同时在元数据存储中保持高命中率。
  • 在受限存储预算下评估 MANA,并通过全系统仿真与 PIF、RDIP 和 Shotgun 进行直接比较。
  • 引入 MANA 的一种零存储开销变体,以评估在极致效率场景下的性能权衡。

实验结果

研究问题

  • RQ1为何最先进的指令预取器如 RDIP 和 Shotgun 尽管采用不同机制,仍无法达到 PIF 的性能?
  • RQ2PIF 与其他预取器之间的性能差距,有多少是由于元数据存储限制而非算法差异造成的?
  • RQ3能否利用指令访问模式中的空间相关性,设计出紧凑且高准确率的元数据结构用于预取?
  • RQ4元数据链式结构在极低存储开销下,对提升预取鲁棒性和及时性有多大的有效性?
  • RQ5与高性能但存储密集型的基线(如 PIF)相比,存储优化型预取器的性能上限是什么?

主要发现

  • PIF 与以往预取器(如 RDIP 和 Shotgun)之间的性能差距主要源于存储资源不足和元数据成本过高,而非底层机制的差异。
  • MANA 仅以 15.7× 的存储成本实现了 PIF 级别的性能,证明了存储效率是高性能预取的关键。
  • 在相同存储预算下,MANA 相比 RDIP 提升 12.5%,相比 Shotgun 提升 29%,证实了其元数据设计的有效性。
  • MANA 的零存储开销变体达到了完整版本峰值性能收益的 98%,表明极简元数据仍可实现接近最优的结果。
  • 减小 L1-I 缓存大小会增加 L1-I 外部带宽使用(最大达 2.65×,当缓存为 8 KB 时),但这一影响被显著的性能提升以及因缓存行提升而减少的 L2 流量所抵消。
  • 大多数 L1-I 请求由 L2 缓存服务,L1-I 未命中会导致 L2 缓存行被提升,这在某些情况下可减少 L2 外部带宽。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。