Abstract
Virtualization has recently gained popularity largely due to its promise in increasing utilization, improving availability and enhancing security. Very often, the role of computer systems needs to change as the business environment changes. Initially, the system may only need to host one operating system and seek full execution speed. Later, it may be required to add other functionalities such as allowing easy software/hardware maintenance, surviving system failures and hosting multiple operating systems. Virtualization allows these functionalities to be supported easily and effectively. However, virtualization techniques generally incur non-negligible performance penalty. Fortunately, many virtualization-enabled features such as online software/hardware maintenance and fault tolerance do not require virtualization standby all the time. Based on this observation, this paper proposes a technique, called Self-virtualization, which provides the operating system with the capability to turn on and off virtualization on demand, without disturbing running applications. This technique enables computer systems to reap most benefits from virtualization without sacrificing performance. This paper presents the design and implementation of Mercury, a working prototype based on Linux and Xen virtual machine monitor. The performance measurement shows that Mercury incurs very little overhead: about 0.2 ms on 3 GHz Xeon CPU to complete a mode switch, and negligible performance degradation compared to Linux. Keywords dependability, performance, self-virtualization, dynamic virtualization.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Goldberg R P. Survey of virtual machine research. IEEE Computer, 1974, 7(6): 34-45.
Krsul I, Ganguly A, Zhang J, Fortes J A B, Figueiredo R J. VMPlants: Providing and managing virtual machine execution environments for grid computing. In Proc. ACM/IEEE Conference on Supercomputing, Pittsburgh, USA, Nov. 6-12, 2004.
Adabala S, Chadha V, Chawla P et al. From virtualized resources to virtual computing grids: The In-VIGO system. Future Generation Computer Systems, 2005, 21(6): 896-909.
Song Y, Wang H, Li Y, Feng B, Sun Y. Multi-tiered on-demand resource scheduling for vm-based data center. In Proc. the 9th IEEE/ACM International Symposium on Cluster Computing and the Grid, Shanghai, China, May 18-21, 2009, pp.148-155.
Zhang X, Dwarkadas S, Shen K. Hardware execution throttling for multi-core resource management. In Proc. the 2009 Conference on USENIX Annual Technical Conference, San Diego, USA, June 14-19, 2009.
Sundararaj A I, Dinda P A. Towards virtual networks for virtual machine grid computing. In Proc. the 3rd Virtual Machine Research and Technology Symposium, San Jose, USA, May 6-7, 2004, pp.177-190.
Dunlap G W, King S T, Cinar S, Basrai M A, Chen P M. ReVirt: Enabling intrusion analysis through virtual-machine logging and replay. ACM SIGOPS Operating Systems Review, 2002, 36: 211-224.
Joshi A, King S T, Dunlap G W, Chen P M. Detecting past and present intrusions through vulnerability-specific predicates. ACM SIGOPS Operating Systems Review, 2005, 39(5): 91-104.
Chen H, Chen J, Mao W, Yan F. Daonity-Grid security from two levels of virtualization. Information Security Technical Report, 2007, 12(3): 123-138.
Chen X, Garfinkel T, Lewis E C, Subrahmanyam P, Wald-spurger C A, Boneh D, Dwoskin J, Ports D R K. Overshadow: A virtualization-based approach to retrofitting protection in commodity operating systems. In Proc. the 13th Int. Conf. Architectural Support for Programming Languages and Operating Systems, Seattle, USA, March 1-5, 2008, pp.2-13.
Lowell D E, Saito Y, Samberg E J. Devirtualizable virtual machines enabling general, single-node, online maintenance. In Proc. the 11th International Conference on Architectural Support for Programming Languages and Operating Systems, Boston, USA, October 9-13, 2004, pp.211-223.
Chen H, Chen R, Zhang F, Zang B, Yew P C. Live updating operating systems using virtualization. In Proc. the 2nd International Conference on Virtual Execution Environments, Ottawa, Canada, June 14-16, 2006, pp.35-44.
Mergen M F, Uhlig V, Krieger O, Xenidis J. Virtualization for high-performance computing. ACM SIGOPS Operating Systems Review, 2006, 40(2): 8-11.
Youseff L, Wolski R, Gorda B, Krintz C. Paravirtualization for HPC Systems. Technical Report TR 2006-10, University of California, Santa Barbara, August 2006.
Bjerke H K F. HPC Virtualization with Xen on Itanium [Master's thesis]. Norwegian University of Science and Technology, July 2005.
Hu L, Jin H, Liao X, Xiong X, Liu H. Magnet: A novel scheduling policy for power reduction in cluster with virtual machines. In Proc. IEEE Int. Conf. Cluster Computing, Sukuba, Japan. Sept. 29-Oct. 1, 2008, pp.13-22.
Chen H, Jin H, Shao Z, Yu K, Tian K. ClientVisor: Leverage COTS OS functionalities for power management in virtualized desktop environment. In Proc. the 5th International Conference on Virtual Execution Environments, Washington, USA, March 11-13, 2009, pp.131-140.
Das T, Padala P, Padmanabhan V N, Ramjee R, Shin K G. Litegreen: Saving energy in networked desktops using virtualization. In Proc. USENIX Annual Technical Conference, Boston, USA, June 23-25, 2010.
Ge R, Feng X, Song S, Chang H C, Li D, Cameron K W. PowerPack: Energy profiling and analysis of high-performance systems and applications. IEEE Transactions on Parallel and Distributed Systems, 2010, 21(5): 658-671.
Amazon Elastic Compute Cloud (Amazon EC2). Amazon Inc., http://aws.amazon.com/ec2/, 2008.
Nurmi D, Wolski R, Grzegorczyk C, Obertelli G, Soman S, Youseff L, Zagorodnov D. The eucalyptus open-source cloud-computing system. In Proc. the 9th IEEE/ACM International Symposium on Cluster Computing and the Grid, Shanghai, China, May 18-21, 2009, pp.124-131.
Neiger G, Santoni A, Leung F, Rodgers D, Uhlig R. Intel virtualization technology: Hardware support for effcient processor virtualization. Intel®Technology Journal, 2006, 10(3): 167-177.
Abramson D, Jackson J, Muthrasanallur S, Neiger G, Regnier G, Sankaran R, Schoinas I, Uhlig R, Vembu B, Wiegert J. Intel virtualization technology for directed I/O. IntelrTechnology Journal, 2006, 10(3): 179-192.
Bhargava R, Serebrin B, Spadini F, Manne S. Accelerating two-dimensional page walks for virtualized systems. In Proc. Int. Conf. Architectural Support for Programming Languages and Operating Systems, Seattle, USA, March 1-5, 2008, pp.26-35.
Zhang X, Xiao L, Qu Y. Improving distributed workload performance by sharing both CPU and memory resources. In Proc. International Conference on Distributed Computing Systems, Taipei, China, April 2000, pp.233-241.
Theurer A, Rister K, Krieger O, Harper R, Dobbelstein S. Virtual scalability: Charting the performance of Linux in a virtual world. In Proc. Linux Symposium, Ottawa, Canada, July 19-22, 2006, pp.393-402.
Padala P, Zhu X, Wang Z, Singhal S, Shin K G et al. Performance evaluation of virtualization technologies for server consolidation. Technical Report HPL-2007-59, HP Labs, 2007.
Xiang S, Haibo C, Zang B. Characterizing the Performance and scalability of many-core applications on virtualized platforms. Technical Report FDUPPITR-2010-002, Parallel Processing Institute, Fudan University, November 2010.
Edward W. Benchmarking Amazon EC2 for high-performance scientific computing. Usenix Login, 2008, 33(5): 18-24.
Barham P, Dragovic B, Fraser K, Hand S, Harris T, Ho A, Neugebauer R, Pratt I, Warfield A. Xen and the art of virtualization. In Proc. the 19th ACM International Symposium on Operating System Principles, Boston Landing, USA, October 19-22, 2003, pp.164-177.
Schroeder B, Pinheiro E, Weber W D. DRAM errors in the wild: A large-scale field study. In Proc. the 11th International Joint Conference on Measurement and Modeling of Computer Systems, Seattle, USA, June 2009, pp.193-204.
Ford D, Labelle F, Popovici F I, Stokely M, Truong V A, Barroso L, Grimes C, Quinlan S. Availability in globally distributed storage systems. In Proc. the 9th Usenix Conference on Operating System Design and Implementation, Vancouver, Canada, October 4-6, 2010, pp.1-7.
Huang W, Abali B, Panda D K. A case for high performance computing with virtual machines. In Proc. the 20th Annual International Conference on Supercomputing, Queens-land, Australia, June 28-July 1, 2006, pp.125-134.
Soltesz S, PÄotzl H, Fiuczynski M E, Bavier A, Peterson L. Container-based operating system virtualization: A scalable, high-performance alternative to hypervisors. In Proc. the 2nd European Conference on Computer Systems, Lisbon, Portugal, March 21-23, 2007, pp.275-287.
Vallee G, Naughton T, Ong H, Scott S L. Checkpoint/restart of virtual machines based on Xen. In Proc. the High Availability and Performance Workshop, Santa Fe, USA, October 2006, pp.1-6.
VMware. The VMware software package. http://www.vmware.com, 2006.
Russell R. x86 paravirt ops: Binary patching infrastructure, http://lwn.net/Articles/194340/, 2006.
Zachary A, Daniel A, Daniel H, Pratap S. Virtual machine interface (VMI). http://www.vmware.com/pdf/vmi specs.pdf, March 2006.
Clark C, Fraser K, Hand S et al. Live migration of virtual machines. In Proc. the 2nd Usenix Conference on Networked System Design and Implementation, Boston, USA, May 2-4, 2005, pp.273-286.
Kappel J A, Velte A T, Velte T J. Microsoft Virtualization with Hyper-V. McGraw-Hill, 2009.
Whitaker A, Shaw M, Gribble S D. Scale and performance in the Denali isolation kernel. In Proc. Usenix Conference on Operating Systems Design and Implementation, Boston, USA, December 2002, pp.195-209.
KVM. KVM: Kernel-based virtual machine for Linux. http://www.linux-kvm.org/page/MainPage, 2007.
Intel Cooperation. Intel vanderpool technology for IA-32 processors (VT-x). http://www.intel.com/technology/computing/vptech/, 2005.
Advanced Micro Devices. Secure virtual machine architecture reference manual. http://www.0x04.net/doc/amd/33047.pdf, 2005.
Dong Y, Yang X, Li X, Li J, Tian K, Guan H. High performance network virtualization with SR-IOV. In Proc. IEEE International Symposium on High Performance Computer Architecture, Bangalore, India, January 9-14, 2010, pp.1-10.
Sugerman J, Venkitachalam G, Lim B H. Virtualizing I/O devices on VMware workstation's hosted virtual machine monitor. In Proc. USENIX Annual Technical Conference, Boston, USA, June 25-30, 2001, pp.1-14.
Adams K, Agesen O. A comparison of software and hardware techniques for x86 virtualization. SIGOPS Operating System Reviews, December 2006, 40(5): 2-13.
Kephart J O, Chess D M. The vision of autonomic computing. IEEE Computer, 2003, 36(1): 41-50.
Bohra A, Neamtiu I, Gallard P, Sultan F, Iftode L. Remote repair of operating system state using Backdoors. In Proc. Int. Conf. Autonomous Computing, New York, USA, May 17-18, 2004, pp.256-263.
Chen H, Yu J, Chen R, Zang B, Yew P C. Polus: A powerful live updating system. In Proc. Int. Conf. Software Engineering, Minneapolis, USA, May 20-26, 2007, pp.271-281.
Leangsuksun C, Liu T, Rao T, Scott S L, Libby R. A failure predictive and policy-based high availability strategy for Linux high performance computing cluster. In Proc. the 5th LCI International Conference on Linux Clusters: The HPC Revolution 2004, Austin, USA, May 18-20, 2004, pp.18-20.
Riebs A, Kirkwood M, Suchomski M, Eisentraut P, Clift J, Wagner P. The open source database benchmark, http://osdb.sourceforge.net.
Tridgell A. Dbench filesystem benchmark. http://samba.org/ftp/tridge/dbench/.
McVoy L, Staelin C. lmbench: Portable tools for performance analysis. In Proc. USENIX Annual Technical Conference, San Diego, USA, January 22-26, 1996, pp.279-294.
Tirumala A, Qin F, Dugan J, Ferguson J, Gibbs K. Iperf: The TCP/UDP bandwidth measurement tool. http://source-forge.net/projects/iperf/, 2004.
Yang J, Sar C, Engler D. Explode: A lightweight, general system for finding serious storage system errors. In Proc. the 7th Usenix Symposium on Operating Systems Design and Implementation, Seattle, USA, November 6-8, 2006, pp.131-146.
Author information
Authors and Affiliations
Corresponding author
Electronic supplementary material
Below is the link to the electronic supplementary material.
Rights and permissions
About this article
Cite this article
Chen, HB., Zhang, FZ., Chen, R. et al. Mercury: Combining Performance with Dependability Using Self-Virtualization. J. Comput. Sci. Technol. 27, 92–104 (2012). https://doi.org/10.1007/s11390-012-1208-1
Received:
Revised:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11390-012-1208-1