Abstract
Despite of continuous efforts on reducing virtualization overhead, memory virtualization overhead remains significant for certain applications and often the last piece standing. Hardware vendors even dedicate hardware resources to help minimize this overhead. Each of the two typical approaches, shadow paging (SP) and hardware assisted paging (HAP), has its own advantages and disadvantages. Hardware-dependent HAP eliminates most VM exits caused by page faults, but suffers from higher penalties of TLB misses. On the other hand, the software-only approach, SP, enjoys shorter page walk latencies while paying for the VM exits to maintain the consistency between the shadow page table and the guest page table. We observe that, although HAP and SP each holds its ground for a set of applications in a 32-bit virtual machine (VM), SP almost always performs on a par with or better than HAP in a 64-bit system, which steadily gains its popularity. This paper examines the root cause of this inconsistency through a series of experiments and shows that the major overhead of shadow paging in a 32-bit system can be substantially reduced using a customized memory allocator. We conclude that memory virtualization overhead can be minimized with software-only approaches and therefore hardware-assisted paging might no longer be necessary.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Adams, K., Agesen, O.: A comparison of software and hardware techniques for x86 virtualization. ACM SIGOPS Operating Systems Review, 2–13 (2006)
Santos, J.R., et al.: Bridging the gap between software and hardware techniques for i/o virtualization. In: Proceedings of the USENIX 2008 Annual Technical Conference (2008)
Menon, A., Cox, A.L., Zwaenepoel, W.: Optimizing network virtualization in Xen. In: USENIX Annual Technical Conference, pp. 15–28 (2006)
Wang, X., et al.: Selective hardware/software memory virtualization. ACM SIGPLAN Notices, 217–226 (2011)
Barr, T.W., Cox, A.L., Rixner, S.: Translation caching: skip, don’t walk (the page table). ACM SIGARCH Computer Architecture News, 48–59 (2010)
Bhargava, R., et al.: Accelerating two-dimensional page walks for virtualized systems. ACM SIGARCH Computer Architecture News 36(1), 26–35 (2008)
Gillespie, M.: Best Practices for Paravirtualization Enhancements from Intel® Virtualization Technology: EPT and VE-d (June1, 2009), http://software.intel.com/en-us/articles/best-practices-for-paravirtualization-enhancements-from-intel-virtualization-technology-ept-and-vt-d/
Ahn, J., Jin, S., Huh, J.: Revisiting hardware-assisted page walks for virtualized systems. In: 2012 39th Annual International Symposium on Computer Architecture (ISCA), pp. 476–487. IEEE (2012)
Zhao, W., Wang, Z., Luo, Y.: Dynamic memory balancing for virtual machines. ACM SIGOPS Operating Systems Review 43(3), 37–47 (2009)
Gove, D.: CPU2006 working set size. ACM SIGARCH Computer Architecture News 35(1), 90–96 (2007)
Ezolt, P.: A study in Malloc: A case of excessive minor faults. In: Proceedings of the 5th Annual Linux Showcase and Conference (2001)
Doug Lea, http://g.oswego.edu/dl/html/malloc.html
Barham, P., et al.: Xen and the art of virtualization. ACM SIGOPS Operating Systems Review 37(5), 164–177 (2003)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Wang, X., Weng, L., Wang, Z., Luo, Y. (2013). Towards Eliminating Memory Virtualization Overhead. In: Wu, C., Cohen, A. (eds) Advanced Parallel Processing Technologies. APPT 2013. Lecture Notes in Computer Science, vol 8299. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-45293-2_22
Download citation
DOI: https://doi.org/10.1007/978-3-642-45293-2_22
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-45292-5
Online ISBN: 978-3-642-45293-2
eBook Packages: Computer ScienceComputer Science (R0)