The Journal of Systems and Software 85 (2012) 2593–2603
Contents lists available at SciVerse ScienceDirect
The Journal of Systems and Software
journal homepage: www.elsevier.com/locate/jss
Optimizing virtual machines using hybrid virtualization
Qian Lin a , Zhengwei Qi a,∗ , Jiewei Wu a , Yaozu Dong b , Haibing Guan a a b
Shanghai Key Laboratory of Scalable Computing and Systems Shanghai Jiao Tong University, Shanghai, PR China Intel Open Source Technology Center, PR China
a r t i c l e
i n f o
a b s t r a c t
Minimizing virtualization overhead and improving the reliability of virtual machines are challenging when establishing virtual machine cluster. Paravirtualization and hardware-assisted virtualization are two mainstream solutions for modern system virtualization. Hardware-assisted virtualization is superior in CPU and memory virtualization and becoming the leading solution, yet paravirtualization is still valuable in some aspects as it is capable of shortening the disposal path of I/O virtualization. Thus we propose the hybrid virtualization which runs the paravirtualized guest in the hardware-assisted virtual machine container to take advantage of both. Experiment results indicate that our hybrid solution outweighs origin paravirtualization by nearly 30% in memory intensive test and 50% in microbenchmarks. Meanwhile, compared with the origin hardware-assisted virtual machine, hybrid guest owns over 16% improvement in I/O intensive workloads. © 2012 Elsevier Inc. All rights reserved.
Article history: Received 10 October 2011 Received in revised form 31 May 2012 Accepted 31 May 2012 Available online 9 June 2012 Keywords: Hybrid virtualization Hardware-assisted virtualization Paravirtualization
1. Introduction System virtualization is becoming ubiquitous in contemporary datacenter. Consolidating physical server by building virtual machine cluster is universally adopted to maximize the utilization of hardware resources for computing. Two fundamental but challenging requirements are to minimize virtualization overhead (Mergen et al., 2006) and to guarantee the reliability building virtualized infrastructure. Therefore, low level design of VM architecture is of great signiﬁcance. The conventional x86 architecture is incapable of classical trapand-emulate virtualization, causing paravirtualization to be the optimal virtualization strategy in the past (Barham et al., 2003; Adams and Agesen, 2006). Recently, hardware-assisted virtualization on x86 architecture has become a competitive alternative method. Yet Adams and Agesen (2006) compared the performance between software-only VMM and hardware-assisted VMM, and the statistics showed that HVM suffered from much higher overhead than PVM owing to the frequent context switching, which had to perform an extra host/guest round trip in the early HVM solution. However, the latest hardware-assisted virtualization improvement introduces heavy overhead. Hardware-assisted paging (Neiger et al., 2006) allows hardware to handle the guest MMU operation and translate guest physical address to real machine address dynamically, accelerating memory relevant operations and improving overall performance of the HVM.
∗ Corresponding author. Tel.: (+86) 021 34205595. E-mail address: firstname.lastname@example.org (Z. Qi). 0164-1212/$ – see front matter © 2012 Elsevier Inc. All rights reserved. http://dx.doi.org/10.1016/j.jss.2012.05.093
Although hardware-assisted virtualization performs well with CPU intensive workloads, it manifests low efﬁciency when processing I/O events. Our experiment shows that PVM performs up to 20% lower CPU utilization than HVM with the 10 Gbps network workload. The interrupt controller of HVM originates in the native environment with fast memory-mapped I/O access but is suboptimal in the virtual environment due to the requirement of trap-and-emulate. Frequent interrupts lead to frequent context switches and high round trip penalty, particularly for...
References: Adams, K., Agesen, O.,2006. A comparison of software and hardware techniques for x86 virtualization. In: ASPLOS-XII: Proceedings of the 12th International Conference on Architectural Support for Programming Languages and Operating Systems. ACM, New York, NY, USA, pp. 2–13, doi:http://doi.acm.org/10.1145/1168857.1168860. Barham, P., Dragovic, B., Fraser, K., Hand, S., Harris, T., Ho, A., Neugebauer, R., Pratt, I., Warﬁeld, A.,2003. Xen and the art of virtualization. In: SOSP ‘03: Proceedings of the 19th ACM Symposium on Operating Systems Principles. ACM, New York, NY, USA, pp. 164–177, doi:http://doi.acm.org/10.1145/945445.945462. Bhargava, R., Serebrin, B., Spadini, F., Manne, S.,2008. Accelerating two-dimensional page walks for virtualized systems. In: ASPLOS XIII: Proceedings of the 13th International Conference on Architectural Support for Programming Languages and Operating Systems. ACM, New York, NY, USA, pp. 26–35, doi:http://doi.acm.org/10.1145/1346281.1346286. Clark, B., Deshane, T., Dow, E., Evanchik, S., Finlayson, M., Herne, J., Matthews, J.N.,2004. Xen and the art of repeated research. In: ATC ‘04: Proceedings of the Annual Conference on USENIX Annual Technical Conference. USENIX Association, Berkeley, CA, USA. Eiraku, H., Shinjo, Y., Pu, C., Koh, Y., Kato, K., 2009. Fast networking with socketoutsourcing in hosted virtual machine environments. In: SAC, pp. 310–317. King, S.T., Dunlap, G.W., Chen, P.M.,2003. Operating system support for virtual machines. In: ATC ‘03: Proceedings of the Annual Conference on USENIX Annual Technical Conference. USENIX Association, Berkeley, CA, USA, pp. 71–84. Liu, J., Huang, W., Abali, B., Panda, D.K.,2006. High performance VMM-bypass I/O in virtual machines. In: ATC ’06: Proceedings of the Annual Conference on USENIX ’06 Annual Technical Conference. USENIX Association, Berkeley, CA, USA. Menon, A., Zwaenepoel, W.,2008. Optimizing TCP receive performance. In: ATC ’08: Proceedings of the Annual Conference on USENIX Annual Technical Conference. USENIX Association, Berkeley, CA, USA, pp. 85–98. Menon, A., Santos, R., Jose, Turner, Y., Janakiraman, G.J., Zwaenepoel, W.,2005. Diagnosing performance overheads in the Xen virtual machine environment. In: VEE ’05: Proceedings of the 1st ACM/USENIX International Conference on Virtual Execution Environments. ACM, New York, NY, USA, pp. 13–23, doi:http://doi.acm.org/10.1145/1064979.1064984. Mergen, M.F., Uhlig, V., Krieger, O., Xenidis, J., 2006. Virtualization for highperformance computing. ACM SIGOPS Operating Systems Review 40 (2), 8–11, doi:http://doi.acm.org/10.1145/1131322.1131328. Nakajima, J., Mallick, K.A., 2007. Hybrid-virtualization – enhanced virtualization for Linux. In: Linux Symposium, pp. 87–96, 2007. Neiger, G., Santoni, A., Leung, F., Rodgers, D., Uhlig, R., 2006. Intel virtualization technology: hardware support for efﬁcient processor virtualization. Intel Technology Journal 10 (3). Raj, H., Schwan, K.,2007. High performance and scalable I/O virtualization via self-virtualized devices. In: HPDC ’07: Proceedings of the 16th International Symposium on High Performance Distributed Computing. ACM, New York, NY, USA, pp. 179–188, doi:http://doi.acm.org/10.1145/1272366.1272390. Santos, R., Jose, Y., Turner, Janakiraman, G., Pratt, I.,2008. Bridging the gap between software and hardware techniques for I/O virtualization. In: ATC ’08: Proceedings of the Annual Conference on USENIX Annual Technical Conference. USENIX Association, Berkeley, CA, USA, pp. 29–42. Sugerman, J., Venkitachalam, G., Lim, B.-H.,2001. Virtualizing I/O devices on vmware workstation’s hosted virtual machine monitor. In: ATC ’01: Proceedings of the Annual Conference on USENIX Annual Technical Conference. USENIX Association, Berkeley, CA, USA, pp. 1–14. Tikotekar, A., Vallée, G., Naughton, T., Ong, H., Engelmann, C., Scott, S.L., 2008. An analysis of HPC benchmarks in virtual machine environments. In: Euro-Par Workshops, pp. 63–71. Tikotekar, A., Ong, H., Alam, S., Vallée, G., Naughton, T., Engelmann, C., Scott, S.L.,2009. Performance comparison of two virtual machine scenarios using an HPC application: a case study using molecular dynamics simulations. In: HPCVirt ’09: Proceedings of the 3rd ACM Workshop on System-level Virtualization for High Performance Computing. ACM, New York, NY, USA, pp. 33–40, doi:http://doi.acm.org/10.1145/1519138.1519143. Whitaker, A., Shaw, M., Gribble, S.D.,2002. Scale and performance in the denali isolation kernel. In: OSDI ’02: Proceedings of the 5th Symposium on Operating Systems Design and Implementation. ACM, New York, NY, USA, pp. 195–209, doi:http://doi.acm.org/10.1145/1060289.1060308. Xen.org, 2008. Xen Architecture Overview.
Qian Lin received his M.Eng. degree from Shanghai Jiao Tong University in 2011 and B.Sc. degree from South China University of Technology in 2008. Currently he is a Ph.D. candidate in School of Computing, National University of Singapore. His research interests include operating system, cloud systems, trusted computing and distributed database.
Q. Lin et al. / The Journal of Systems and Software 85 (2012) 2593–2603 Zhengwei Qi received his B.Eng. and M.Eng degrees from Northwestern Polytechnical University, in 1999 and 2002, and Ph.D. degree from Shanghai Jiao Tong University in 2005. He is an Associate Professor at the School of Software, Shanghai Jiao Tong University. His research interests include static/dynamic program analysis, model checking, virtual machines, and distributed systems.
Yaozu Dong is a senior staff in Intel Open Source Technology Center. His research focuses on architecture and system including virtualization, operating system, and distributed and parallel computing.
Jiewei Wu received his bachelor degree from Shanghai Jiao Tong University in 2010. He is now a graduate student in Shanghai Key Laboratory of Scalable Computing and Systems. His research interests include operating system and virtualization technology.
Haibing Guan received received Ph.D. degree from Tongji University in 1999. He is a Professor of School of Electronic, Information and Electronic Engineering, Shanghai Jiao Tong University, and the director of the Shanghai Key Laboratory of Scalable Computing and Systems. His research interests include distributed computing, network security, network storage, green IT and cloud computing.
Please join StudyMode to read the full document