• DocumentCode
    725327
  • Title

    Thread Migration in a Replicated-Kernel OS

  • Author

    Katz, David ; Barbalace, Antonio ; Ansary, Saif ; Ravichandran, Akshay ; Ravindran, Binoy

  • Author_Institution
    Appl. Phys. Lab., Johns Hopkins Univ., Baltimore, MD, USA
  • fYear
    2015
  • fDate
    June 29 2015-July 2 2015
  • Firstpage
    278
  • Lastpage
    287
  • Abstract
    Chip manufacturers continue to increase the number of cores per chip while balancing requirements for low power consumption. This drives a need for simpler cores and hardware caches. Because of these trends, the scalability of existing shared memory system software is in question. Traditional operating systems (OS) for multiprocessors are based on shared memory communication between cores and are symmetric (SMP). Contention in SMP OSes over shared data structures is increasingly significant in newer generations of many-core processors. We propose the use of the replicated-kernel OS design to improve scalability over the traditional SMP OS. Our replicated-kernel design is an extension of the concept of the multikernel. While a multikernel appears to application software as a distributed network of cooperating micro kernels, we provide the appearance of a monolithic, single-system image, task-based OS in which application software is unaware of the distributed nature of the underlying OS. In this paper we tackle the problem of thread migration between kernels in a replicated-kernel OS. We focus on distributed thread group creation, context migration, and address space consistency for threads that execute on different kernels, but belong to the same distributed thread group. This concept is embodied in our prototype OS, called Popcorn Linux, which runs on multicore x86 machines and presents a Linux-like interface to application software that is indistinguishable from the SMP Linux interface. By doing this, we are able to leverage the wealth of existing Linux software for use on our platform while demonstrating the characteristics of the underlying replicated-kernel OS. We show that a replicated-kernel OS scales as well as a multikernel OS by removing the contention on shared data structures. Popcorn, Barr elfish, and SMP Linux are compared on selected benchmarks. Popcorn is shown to be competitive to SMP Linux, and up to 40% faster.
  • Keywords
    Linux; multi-threading; shared memory systems; Barrelfish Linux; Popcorn Linux; SMP OSes; address space consistency; context migration; data structures; distributed thread group; distributed thread group creation; hardware caches; low power consumption; many-core processors; microkernels; multiprocessors; operating systems; prototype OS; replicated-kernel OS design; scalability improvement; shared memory communication; shared memory system software; single-system image; thread migration; Data structures; Hardware; Instruction sets; Kernel; Linux; Message systems; Linux; replicated-kernel OS; thread migration;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Distributed Computing Systems (ICDCS), 2015 IEEE 35th International Conference on
  • Conference_Location
    Columbus, OH
  • ISSN
    1063-6927
  • Type

    conf

  • DOI
    10.1109/ICDCS.2015.36
  • Filename
    7164914