Abstract
As virtualization becomes a key technique for supporting cloud computing, much effort has been made to reduce virtualization overhead, so a virtualized system can match its native performance. One major overhead is due to memory or page table virtualization. Conventional virtual machines rely on a shadow mechanism to manage page tables, where a shadow page table maintained by the VMM (Virtual Machine Monitor) maps virtual addresses to machine addresses while a guest maintains its own virtual to physical page table. This shadow mechanism will result in expensive VM exits whenever there is a page fault that requires synchronization between the two page tables. To avoid this cost, both Intel and AMD provide hardware assists, EPT (extended page table) and NPT (nested page table), to facilitate address translation. With the hardware assists, the MMU (Memory Management Unit) maintains an ordinary guest page table that translates virtual addresses to guest physical addresses. In addition, the extended page table as provided by EPT translates from guest physical addresses to host physical or machine addresses. NPT works in a similar style. With EPT or NPT, a guest page fault can be handled by the guest itself without triggering VM exits. However, the hardware assists do have their disadvantage compared to the conventional shadow mechanism -- the page walk yields more memory accesses and thus longer latency. Our experimental results show that neither hardware-assisted paging (HAP) nor shadow paging (SP) can be a definite winner. Despite the fact that in over half of the cases, there is no noticeable gap between the two mechanisms, an up to 34% performance gap exists for a few benchmarks. We propose a dynamic switching mechanism that monitors TLB misses and guest page faults on the fly, and dynam-ically switches between the two paging modes. Our experiments show that this new mechanism can match and, sometimes, even beat the better performance of HAP and SP.
- K. Adams and O. Agesen. A Comparison of Software and Hardware Techniques for x86 Virtualization. In ASPLOS '06: Proceeding of International Conference on Architectural Support for Programming Languages and Operating Systems, 2006 . Google Scholar
Digital Library
- P. Barham, B. Dragovic, K. Fraser, et al. Xen and the art of virtualization. In SOSP '03: Proceedings of the Nineteenth ACM Symposium on Operating Systems Principles. p. 177, 2003. Google Scholar
Digital Library
- T. W. Barr, A. L. Cox, and S. Rixner. Translation Caching: Skip, Don't Walk the Page Table. In ISCA '10: Proceedings of International Symposium on Computer Architecture, 2010. Google Scholar
Digital Library
- R. Bhargava, B. Serebrin, F. Spadini, and S. Manne. Accelerating Two-Dimensional Page Walks for Virtualized Systems. In ASPLOS '08: Proceeding of International Conference on Architectural Support for Programming Languages and Operating Systems, 2008. Google Scholar
Digital Library
- S. Devine, E. Bugnion, and M. Rosenblum. Virtualization system including a virtual machine monitor for a computer with a segmented architecture. US Patent, 6397242, Oct. 1998.Google Scholar
- M. Gillespie. Best Practices for Paravirtualization Enhancements from Intel® Virtualization Technology: EPT and VT-d. June 1, 2009. http://software.intel.com/en-us/articles/best-practices-for-paravirtualization-enhancements-from-intel-virtualization-technology-ept-and-vt-d/.Google Scholar
- D. Gove. CPU2006 working set size. In SIGARCH Comput. Archit. News, 35(1):90--96, 2007. Google Scholar
Digital Library
- A. Kivity, Y. Kamay, D. Laor, U. Lublin and A. Liguori. kvm: the Linux virtual machine monitor. In Linux Symposium. Jan, 2007.Google Scholar
- SPEC. http://www.spec.org.Google Scholar
- VMware. Performance Evaluation of Intel EPT Hardware Assist. Copyright® VMware. Inc.Google Scholar
- VMware. Large Page Performance: ESX Server 3.5 and ESX Server 3i v3.5, Copyright® 2008 VMware. Inc.Google Scholar
- C. Waldspurger. Memory resource management in VMware ESX serve. In OSDI '02: Proceedings of the 5th Symposium on Operating Systems Design and Implementation. Dec, 2002. Google Scholar
Digital Library
- X. Wang, Y. Sun, Y. Luo et al. Dynamic memory paravirtualization transparent to guest OS. In Science China Information Sciences, January 2010, 53(1): 77--88.Google Scholar
- Xen. http://www.xen.org.Google Scholar
Index Terms
Selective hardware/software memory virtualization
Recommendations
Selective hardware/software memory virtualization
VEE '11: Proceedings of the 7th ACM SIGPLAN/SIGOPS international conference on Virtual execution environmentsAs virtualization becomes a key technique for supporting cloud computing, much effort has been made to reduce virtualization overhead, so a virtualized system can match its native performance. One major overhead is due to memory or page table ...
Optimizing virtual machines using hybrid virtualization
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 ...
Performance profiling of virtual machines
VEE '11Profilers based on hardware performance counters are indispensable for performance debugging of complex software systems. All modern processors feature hardware performance counters, but current virtual machine monitors (VMMs) do not properly expose ...







Comments