Title :
Randomized cache placement for eliminating conflicts
Author :
Topham, Nigel ; González, Antonio
Author_Institution :
Inst. for Comput. Syst. Archit., Edinburgh Univ., UK
fDate :
2/1/1999 12:00:00 AM
Abstract :
Applications with regular patterns of memory access can experience high levels of cache conflict misses. In shared-memory multiprocessors conflict misses can be increased significantly by the data transpositions required for parallelization. Techniques such as blocking which are introduced within a single thread to improve locality, can result in yet more conflict misses. The tension between minimizing cache conflicts and the other transformations needed for efficient parallelization leads to complex optimization problems for parallelizing compilers. This paper shows how the introduction of a pseudorandom element into the cache index function can effectively eliminate repetitive conflict misses and produce a cache where miss ratio depends solely on working set behavior. We examine the impact of pseudorandom cache indexing on processor cycle times and present practical solutions to some of the major implementation issues for this type of cache. Our conclusions are supported by simulations of a superscalar out-of-order processor executing the SPEC95 benchmarks, as well as from cache simulations of individual loop kernels to illustrate specific effects. We present measurements of instructions committed per cycle (IPC) when comparing the performance of different cache architectures on whole-program benchmarks such as the SPEC95 suite
Keywords :
cache storage; memory architecture; parallelising compilers; shared memory systems; software performance evaluation; SPEC95 benchmarks; cache architectures; cache conflict misses; cache index function; cache simulations; complex optimization problems; data transpositions; memory access; parallelization; parallelizing compilers; pseudorandom element; randomized cache placement; shared-memory multiprocessors; simulations; whole-program benchmarks; Clocks; Computer Society; Frequency; Indexing; Kernel; Optimizing compilers; Out of order; Random access memory; Tiles; Yarn;
Journal_Title :
Computers, IEEE Transactions on