Mitigating Prefetcher-Caused Pollution Using Informed Caching Policies for Prefetched Blocks

被引:30
作者
Seshadri, Vivek [1 ]
Yedkar, Samihan [1 ]
Xin, Hongyi [1 ]
Mutlu, Onur [1 ]
Gibbons, Phillip B. [2 ]
Kozuch, Michael A. [2 ]
Mowry, Todd C. [1 ]
机构
[1] Carnegie Mellon Univ, Pittsburgh, PA 15213 USA
[2] Intel Pittsburgh, Collaborat Innovat Ctr, Pittsburgh, PA 15213 USA
基金
美国国家科学基金会;
关键词
Design; Performance; Memory; Prefetching; caches; cache pollution; cache insertion/promotion policy;
D O I
10.1145/2677956
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Many modern high-performance processors prefetch blocks into the on-chip cache. Prefetched blocks can potentially pollute the cache by evicting more useful blocks. In this work, we observe that both accurate and inaccurate prefetches lead to cache pollution, and propose a comprehensive mechanism to mitigate prefetcher-caused cache pollution. First, we observe that over 95% of useful prefetches in a wide variety of applications are not reused after the first demand hit (in secondary caches). Based on this observation, our first mechanism simply demotes a prefetched block to the lowest priority on a demand hit. Second, to address pollution caused by inaccurate prefetches, we propose a self-tuning prefetch accuracy predictor to predict if a prefetch is accurate or inaccurate. Only predicted-accurate prefetches are inserted into the cache with a high priority. Evaluations show that our final mechanism, which combines these two ideas, significantly improves performance compared to both the baseline LRU policy and two state-of-the-art approaches to mitigating prefetcher-caused cache pollution (up to 49%, and 6% on average for 157 two-core multiprogrammed workloads). The performance improvement is consistent across a wide variety of system configurations.
引用
收藏
页数:22
相关论文
共 51 条
[1]  
Alaa R, 2007, HPCA
[2]  
Albericio J., 2013, MICRO
[3]  
AMD, 2012, IEEE TC
[4]  
[Anonymous], 2009, MICRO
[5]  
[Anonymous], 2000, ASPLOS
[6]  
[Anonymous], 2011, ISCA
[7]  
[Anonymous], 2008, IEEE MICRO
[8]  
[Anonymous], 2009, MICRO
[9]  
[Anonymous], 2009, MICRO
[10]  
[Anonymous], 2009, HPCA