The Community for Technology Leaders
Green Image
Issue No. 02 - February (2012 vol. 23)
ISSN: 1045-9219
pp: 353-366
Philip M. Wells , Google, Inc., Madison
Gurindar S. Sohi , University of Wisconsin-Madison, Madison
Koushik Chakraborty , Utah State University, Logan
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.
INDEX TERMS
Multicore, virtualization, synchronization, operating systems.
CITATION
Philip M. Wells, Gurindar S. Sohi, Koushik Chakraborty, "Supporting Overcommitted Virtual Machines through Hardware Spin Detection", IEEE Transactions on Parallel & Distributed Systems, vol. 23, no. , pp. 353-366, February 2012, doi:10.1109/TPDS.2011.143
126 ms
(Ver )