Dynamic Cache Placement with Two-level Mapping to Reduce Conflict Misses

K. Rajan, R. Govindarajan, and A. Bharadwaj

Abstract

Due to the tight coupling between processor cycle time and L1 access time, L1 caches are typically small and have low associativities. As a consequence they incur a higher percentage of conflict misses than lower level caches. The extent of conflict depends on the memory access pattern exhibited by the program, and can vary from program to program. By using a fixed set of bits to index the cache, conventional mapping enforces the same rigid mapping from address to cache set for all programs. This results in a nonuniform distribution of addresses among cache sets causing unnecessary conflict misses. Such conflicts could be avoided if some flexibility in mapping is exercised. We propose a mechanism to dynamically adapt the placement function based on the memory access patterns exhibited by the program. Performance evaluation reveals that we reduce about 35% misses for conflict miss intensive benchmarks.

Details

Publication typeInproceedings
Published inProceedings of the 16th International Conference on Parallel Architecture and Compilation Techniques (PACT 2007)
PublisherIEEE Computer Society
> Publications > Dynamic Cache Placement with Two-level Mapping to Reduce Conflict Misses