skip to main content
research-article

Selective hardware/software memory virtualization

Published:09 March 2011Publication History
Skip Abstract Section

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.

References

  1. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  2. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  3. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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 ScholarGoogle Scholar
  6. 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 ScholarGoogle Scholar
  7. D. Gove. CPU2006 working set size. In SIGARCH Comput. Archit. News, 35(1):90--96, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. A. Kivity, Y. Kamay, D. Laor, U. Lublin and A. Liguori. kvm: the Linux virtual machine monitor. In Linux Symposium. Jan, 2007.Google ScholarGoogle Scholar
  9. SPEC. http://www.spec.org.Google ScholarGoogle Scholar
  10. VMware. Performance Evaluation of Intel EPT Hardware Assist. Copyright® VMware. Inc.Google ScholarGoogle Scholar
  11. VMware. Large Page Performance: ESX Server 3.5 and ESX Server 3i v3.5, Copyright® 2008 VMware. Inc.Google ScholarGoogle Scholar
  12. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  13. 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 ScholarGoogle Scholar
  14. Xen. http://www.xen.org.Google ScholarGoogle Scholar

Index Terms

  1. Selective hardware/software memory virtualization

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in

Full Access

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader
About Cookies On This Site

We use cookies to ensure that we give you the best experience on our website.

Learn more

Got it!