• DocumentCode
    1514441
  • Title

    Supporting Overcommitted Virtual Machines through Hardware Spin Detection

  • Author

    Chakraborty, Koushik ; Wells, Philip M. ; Sohi, Gurindar S.

  • Author_Institution
    Electr. & Comput. Eng. Dept., Utah State Univ., Logan, UT, USA
  • Volume
    23
  • Issue
    2
  • fYear
    2012
  • Firstpage
    353
  • Lastpage
    366
  • Abstract
    Multiprocessor operating systems (OSs) pose several unique and conflicting challenges to System Virtual Machines (System VMs). For example, most existing system VMs resort to gang scheduling a guest OS´s virtual processors (VCPUs) to avoid OS synchronization overhead. However, gang scheduling is infeasible for some application domains, and is inflexible in other domains. In an overcommitted environment, an individual guest OS has more VCPUs than available physical processors (PCPUs), precluding the use of gang scheduling. In such an environment, we demonstrate a more than two-fold increase in application runtime when transparently virtualizing a chip-multiprocessor´s cores. To combat this problem, we propose a hardware technique to detect when a VCPU is wasting CPU cycles, and preempt that VCPU to run a different, more productive VCPU. Our technique can dramatically reduce cycles wasted on OS synchronization, without requiring any semantic information from the software. We then present a server consolidation case study to demonstrate the potential of more flexible scheduling policies enabled by our technique. We propose one such policy that logically partitions the CMP cores between guest VMs. This policy increases throughput by 10-25 percent for consolidated server workloads due to improved cache locality and core utilization.
  • Keywords
    multiprocessing systems; operating systems (computers); scheduling; virtual machines; virtualisation; CMP cores; OS synchronization; OS virtual processors; VCPU; cache locality; chip-multiprocessor core virtualization; core utilization; gang scheduling; hardware spin detection; multiprocessor operating systems; physical processors; server consolidation case study; system virtual machines; Arrays; Hardware; Kernel; Servers; Synchronization; Virtual machining; Multicore; operating systems.; synchronization; virtualization;
  • fLanguage
    English
  • Journal_Title
    Parallel and Distributed Systems, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    1045-9219
  • Type

    jour

  • DOI
    10.1109/TPDS.2011.143
  • Filename
    5765949