DocumentCode
1486471
Title
Randomized cache placement for eliminating conflicts
Author
Topham, Nigel ; González, Antonio
Author_Institution
Inst. for Comput. Syst. Archit., Edinburgh Univ., UK
Volume
48
Issue
2
fYear
1999
fDate
2/1/1999 12:00:00 AM
Firstpage
185
Lastpage
192
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;
fLanguage
English
Journal_Title
Computers, IEEE Transactions on
Publisher
ieee
ISSN
0018-9340
Type
jour
DOI
10.1109/12.752660
Filename
752660
Link To Document