In this paper, we analyze the state-of-the-art replacement policy based on Signature-Based Hit Prediction (SHiP). While we observe that the proposed SHiP implementation improves performance over the LRU policy on all configurations, we identify three areas of improvement. First, the policies for updating the counters in the Signature History Counter Table (SHCT) can be modified. Second, a broader range of insertion points for an incoming line can be used based on the value of the SHCT counter. Third, cache performance under prefetching can be enhanced by using a separate SHCT table for demand and prefetch lines and modifying the insertion/promotion of prefetch lines. We call our proposed implementation of SHiP with these enhancements as SHiP++. We evaluate SHiP++ on 17 benchmarks from the SPEC2006 suite. For the single-core without prefetching configuration, SHiP++ improves performance by 6.2% over LRU and 2.2% over SHiP. For the single-core with prefetching configuration, SHiP++ improves performance by 4.6% over LRU and 2.2% over SHiP. SHiP++ incurs an overhead of less than 20KB for managing the 2MB cache, well within the provisioned 32KB.
[1]
Jinchun Kim,et al.
Kill the Program Counter: Reconstructing Program Behavior in the Processor Cache Hierarchy
,
2017,
ASPLOS.
[2]
Onur Mutlu,et al.
Mitigating Prefetcher-Caused Pollution Using Informed Caching Policies for Prefetched Blocks
,
2014,
ACM Trans. Archit. Code Optim..
[3]
Carole-Jean Wu,et al.
PACMan: Prefetch-Aware Cache Management for high performance caching
,
2011,
2011 44th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).
[4]
Aamer Jaleel,et al.
High performance cache replacement using re-reference interval prediction (RRIP)
,
2010,
ISCA.
[5]
Carole-Jean Wu,et al.
SHiP: Signature-based Hit Predictor for high performance caching
,
2011,
2011 44th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).