Paper Details
Reference:
David Tam, Reza Azimi, and Michael Stumm,
"Thread clustering: Sharing-aware scheduling on SMP-CMP-SMT multiprocessors",
In Proceedings of the 2nd ACM SIGOPS/EuroSys European Conference on Computer Systems (EuroSys'07), Lisbon, Portugal, ACM, New York, NY, USA, March, 2007, pp. 47–58.
Download:
Abstract:
The major chip manufacturers have all introduced chip multiprocessing (CMP) and simultaneous multithreading (SMT) technology into their processing units. As a result, even low-end computing systems and game consoles have become shared memory multiprocessors with L1 and L2 cache sharing within a chip. Mid- and large-scale systems will have multiple processing chips and hence consist of an SMP-CMP-SMT configuration with non-uniform data sharing overheads. Current operating system schedulers are not aware of these new cache organizations, and as a result, distribute threads across processors in a way that causes many unnecessary, long-latency cross-chip cache accesses.
In this paper we describe the design and implementation of a scheme to schedule threads based on sharing patterns detected online using features of standard performance monitoring units (PMUs) available in today's processing units. The primary advantage of using the PMU infrastructure is that it is fine-grained (down to the cache line) and has relatively low overhead. We have implemented our scheme in Linux running on an 8-way Power5 SMP-CMP-SMT multi-processor. For commercial multithreaded server workloads (VolanoMark, SPECjbb, and RUBiS), we are able to demonstrate reductions in cross-chip cache accesses of up to 70%. These reductions lead to application-reported performance improvements of up to 7%.
Keywords:
operating systems, CMP, SMP, SMT, affinity scheduling, cache behavior, cache locality, detecting sharing, hardware performance counters, hardware performance monitors, multithreading, performance monitoring unit, resource allocation, shared caches, sharing, simultaneous multithreading, single-chip multiprocessors, thread migration, thread placement, thread scheduling
Reference Info:
DOI: 10.1145/1272996.1273004
ACMid: 1273004
ISBN: 978-1-59593-636-3
ISSN: 0163-5980
OCLC: 209403709
BibTeX:
@inproceedings(Tam-EUROSYS07, author = {David Tam and Reza Azimi and Michael Stumm}, title = {Thread clustering: {Sharing}-aware scheduling on {SMP-CMP-SMT} multiprocessors}, booktitle = {Proceedings of the 2nd ACM SIGOPS/EuroSys European Conference on Computer Systems (\textbf{EuroSys'07})}, location = {Lisbon, Portugal}, organization = {ACM}, address = {New York, NY, USA}, month = {March}, year = {2007}, pages = {47-58}, doi = {10.1145/1272996.1273004}, isbn = {978-1-59593-636-3}, issn = {0163-5980}, keywords = {operating systems, CMP, SMP, SMT, affinity scheduling, cache behavior, cache locality, detecting sharing, hardware performance counters, hardware performance monitors, multithreading, performance monitoring unit, resource allocation, shared caches, sharing, simultaneous multithreading, single-chip multiprocessors, thread migration, thread placement, thread scheduling} )