Dead Block Replacement and Bypass with a Sampling
Dead Block Replacement and Bypass with a Sampling Predictor Daniel A. Jiménez Department of Computer Science The University of Texas at San Antonio
Main Idea • Dead blocks – Will not be used before they are evicted – Can by identified through prediction • Dead block replacement and bypass – Replace predicted dead blocks – Quicker than waiting for them to become LRU – Bypass “dead on arrival” blocks
Improves Cache Efficiency (a)– LRU replacement (b)– Dead block replacement and bypass improves cache efficiency from 22% to 87% for 456. hmmer
PC-Based Prediction • Memory instruction PC indexes counters – Like a branch predictor • Does this PC lead to block death? – Yes, increment counter – No, decrement counter • Predict this PC will lead to block death? – Yes, if counter exceeds threshold • Based on reference trace predictor
Sampling • Sampler: A few sets of partial tags – Managed by LRU replacement – Keep track of PCs that lead to block death – Generalize predictions to entire cache • In the cache – Only one bit of storage needed per block – Keeps track of latest prediction – Previous schemes need a lot more metadata – Previous predictors would not fit in budget
Tricks • Sampler has lower associativity – 12 in the sampler, 16 in the cache • Sampler uses dead block replacement, too – Learns to replace its own tags more quickly – But the sampler doesn’t bypass itself • Predictor uses skewed indexing – Improves accuracy over using a single table • One table uses resetting counters
Skewed Predictor
Results – Single Thread
Results – Multi-Core
Come to HPCA in San Antonio!
- Slides: 10