Skip to main content
Log in

Mercury: Combining Performance with Dependability Using Self-Virtualization

  • Regular Paper
  • Published:
Journal of Computer Science and Technology Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Goldberg R P. Survey of virtual machine research. IEEE Computer, 1974, 7(6): 34-45.

    Google Scholar 

  2. 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.

  3. 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.

    Article  Google Scholar 

  4. 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.

  5. 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.

  6. 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.

  7. 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.

    Article  Google Scholar 

  8. 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.

    Article  Google Scholar 

  9. 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.

    Article  Google Scholar 

  10. 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.

  11. 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.

  12. 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.

  13. Mergen M F, Uhlig V, Krieger O, Xenidis J. Virtualization for high-performance computing. ACM SIGOPS Operating Systems Review, 2006, 40(2): 8-11.

    Article  Google Scholar 

  14. Youseff L, Wolski R, Gorda B, Krintz C. Paravirtualization for HPC Systems. Technical Report TR 2006-10, University of California, Santa Barbara, August 2006.

  15. Bjerke H K F. HPC Virtualization with Xen on Itanium [Master's thesis]. Norwegian University of Science and Technology, July 2005.

  16. 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.

  17. 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.

  18. 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.

  19. 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.

    Article  Google Scholar 

  20. Amazon Elastic Compute Cloud (Amazon EC2). Amazon Inc., http://aws.amazon.com/ec2/, 2008.

  21. 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.

  22. 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.

    Google Scholar 

  23. 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.

    Google Scholar 

  24. 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.

  25. 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.

  26. 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.

  27. 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.

  28. 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.

  29. Edward W. Benchmarking Amazon EC2 for high-performance scientific computing. Usenix Login, 2008, 33(5): 18-24.

    Google Scholar 

  30. 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.

  31. 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.

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

  33. 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.

  34. 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.

  35. 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.

  36. VMware. The VMware software package. http://www.vmware.com, 2006.

  37. Russell R. x86 paravirt ops: Binary patching infrastructure, http://lwn.net/Articles/194340/, 2006.

  38. Zachary A, Daniel A, Daniel H, Pratap S. Virtual machine interface (VMI). http://www.vmware.com/pdf/vmi specs.pdf, March 2006.

  39. 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.

  40. Kappel J A, Velte A T, Velte T J. Microsoft Virtualization with Hyper-V. McGraw-Hill, 2009.

  41. 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.

  42. KVM. KVM: Kernel-based virtual machine for Linux. http://www.linux-kvm.org/page/MainPage, 2007.

  43. Intel Cooperation. Intel vanderpool technology for IA-32 processors (VT-x). http://www.intel.com/technology/computing/vptech/, 2005.

  44. Advanced Micro Devices. Secure virtual machine architecture reference manual. http://www.0x04.net/doc/amd/33047.pdf, 2005.

  45. 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.

  46. 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.

  47. Adams K, Agesen O. A comparison of software and hardware techniques for x86 virtualization. SIGOPS Operating System Reviews, December 2006, 40(5): 2-13.

  48. Kephart J O, Chess D M. The vision of autonomic computing. IEEE Computer, 2003, 36(1): 41-50.

    Article  Google Scholar 

  49. 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.

  50. 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.

  51. 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.

  52. Riebs A, Kirkwood M, Suchomski M, Eisentraut P, Clift J, Wagner P. The open source database benchmark, http://osdb.sourceforge.net.

  53. Tridgell A. Dbench filesystem benchmark. http://samba.org/ftp/tridge/dbench/.

  54. 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.

  55. Tirumala A, Qin F, Dugan J, Ferguson J, Gibbs K. Iperf: The TCP/UDP bandwidth measurement tool. http://source-forge.net/projects/iperf/, 2004.

  56. 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.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Bin-Yu Zang.

Electronic supplementary material

Below is the link to the electronic supplementary material.

(PDF 105 kb)

Rights and permissions

Reprints 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

Download citation

  • Received:

  • Revised:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11390-012-1208-1

Keywords

Navigation