Transparently bridging semantic gap in CPU management for virtualized environments

Consolidated environments are progressively accommodating diverse and unpredictable workloads in conjunction with virtual desktop infrastructure and cloud computing. Unpredictable workloads, however, aggravate the semantic gap between the virtual machine monitor and guest operating systems, leading to inefficient resource management. In particular, CPU management for virtual machines has a critical impact on I/O performance in cases where the virtual machine monitor is agnostic about the internal workloads of each virtual machine. This paper presents virtual machine scheduling techniques for transparently bridging the semantic gap that is a result of consolidated workloads. To enable us to achieve this goal, we ensure that the virtual machine monitor is aware of task-level I/O-boundedness inside a virtual machine using inference techniques, thereby improving I/O performance without compromising CPU fairness. In addition, we address performance anomalies arising from the indirect use of I/O devices via a driver virtual machine at the scheduling level. The proposed techniques are implemented on the Xen virtual machine monitor and evaluated with micro-benchmarks and real workloads on Linux and Windows guest operating systems.

[1]  Lui Sha,et al.  Priority Inheritance Protocols: An Approach to Real-Time Synchronization , 1990, IEEE Trans. Computers.

[2]  Stefan Götz,et al.  Unmodified Device Driver Reuse and Improved System Dependability via Virtual Machines , 2004, OSDI.

[3]  Mark Russinovich,et al.  Microsoft Windows Internals, Fourth Edition: Microsoft Windows Server(TM) 2003, Windows XP, and Windows 2000 (Pro-Developer) , 2004 .

[4]  James E. Smith,et al.  A study of branch prediction strategies , 1981, ISCA '98.

[5]  Andrea C. Arpaci-Dusseau,et al.  Geiger: monitoring the buffer cache in a virtual machine environment , 2006, ASPLOS XII.

[6]  Amin Vahdat,et al.  When Virtual is Harder than Real : Resource Allocation Challenges in Virtual Machine Based IT Environments , 2007 .

[7]  Robert Love,et al.  Linux Kernel Development , 2003 .

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

[9]  George Neville-Neil,et al.  Thread Scheduling in FreeBSD 5.2 , 2004, ACM Queue.

[10]  Hwanju Kim,et al.  Guest-Aware Priority-Based Virtual Machine Scheduling for Highly Consolidated Server , 2008, Euro-Par.

[11]  Butler W. Lampson,et al.  Experience with processes and monitors in Mesa , 1980, CACM.

[12]  Anand Sivasubramaniam,et al.  Xen and Co.: Communication-Aware CPU Management in Consolidated Xen-Based Hosting Platforms , 2009, IEEE Transactions on Computers.

[13]  Jose Renato Santos,et al.  Bridging the Gap between Software and Hardware Techniques for I/O Virtualization , 2008, USENIX Annual Technical Conference.

[14]  Daniel Pierre Bovet,et al.  Understanding the Linux Kernel , 2000 .

[15]  Willy Zwaenepoel,et al.  TwinDrivers: semi-automatic derivation of fast and safe hypervisor network drivers from guest OS drivers , 2009, ASPLOS.

[16]  Beng-Hong Lim,et al.  Virtualizing I/O Devices on VMware Workstation's Hosted Virtual Machine Monitor , 2001, USENIX Annual Technical Conference, General Track.

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

[18]  Alan L. Cox,et al.  Optimizing network virtualization in Xen , 2006 .

[19]  Andrea C. Arpaci-Dusseau,et al.  VMM-based hidden process detection and identification using Lycosid , 2008, VEE '08.

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

[21]  Jason Nieh,et al.  SWAP: A Scheduler with Automatic Process Dependency Detection , 2004, NSDI.

[22]  原田 秀逸 私の computer 環境 , 1998 .

[23]  Gil Neiger,et al.  Intel virtualization technology , 2005, Computer.

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

[25]  Tal Garfinkel,et al.  When Virtual Is Harder than Real: Security Challenges in Virtual Machine Based Computing Environments , 2005, HotOS.

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

[27]  Randy H. Katz,et al.  Above the Clouds: A Berkeley View of Cloud Computing , 2009 .

[28]  Remzi H. Arpaci-Dusseau,et al.  Implicit operating system awareness in a virtual machine monitor , 2007 .

[29]  Robert Love,et al.  Linux Kernel Development (2nd Edition) (Novell Press) , 2005 .

[30]  Andrea C. Arpaci-Dusseau,et al.  Information and control in gray-box systems , 2001, SOSP.

[31]  I.,et al.  Weight of Evidence : A Brief Survey , 2006 .

[32]  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.

[33]  Andrea C. Arpaci-Dusseau,et al.  Antfarm: Tracking Processes in a Virtual Machine Environment , 2006, USENIX Annual Technical Conference, General Track.

[34]  Andrew Warfield,et al.  Safe Hardware Access with the Xen Virtual Machine Monitor , 2007 .