• 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