• DocumentCode
    2242369
  • Title

    A Scheduling Method for Avoiding Kernel Lock Thrashing on Multi-cores

  • Author

    Cui, Yan ; Zhang, Weida ; Chen, Yu ; Shi, Yuanchun

  • Author_Institution
    Dept. of Comput. Sci. & Technol., Tsinghua Univ., Beijing, China
  • fYear
    2010
  • fDate
    8-10 Dec. 2010
  • Firstpage
    17
  • Lastpage
    26
  • Abstract
    Multi-core architectures have been adopted in various computing environments. Predictions based on Moore´s Law state that thousands of cores can be integrated on a single chip within 10 years. To achieve better performance and scalability on multi-cores, applications should be multi-threaded, and therefore threads assigned on different cores can execute concurrently. However, lock contention in kernels can affect the scalability so significantly that the speedup decreases with the increasing number of cores (thrashing). Existing efforts to address this problem mainly focus on deferring lock thrashing, and therefore these techniques cannot prevent thrashing fundamentally. In this paper, we propose to use lock-aware scheduling to avoid thrashing. Our method detects thrashing on a per-thread basis and migrates contended threads to a smaller set of cores. The optimal number of cores is determined by maximizing the proposed normalized throughput model of migrated threads. The proposed method is implemented in Linux 2.6.29.4 and evaluated on a 32-core system. Experimental results on a series of lock-intensive micro- and macro-benchmarks show the effectiveness: for 3 of 5 workloads exhibiting thrashing behaviour, lock-aware scheduling can detect the speedup decrease accurately and sustain the maximal speedup, for the remaining 2 workloads, the performance can be improved greatly although the maximal speedup is not sustained, for 1 workload which does not suffer thrashing, the method introduces negligible runtime overhead.
  • Keywords
    multiprocessing systems; operating system kernels; parallel architectures; processor scheduling; 32-core system; Linux 2.6.29.4; Moore´s law; computing environment; kernel lock thrashing; lock-aware scheduling; lockaware scheduling; migrated threads; multicore architecture; negligible runtime overhead; normalized throughput model; per-thread basis; thrashing behaviour; lock thrashing; multi-core; scheduling;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Parallel and Distributed Systems (ICPADS), 2010 IEEE 16th International Conference on
  • Conference_Location
    Shanghai
  • ISSN
    1521-9097
  • Print_ISBN
    978-1-4244-9727-0
  • Electronic_ISBN
    1521-9097
  • Type

    conf

  • DOI
    10.1109/ICPADS.2010.31
  • Filename
    5695581