Kill the Program Counter: Reconstructing Program Behavior in the Processor Cache Hierarchy
Kill the Program Counter: Reconstructing Program Behavior in the Processor Cache Hierarchy
复制标题
杀死程序计数器:重建处理器缓存层次结构中的程序行为
DOI:
10.1145/3037697.3037701
复制
发表时间:
2017
期刊:
影响因子:
--
通讯作者:
C. Wilkerson
中科院分区:
文献类型:
--
作者:
Jinchun Kim;Elvira Teran;Paul V. Gratz;Daniel A. Jiménez;Seth H. Pugsley;C. Wilkerson
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:
10.1109/micro.2016.7783705
发表时间:
2016
期刊:
2016 49th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO
影响因子:
--
作者:
Teran, Elvira;Wang, Zhe;Jimenez, Daniel A.
通讯作者:
Jimenez, Daniel A.