Abstract
This paper introduces dynamic paravirtualization, which imitates paravirtualization and aims at reducing VM exits of full virtualization with hardware support. In dynamic paravirtualization, VMM (virtual machine monitor) dynamically monitors and replaces the hot instructions, which cause most VM exits. It is transparent to the guest OS such that the legacy OSes can benefit from this optimization. Our study focuses on reducing the overhead of memory virtualization—dynamic memory paravirtualization (DMP). We implant a new memory management mechanism in VMM such that all user-mode page faults can be handled by the guest OS directly without VM exits. We implement a prototype of dynamic memory paravirtulization based on a version of KVM using Intel VT. Our experimental results show that our technique essentially eliminates the overhead of VM exits caused by page faults. Dynamic memory paravirtualization can achieve the effectiveness of paravirtualization without changing the source code of guest OS.
Similar content being viewed by others
References
Barham P, Dragovic B, Fraser K, et al. Xen and the art of virtualization. In: Proceedings of the Nineteenth ACM Symposium on Operating Systems Principles (Bolton Landing, NY, USA, October 19–22, 2003). SOSP’ 03. New York: ACM, 2003. 164–177
Whitaker A, Shaw M, Gribble S D. Scale and performance in the Denali isolation kernel. SIGOPS Oper Syst, 2002, 36(SI): 195–209
Devine S, Bugnion E, Rosenblum M. Virtualization system including a virtual machine monitor for a computer with a segmented architecture. US Patent, 6 397 242, 1998–10
Smith J E, Nair R. Virtual Machines: Versatile Platforms for Systems and Processes. San Francisco: Morgan Kaufmann Publishers, 2005
AMD. AMD64 Virtualization Codenamed “Pacifica” Technology: Secure Virtual Machine Architecture Reference Manual, 2005
Bhargava R, Serebrin B, Spadini F, et al. Accelerating two-dimensional page walks for virtualized systems. In: Proceedings of the 13th international Conference on Architectural Support for Programming Languages and Operating Systems (Seattle, WA, USA, March 01-05, 2008), ASPLOS XIII. New York: ACM, 2008. 26–35
Intel Corp. Intel Virtualization Technology Specification for the IA-32 Intel Architecture. 2005
Neiger G, Santoni A, Leung F, et al. Intel virtualization technology: Hardware support for efficient processor virtualization. Intel Tech J, 2006 10: 167–177
Adams K, Agesen O. A comparison of software and hardware techniques for x86 virtualization. In: Proceedings of the 12th international Conference on Architectural Support for Programming Languages and Operating Systems (San Jose, California, USA, October 21–25, 2006), ASPLOS XII. New York, NY: ACM, 2006. 2–13
Habib I. Virtualization with KVM. Linux J, 2008, 166: 8
Cooper K, Torczon L. Engineering a Compiler. San Francisco: Morgan Kaufmann, 2003
Cramer T, Friedman R, Miller T, et al. Compiling java just in time. In: IEEE Micro 17. Los Alamitos: IEEE Computer Society Press, 1997. 36–43
Arnold M, Fink S, Grove D, et al. Adaptive optimization in the Jalapeno JVM. In: Proceedings of the 15th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (Minneapolis, Minnesota, United States), OOPSLA’ 00. New York: ACM, 2000. 47–65
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Wang, X., Sun, Y., Luo, Y. et al. Dynamic memory paravirtualization transparent to guest OS. Sci. China Ser. F-Inf. Sci. 53, 77–88 (2010). https://doi.org/10.1007/s11432-010-0008-x
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11432-010-0008-x