This paper presents a new cache replacement policy based on Instruction-based Reuse Distance Prediction (IbRDP) Replacement Policy originally proposed by Keramidas, Petoumenos, and Kaxiras [5] and further optimized by Petoumenos et al. [6]. In these works [5,6] we have proven that there is a strong correlation between the temporal characteristics of the cache blocks and the access patterns of instructions (PCs) that touch these cache blocks. Based on this observation we introduced a new class of instruction-based predictors which are able to directly predict with high accuracy at run-time when a cache block is going to be accessed in the future, a.k.a. the reuse distance of a cache block. Being able to predict the reuse distances of the cache blocks permits us to make near-optimal replacement decisions by “looking into the future.” In this work, we employ an extension of the IbRDP Replacement policy [6]. We carefully re-design the organization as well as the functionality of the predictor and the corresponding replacement algorithm in order to fit into the tight area budget provided by the CRC committee [3]. Since our proposal naturally supports the ability to victimize the currently fetched blocks by not caching them at all in the cache (Selective Caching), we submit for evaluation two versions: the base-IbRDP and the IbRDP enhanced with Selective Caching (IbRDP+SC). Our performance evaluations based on a subset of SPEC2006 applications show that IbRDP achieves an IPC improvement of 4.66% (arithmetic average) over traditional LRU, while IbRDP+SC is able to further increase its distance compared to the baseline LRU to 6.04%. Finally, we also show that IbRDP outperforms the previous state of the art proposal (namely Dynamic Insertion Policy or DIP [7]) by 2.32% in terms of IPC (3.81% for the IbRDP+SC).
[1]
Margaret Martonosi,et al.
Cache decay: exploiting generational behavior to reduce cache leakage power
,
2001,
ISCA 2001.
[2]
James R. Goodman,et al.
The declining effectiveness of dynamic caching for general- purpose microprocessors
,
1995
.
[3]
Aamer Jaleel,et al.
Adaptive insertion policies for high performance caching
,
2007,
ISCA '07.
[4]
Stefanos Kaxiras,et al.
Instruction-based reuse-distance prediction for effective cache management
,
2009,
2009 International Symposium on Systems, Architectures, Modeling, and Simulation.
[5]
Stefanos Kaxiras,et al.
Cache replacement based on reuse-distance prediction
,
2007,
2007 25th International Conference on Computer Design.
[6]
Laszlo A. Belady,et al.
A Study of Replacement Algorithms for Virtual-Storage Computer
,
1966,
IBM Syst. J..