paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Kill the Program Counter

消除程序计数器
ASPLOS Proceedings of the Twenty-Second International Conference on Architectural Support for Programming Languages and Operating Systems2017匹配度 1/10 · 该论文属于计算机体系结构中的缓存管理与预取/替换策略优化,核心是消除程序计数器传播以提升多核性能,与用户的 PL→AI、AI→PL、浮点程序分析、贝叶斯程序分析及 LLM 交叉方向均无直接关联。引用 65 inbox
Jinchun Kim, Elvira Teran, Paul V. Gratz, Daniel A. Jiménez, Seth H. Pugsley, Chris Wilkerson
crossref: 2026-09-12dblp: 2026-09-12

AI 速览

一句话:提出整体化缓存管理 KPC,融合预取与替换策略并消除 PC 传播,多核性能较最优组合提升 8%。

数据预取与缓存替换通常独立设计:预取器在私有缓存中工作,不与共享末级缓存(LLC)的替换策略交互;基于程序计数器(PC)的替换策略无法利用预取请求,因其不含 PC,且受编译器优化影响。本文提出整体化缓存管理技术 Kill-the-PC(KPC):其一,预取器根据预测置信度近似预取请求的未来使用距离;其二,采用简单替换策略,借助全局迟滞获得与当前最优 PC 策略相当或更好的性能;其三,将预取与替换整合为互惠系统,并避免在整个片上缓存层次中传播 PC。评估表明,在多核负载上 KPC 比现有最优预取器与替换策略组合的性能高 8%。

问题
传统数据预取器与 LLC 替换策略相互独立,PC 型替换策略无法从无 PC 的预取请求中学习,并受编译器优化干扰。
方法
KPC 用预测置信度估计预取请求的未来使用距离,用简单替换策略与全局迟滞,并将预取与替换信息双向整合,同时消除 PC 在片上缓存层次中的传播。
评估
在多核工作负载上对比现有最优 PC/非 PC 预取与替换组合,KPC 性能高 8%。
原文摘要(Abstract)

Data prefetching and cache replacement algorithms have been intensively studied in the design of high performance microprocessors. Typically, the data prefetcher operates in the private caches and does not interact with the replacement policy in the shared Last-Level Cache (LLC). Similarly, most replacement policies do not consider demand and prefetch requests as different types of requests. In particular, program counter (PC)-based replacement policies cannot learn from prefetch requests since the data prefetcher does not generate a PC value. PC-based policies can also be negatively affected by compiler optimizations. In this paper, we propose a holistic cache management technique called Kill-the-PC (KPC) that overcomes the weaknesses of traditional prefetching and replacement policy algorithms. KPC cache management has three novel contributions. First, a prefetcher which approximates the future use distance of prefetch requests based on its prediction confidence. Second, a simple replacement policy provides similar or better performance than current state-of-the-art PC-based prediction using global hysteresis. Third, KPC integrates prefetching and replacement policy into a whole system which is greater than the sum of its parts. Information from the prefetcher is used to improve the performance of the replacement policy and vice-versa. Finally, KPC removes the need to propagate the PC through entire on-chip cache hierarchy while providing a holistic cache management approach with better performance than state-of-the-art PC-, and non-PC-based schemes. Our evaluation shows that KPC provides 8% better performance than the best combination of existing prefetcher and replacement policy for multi-core workloads.

链接与引用

DOI 原文 · PDF(开放获取) · DBLP

BibTeX
@inproceedings{KimTGJPW17,
  title = {Kill the Program Counter},
  author = {Jinchun Kim and Elvira Teran and Paul V. Gratz and Daniel A. Jiménez and Seth H. Pugsley and Chris Wilkerson},
  booktitle = {ASPLOS},
  year = {2017},
  doi = {10.1145/3037697.3037701}
}