Survey of scheduling techniques for addressing shared resources in multicore processors
- 1 November 2012
- journal article
- research article
- Published by Association for Computing Machinery (ACM) in ACM Computing Surveys
- Vol. 45 (1), 1-28
- https://doi.org/10.1145/2379776.2379780
Abstract
Chip multicore processors (CMPs) have emerged as the dominant architecture choice for modern computing platforms and will most likely continue to be dominant well into the foreseeable future. As with any system, CMPs offer a unique set of challenges. Chief among them is the shared resource contention that results because CMP cores are not independent processors but rather share common resources among cores such as the last level cache (LLC). Shared resource contention can lead to severe and unpredictable performance impact on the threads running on the CMP. Conversely, CMPs offer tremendous opportunities for mulithreaded applications, which can take advantage of simultaneous thread execution as well as fast inter thread data sharing. Many solutions have been proposed to deal with the negative aspects of CMPs and take advantage of the positive. This survey focuses on the subset of these solutions that exclusively make use of OS thread-level scheduling to achieve their goals. These solutions are particularly attractive as they require no changes to hardware and minimal or no changes to the OS. The OS scheduler has expanded well beyond its original role of time-multiplexing threads on a single core into a complex and effective resource manager. This article surveys a multitude of new and exciting work that explores the diverse new roles the OS scheduler can successfully take on.Keywords
Funding Information
- Spanish government's research (TIN2008-005089)
- Ingenio 2010 Consolider (ESP00C-07-20811)
This publication has 79 references indexed in Scilit:
- Program locality analysis using reuse distanceACM Transactions on Programming Languages and Systems, 2009
- Enhancing operating system support for multicore processors by using hardware performance monitoringACM SIGOPS Operating Systems Review, 2009
- FlexDCPACM SIGOPS Operating Systems Review, 2009
- Improving fairness, throughput and energy-efficiency on a chip multiprocessor through DVFSACM SIGARCH Computer Architecture News, 2007
- CMP cache performance projectionACM SIGARCH Computer Architecture News, 2007
- From chaos to QoSACM SIGARCH Computer Architecture News, 2007
- Dynamic Partitioning of Shared Cache MemoryThe Journal of Supercomputing, 2004
- Cilk: An Efficient Multithreaded Runtime SystemJournal of Parallel and Distributed Computing, 1996
- Optimal partitioning of cache memoryIEEE Transactions on Computers, 1992
- The working set model for program behaviorCommunications of the ACM, 1968