Title :
Avoiding cache thrashing due to private data placement in last-level cache for manycore scaling
Author :
Meng, Jiayuan ; Skadron, Kevin
Author_Institution :
Dept. of Comput. Sci., Univ. of Virginia, Charlottesville, VA, USA
Abstract :
Without high-bandwidth broadcast, large numbers of cores require a scalable point-to-point interconnect and a directory protocol. In such cases, a shared, inclusive last level cache (LLC) can improve data sharing and avoid three-way communication for shared reads. However, if inclusion encompasses thread-private data, two problems arise with the shared LLC. First, current memory allocators align stack bases on page boundaries, which emerges as a source of severe conflict misses for large numbers of threads on data-parallel applications. Second, correctness does not require the private data to reside in the shared directory or the LLC. This paper advocates stack-base randomization that eliminates the major source of conflict misses for large numbers of threads. However, when capacity becomes a limitation for the directory or last-level cache, this is not sufficient. We then propose non-inclusive, semi-coherent cache organization (NISC) that removes the requirement for inclusion of private data and reduces capacity misses. Our data-parallel benchmarks show that these limitations prevent scaling beyond 8 cores, while our techniques allow scaling to at least 32 cores for most benchmarks. At 8 cores, stack randomization provides a mean speedup of 1.2X, but stack randomization with 32 cores gives a speedup of 2.7X over the best baseline configuration. Comparing to conventional performance with a 2 MB LLC, our technique achieves similar performance with a 256 KB LLC, suggesting LLCs may be typically overprovisioned. When very limited LLC resources are available, NISC can further improve system performance by 1.8X.
Keywords :
cache storage; multiprocessing systems; parallel processing; cache thrashing; data parallel application; data sharing; directory protocol; last level cache; manycore scaling; memory allocators; non-inclusive semi-coherent cache organization; private data placement; scalable point-to-point interconnect; shared directory; stack base randomization; thread-private data; Broadcasting; Computer science; Hardware; Large-scale systems; Multithreading; Protocols; Sun; System performance; Throughput; Yarn;
Conference_Titel :
Computer Design, 2009. ICCD 2009. IEEE International Conference on
Conference_Location :
Lake Tahoe, CA
Print_ISBN :
978-1-4244-5029-9
Electronic_ISBN :
1063-6404
DOI :
10.1109/ICCD.2009.5413143