• DocumentCode
    569057
  • Title

    Reducing Scalability Collapse via Requester-Based Locking on Multicore Systems

  • Author

    Cui, Yan ; Wang, Yingxin ; Chen, Yu ; Shi, Yuanchun ; Han, Wei ; Liao, Xin ; Wang, Fei

  • Author_Institution
    Comput. Sci. & Technol. Dept., Tsinghua Univ., Beijing, China
  • fYear
    2012
  • fDate
    7-9 Aug. 2012
  • Firstpage
    298
  • Lastpage
    307
  • Abstract
    In response to the increasing ubiquity of multicore processors, there has been widespread development of multithreaded applications that strive to realize their full potential. Unfortunately, lock contention within operating systems can limit the scalability of multicore systems so severely that an increase in the number of cores can actually lead to reduced performance (i.e. scalability collapse). Existing lock implementations have disadvantages in scalability, resource utilization and energy efficiency. In this work, we observe that the number of tasks requesting a lock has a significant correlation with the occurrence of scalability collapse. Based on this observation, we propose a novel lock implementation that allows tasks blocked on a lock to either spin or maintain a power-saving state according to the number of lock requesters. We call our lock implementation protocol a requester-based lock and implement it in the Linux kernel to replace its default spin lock. Based on the results of an analysis, we find that the best policy for a task waiting for a lock to become free is to enter the power saving state immediately after noticing that the lock cannot be acquired. Our lock-requester based lock scheme is evaluated using micro- and macro-benchmarks on AMD 32-core and Intel 40-core systems. Experimental results indicate our lock scheme removes scalability collapse completely for most applications. Furthermore, our method shows better scalability and energy efficiency than mutex locks and adaptive locks.
  • Keywords
    Linux; energy conservation; multi-threading; multiprocessing systems; power aware computing; protocols; resource allocation; AMD 32-core systems; Intel 40-core systems; Linux kernel; default spin lock; energy efficiency; lock contention; lock-requester-based lock scheme; macrobenchmarks; microbenchmarks; multicore processors; multithreaded applications; operating systems; power-saving state; resource utilization; scalability collapse reduction; task waiting; Benchmark testing; Kernel; Linux; Monitoring; Multicore processing; Program processors; Scalability; energy efficiency; multicore; scalability collapse;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Modeling, Analysis & Simulation of Computer and Telecommunication Systems (MASCOTS), 2012 IEEE 20th International Symposium on
  • Conference_Location
    Washington, DC
  • ISSN
    1526-7539
  • Print_ISBN
    978-1-4673-2453-3
  • Type

    conf

  • DOI
    10.1109/MASCOTS.2012.42
  • Filename
    6298190