Scheduling overcommitted VM: Behavior monitoring and dynamic switching-frequency scaling

Virtualization enables multiple guest operating systems run on a single physical platform. These virtual machines (i.e., VM) may host any type of application, including concurrent HPC programs. Traditionally, VMM schedulers have focused on fairly sharing the processor resources among VMs, rarely consider VCPUs' behaviors. However, this can result in poor application performance to overcommitted virtual machines if there are concurrent programs hosted in them. In this paper, we review the features of both Xen's Credit and SEDF schedulers, and show how these schedulers may seriously impact the performance of the communication-intensive and I/O-intensive concurrent applications in overcommitted VMs. We discuss the origination of the problem theoretically, and confirm the derived conclusion on benchmarks. A novel approach is then proposed to improve the Credit scheduler, more adaptive for concurrent applications. Our solution includes two aspects: a periodical monitor analyzing the behaviors of each VCPU in a real-time manner, and the scheduler (extended from Credit scheduler) dynamically scaling the context switching-frequency by applying variable time slices to VCPUs according to their behaviors. The experimental results show that this extended Credit scheduler can significantly improve the performance of communication-intensive and I/O-intensive concurrent applications in overcommitted VMs, which is as good as the performance in undercommitted scenarios. Highlights? Performance decreases dramatically in overcommitted domains with Xen's Credit scheduler. ? We analyze the root cause of this performance problem theoretically. ? We propose a solution based on behavior monitoring and dynamic switching-frequency scaling. ? Our solution can combine the advantages of both Credit and SEDF schedulers.

[1]  David H. Bailey,et al.  The Nas Parallel Benchmarks , 1991, Int. J. High Perform. Comput. Appl..

[2]  Anand Sivasubramaniam,et al.  Xen and co.: communication-aware CPU scheduling for consolidated xen-based hosting platforms , 2007, VEE '07.

[3]  Koushik Chakraborty,et al.  Hardware support for spin management in overcommitted virtual machines , 2006, 2006 International Conference on Parallel Architectures and Compilation Techniques (PACT).

[4]  Joshua LeVasseur,et al.  Towards Scalable Multiprocessor Virtual Machines , 2004, Virtual Machine Research and Technology Symposium.

[5]  Samuel T. King,et al.  Operating System Support for Virtual Machines , 2003, USENIX Annual Technical Conference, General Track.

[6]  Heeseung Jo,et al.  Task-aware virtual machine scheduling for I/O performance. , 2009, VEE '09.

[7]  Michael Frumkin,et al.  The OpenMP Implementation of NAS Parallel Benchmarks and its Performance , 2013 .

[8]  Amin Vahdat,et al.  Enforcing Performance Isolation Across Virtual Machines in Xen , 2006, Middleware.

[9]  Gabriel Southern Symmetric Multiprocessing Virtualization , 2008 .

[10]  Minglu Li,et al.  The hybrid scheduling framework for virtual machine systems , 2009, VEE '09.

[11]  Alan L. Cox,et al.  Scheduling I/O in virtual machine monitors , 2008, VEE '08.

[12]  Willy Zwaenepoel,et al.  Diagnosing performance overheads in the xen virtual machine environment , 2005, VEE '05.

[13]  Amin Vahdat,et al.  Dynamic Scheduling of Virtual Machines Running HPC Workloads in Scientific Grids , 2007, 2009 3rd International Conference on New Technologies, Mobility and Security.