A Comparative Review of Contention-Aware Scheduling Algorithms to Avoid Contention in Multicore Systems

  • Genti Daci
  • Megi Tartari
Conference paper
Part of the Lecture Notes in Electrical Engineering book series (LNEE, volume 150)


Contention for shared resources on multicore processors is an emerging issue of great concern, as it affects directly performance of multicore CPU systems. In this regard, Contention-Aware scheduling algorithms provide a convenient and promising solution, aiming to reduce contention. By providing a collection of the scheduling methods proposed by latest research, this paper focuses on reviewing the challenges on solving the contention problem for UMA(Uniform Memory Access latency, single memory controller) and NUMA(Non Uniform Memory Access latencies, multiple memory controllers) types of system architectures. In this paper, we also provide a comparative evaluation of the solutions applicable to UMA systems which are the most extensively studied today, discussing their features, strengths and weaknesses. This paper aims to propose further improvements to these algorithms aiming to solve more efficiently the contention problem, considering that performance-asymmetric architectures may provide a cost-effective solution.


Uniform memory access (UMA) Multicore CPU systems Contention-aware scheduling Non uniform memory access (NUMA) Vector balancing scheduling OBS-X scheduler DIO scheduler DINO scheduler AMPS scheduler 


  1. 1.
    Blagodurov S, Zhuravlev S, Fedorova A (2010) Contention-aware scheduling on multicore systems. ACM Trans Comput Syst 28 Google Scholar
  2. 2.
    BlagodurovS, Zhuravlev S, Dashti M, Fedorova A (2011) A case for NUMA-aware contention management on multicore systems. In: The 2011 USENIX annual technical conference, pp 1–9Google Scholar
  3. 3.
    Goglin B, Furmento N (2009) Enabling high-performance memory migration for multithreaded applications on Linux. In: Proceedings of IPDPSGoogle Scholar
  4. 4.
    Jiang Y, Shen X, Chen J, Tripathi R (2008) Analysis and approximation of optimal co-scheduling on chip multiprocessors. In: Proceedings of the 17th international conference on parallel architectures and compilation techniques (PACT ‘08), pp 220–229Google Scholar
  5. 5.
    Kamali A (2010) Sharing aware scheduling on multicore systems. Master’s thesis, Simon Fraser UniversityGoogle Scholar
  6. 6.
    Knauerhase R, Brett P, Hohlt B, Hahn S (2008) Using OS observations to improve performance in multicore systems. IEEE Micro 28(3):54–58Google Scholar
  7. 7.
    Li T, Baumberger D, Koufaty DA, Hahn S (2007) Efficient operating system scheduling for performance-asymmetric multi-core architectures. In: Proceedings of supercomputing, pp 1–4, 8–10Google Scholar
  8. 8.
    Lin J, Lu Q, Ding X, Zhang Z, Zhang X, Sadayappan P (2008) Gaining insights into multicore cache partitioning: bridging the gap between simulation and real systems. In: Proceedings of international symposium on high performance computer architecture, pp 1–5Google Scholar
  9. 9.
    Merkel A, Stoess J, Bellosa F (2010) Resource-conscious scheduling for energy efficiency on multicore processors. In: Proceedings of EuroSys, pp6–8, 11–13Google Scholar
  10. 10.
    Qureshi MK, Patt YN (2006) Utility-based cache partitioning: a low overhead, high-performance, runtime mechanism to partition shared caches. In: Proceedings of the 39th annual IEEE/ACM international symposium on microarchitecture, MICRO 39, pp 1–3Google Scholar
  11. 11.
    Shelepov D, Saez Alcaide JC, Jefferym S, Fedorova A, Perez N, Huang ZF, Blagodurov S, Kumar V (2009) A scheduler for heterogeneous multicore systems. SIGOPS Oper Rev 43(2)Google Scholar
  12. 12.
    Fedorova A, Seltzer MI, Smith, MD (2007) Improving performance isolation on chip multiprocessors via an operating system scheduler. In: Proceedings of the sixteenth international conference on parallel architectures and compilation techniques (PACT’07), pp 25–38Google Scholar
  13. 13.
    Chandra D, Guo F, Kim S, Solihin, Y (2005) Predicting inter-thread cache contention on a chip multi-processor architecture. In Proceedings of the 11th international symposium on high performance computer architecture, HPCA’05Google Scholar
  14. 14.
    Tam D, Azimi R, Stumm M (2007) Thread clustering: sharing-aware scheduling on SMP–CMP–SMT multiprocessors. In: Proceedings of EuroSys 2007Google Scholar
  15. 15.
    Xie Y, Loh G (2008) Dynamic classification of program memory behaviors in CMPs. In: Proceeding of CMP-MSI, pp 2–4Google Scholar
  16. 16.
    McGregor RL, Antonopoulos CD, Nikolopoulos DS Scheduling algorithms for effective thread pairing on irbid mutiprocessors. In: Proceedings of the 19th ieee international parallel and distributed processing symposium (IPDPS’05)Google Scholar
  17. 17.
    Zhang X, Dwarkadas S, Shen K (2009) Towards practical page coloring-based multicore cache management. In: Proceedings of the 4th ACM European conference on computer systems 2009Google Scholar
  18. 18.
    Zhang EZ, Jiang Y, Shen X (2010) Does cache sharing on modern CMP matter to the performance of contemporary multithreaded programs? In: Proceedings of PPOPPGoogle Scholar
  19. 19.
    Zhuravlev S, Blagodurov S, Fedorova A (2010) Addressing contention on multicore processors via scheduling. In: Proceedings of ASPLOS, pp 1–6Google Scholar

Copyright information

© Springer Science+Business Media New York 2013

Authors and Affiliations

  1. 1.Faculty of Information TechnologyPolytechnic University of TiranaTiranaAlbania

Personalised recommendations