Hybrid CPU management for adapting to the diversity of virtual machines

Chuliang Weng, Minyi Guo, Yuan Luo, Minglu Li

Research output: Contribution to journalArticlepeer-review

5 Scopus citations

Abstract

As an important cornerstone for clouds, virtualization plays a vital role in building this emerging infrastructure. Virtual machines (VMs) with a variety of workloads may run simultaneously on a physical machine in the cloud platform. The scheduling algorithm used in Xen schedules virtual CPUs (VCPUs) of a VM asynchronously and guarantees the proportion of the CPU time allocated to the VM. This proportional sharing (PS) method is beneficial as it simplifies the implementation of CPU scheduling in the virtual machine monitor (VMM), and can deliver near-native performance for some workloads. However, when workloads in VMs are concurrent applications such as multithreaded programs with the synchronization operation, it has been demonstrated that this method in the VMM can reduce the performance, due to the negative impact of virtualization on synchronization. To address this issue, we present a hybrid scheduling framework for CPU management in the VMM to adapt to the diversity of VMs running simultaneously on a physical machine. We implement a hybrid scheduler based on Xen, and experimental results indicate that the hybrid CPU management method is feasible to mitigate the negative influence of virtualization on synchronization, and improve the performance of concurrent applications in the virtualized system, while maintaining the performance of high-throughput applications.

Original languageEnglish
Article number6178237
Pages (from-to)1332-1344
Number of pages13
JournalIEEE Transactions on Computers
Volume62
Issue number7
DOIs
StatePublished - 2013
Externally publishedYes

Keywords

  • CPU management
  • Virtual machine
  • Xen
  • virtual machine monitor

Fingerprint

Dive into the research topics of 'Hybrid CPU management for adapting to the diversity of virtual machines'. Together they form a unique fingerprint.

Cite this