Improving disk I/O performance in a virtualized system

Desktop virtualization is a general solution for providing users with various working environments on a single physical machine. It is typically based on the virtual machine (VM) technology, which can provide smart sharing policies on the scarce hardware. Compared with native computing environments, however, VM may sacrifice the performance, especially in the I/O subsystem. Although certain methods have been proposed to improve the performance of networking and graphic processing, the performance of disk I/O is almost ignored. In this paper, we propose two methods to reduce the extra overhead on Xen hypervisor at different layers of its disk protocol stack. The experimental results show that on the average 21% of unnecessary CPU cycles can be saved from the Xen hypervisor, and when a high performance disk device is applied in the system, our proposed optimization techniques can improve the overall disk I/O performance by 15.6%-36.6% for all benchmarks used in the experiments. Finally, by evaluating our methods in a practical system of desktop virtualization, user-applications can achieve an improvement of 15.9%-23.7% over the original Xen hypervisor.

[1]  Dutch T. Meyer,et al.  Remus: High Availability via Asynchronous Virtual Machine Replication. (Best Paper) , 2008, NSDI.

[2]  Eyal de Lara,et al.  VMM-independent graphics acceleration , 2007, VEE '07.

[3]  Tal Garfinkel,et al.  Virtualization Aware File Systems: Getting Beyond the Limitations of Virtual Disks , 2006, NSDI.

[4]  Jeff Bonwick,et al.  The Slab Allocator: An Object-Caching Kernel Memory Allocator , 1994, USENIX Summer.

[5]  Scott Devine,et al.  Disco: running commodity operating systems on scalable multiprocessors , 1997, TOCS.

[6]  Steven Skiena,et al.  The Algorithm Design Manual , 2020, Texts in Computer Science.

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

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

[9]  Wenke Lee,et al.  Lares: An Architecture for Secure Active Monitoring Using Virtualization , 2008, 2008 IEEE Symposium on Security and Privacy (sp 2008).

[10]  Andrew Warfield,et al.  Facilitating the Development of Soft Devices , 2005, USENIX Annual Technical Conference, General Track.

[11]  Alan L. Cox,et al.  Achieving 10 Gb/s using safe and transparent network interface virtualization , 2009, VEE '09.

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

[13]  Ulrich Drepper,et al.  The Cost of Virtualization , 2008, ACM Queue.

[14]  Antony I. T. Rowstron,et al.  Migrating server storage to SSDs: analysis of tradeoffs , 2009, EuroSys '09.

[15]  Robert P. Goldberg,et al.  Survey of virtual machine research , 1974, Computer.

[16]  Yoshiyasu Takefuji,et al.  Centralized Security Policy Support for Virtual Machine , 2006, LISA.

[17]  Alan L. Cox,et al.  Optimizing Network Virtualization in Xen (awarded best paper) , 2006, USENIX Annual Technical Conference, General Track.

[18]  Alan Jay Smith,et al.  The performance impact of I/O optimizations and disk improvements , 2004, IBM J. Res. Dev..

[19]  Andrew Warfield,et al.  Xen and the art of virtualization , 2003, SOSP '03.

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

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

[22]  Garth R. Goodson,et al.  Fido: Fast Inter-Virtual-Machine Communication for Enterprise Appliances , 2009, USENIX ATC.

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

[24]  G. Amdhal,et al.  Validity of the single processor approach to achieving large scale computing capabilities , 1967, AFIPS '67 (Spring).

[25]  Scott Devine,et al.  Disco: running commodity operating systems on scalable multiprocessors , 1997, SOSP.

[26]  Hai Jin,et al.  Live migration of virtual machine based on full system trace and replay , 2009, HPDC '09.

[27]  I. Ahmad,et al.  An analysis of disk performance in VMware ESX server virtual machines , 2003, 2003 IEEE International Conference on Communications (Cat. No.03CH37441).

[28]  Dutch T. Meyer,et al.  Parallax: virtual disks for virtual machines , 2008, Eurosys '08.

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

[30]  Haibing Guan,et al.  Towards high-quality I/O virtualization , 2009, SYSTOR '09.

[31]  Abhishek Chandra,et al.  Does virtualization make disk scheduling passé? , 2010, OPSR.

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