Accurate Data Distribution into Blocks may Boost Cache Performance
Résumé
Applications often under-utilize cache space and there are no software locality optimization techniques available for non-scientific applications. We propose that data redistribution in memory be used to modify reference patterns to improve locality of references. To understand the potential of such an approach and to explain where gains come from, we introduce distribution misses, and define a correlation metric to evaluate spatial locality. Data distribution can help reduce capacity and conflict misses in regular caches, as our experimental results to show. We use as example a profile-based scalar data layout heuristic, which was able to remove up to 76% of the direct-mapped cache miss ratio on some benchmark traces.