Addressing shared resource contention in multicore processors via scheduling
- 5 March 2010
- journal article
- conference paper
- Published by Association for Computing Machinery (ACM) in ACM SIGPLAN Notices
- Vol. 45 (3), 129-142
- https://doi.org/10.1145/1735971.1736036
Abstract
Contention for shared resources on multicore processors remains an unsolved problem in existing systems despite significant research efforts dedicated to this problem in the past. Previous solutions focused primarily on hardware techniques and software page coloring to mitigate this problem. Our goal is to investigate how and to what extent contention for shared resource can be mitigated via thread scheduling. Scheduling is an attractive tool, because it does not require extra hardware and is relatively easy to integrate into the system. Our study is the first to provide a comprehensive analysis of contention-mitigating techniques that use only scheduling. The most difficult part of the problem is to find a classification scheme for threads, which would determine how they affect each other when competing for shared resources. We provide a comprehensive analysis of such classification schemes using a newly proposed methodology that enables to evaluate these schemes separately from the scheduling algorithm itself and to compare them to the optimal. As a result of this analysis we discovered a classification scheme that addresses not only contention for cache space, but contention for other shared resources, such as the memory controller, memory bus and prefetching hardware. To show the applicability of our analysis we design a new scheduling algorithm, which we prototype at user level, and demonstrate that it performs within 2\% of the optimal. We also conclude that the highest impact of contention-aware scheduling techniques is not in improving performance of a workload as a whole but in improving quality of service or performance isolation for individual applications.Keywords
This publication has 16 references indexed in Scilit:
- Rate-based QoS techniques for cache/memory in CMP platformsPublished by Association for Computing Machinery (ACM) ,2009
- HASSACM SIGOPS Operating Systems Review, 2009
- Towards practical page coloring-based multicore cache managementPublished by Association for Computing Machinery (ACM) ,2009
- Using OS Observations to Improve Performance in Multicore SystemsIEEE Micro, 2008
- Gaining insights into multicore cache partitioning: Bridging the gap between simulation and real systems2008 IEEE 14th International Symposium on High Performance Computer Architecture, 2008
- Microarchitecture-Independent Workload CharacterizationIEEE Micro, 2007
- Thread clusteringPublished by Association for Computing Machinery (ACM) ,2007
- Managing Distributed, Shared L2 Caches through OS-Level Page Allocation40th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO 2007), 2006
- PinPublished by Association for Computing Machinery (ACM) ,2005
- Memory Bandwidth Aware Scheduling for SMP Cluster NodesPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2005