Simple penalty-sensitive replacement policies for caches

  • Authors:
  • Jaeheon Jeong;Per Stenström;Michel Dubois

  • Affiliations:
  • Intel, Hillsboro, OR;Chalmers University of Technology Gothenburg, SWEDEN;University of Southern California, Los Angeles, CA

  • Venue:
  • Proceedings of the 3rd conference on Computing frontiers
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

Classic cache replacement policies assume that miss costs are uniform. However, the correlation between miss rate and cache performance is not as straightforward as it used to be. Ultimately, the true cost measure of a miss should be the penalty, i.e. the actual processing bandwidth lost because of the miss. It is known that, contrary to loads, the penalty of stores is mostly hidden in modern processors. To take advantage of this observation, we propose simple schemes to replace load misses by store misses. We extend classic replacement algorithms such as LRU (Least Recently Used) and PLRU (Partial LRU) to reduce the aggregate miss penalty instead of the miss count.One key issue is to predict the next access type to a block, so that higher replacement priority is given to blocks that will be accessed next with a store. We introduce and evaluate various prediction schemes based on instructions, and broadly inspired from branch predictors. To guide the design we run extensive trace-driven simulations on eight Spec95 benchmarks with a wide range of cache configurations and observe that our simple penalty-sensitive policies yield positive load miss improvements over classic algorithms across most the benchmarks and cache configurations. In some cases the improvements are very large.