Title :
Exploiting inter-thread temporal locality for chip multithreading
Author :
Meng, Jiayuan ; Sheaffer, Jeremy W. ; Skadron, Kevin
Author_Institution :
Dept. of Comput. Sci., Univ. of Virginia, Charlottesville, VA, USA
Abstract :
Multi-core organizations increasingly support multiple threads per core. Threads on a core usually share a single first-level data cache, so thread schedulers must try to minimize cache contention among threads. While this has been studied for concurrent threads with disjoint working sets, the problem has not been addressed for multi-threaded data-parallel workloads in which threads can be scheduled or constructed to improve inter-thread cache sharing. This paper proposes the symbiotic affinity scheduling (SAS) algorithm in which work is first partitioned according to the number of cores (i.e., the number of caches), and these partitions are then subdivided and scheduled among each core´s available thread contexts so that threads sharing a core operate on neighboring elements to maximize cache locality. We demonstrate this concept with a series of data-parallel benchmarks. Simulations on M5 achieve an average speedup of 1.69?? and 36% energy savings over conventional scheduling techniques that are oblivious to whether threads share a cache. Even compared to an approach that extends oblivious scheduling to ensure that the sum of the threads´ working sets fits in the cache, symbiotic affinity scheduling is able to exploit greater temporal locality and provide 30% performance gains on average. Symbiosis also outperforms adaptive contention reduction techniques by 17%.
Keywords :
multi-threading; multiprocessing systems; parallel processing; scheduling; chip multithreading; data-parallel benchmark; interthread temporal locality; multicore organization; symbiotic affinity scheduling; thread scheduler; Bandwidth; Computer science; Multithreading; Parallel processing; Partitioning algorithms; Processor scheduling; Scheduling algorithm; Symbiosis; Synthetic aperture sonar; Yarn; chip multithreading; data locality; data parallelism; fine-grained parallelism; task scheduling;
Conference_Titel :
Parallel & Distributed Processing (IPDPS), 2010 IEEE International Symposium on
Conference_Location :
Atlanta, GA
Print_ISBN :
978-1-4244-6442-5
DOI :
10.1109/IPDPS.2010.5470465