ABSTRACT
Hardware virtualization is a major component of large scale server and data center deployments due to their facilitation of server consolidation and scalability. Virtualization, however, comes at a high cost in terms of system main memory utilization. Current virtual machine (VM) memory management solutions impose a high performance penalty and are oblivious to the operating regime of the system. Therefore, there is a great need for low-impact VM memory management techniques which are aware of and reactive to current system state, to drive down the overheads of virtualization.
We observe that the host machine operates under different memory pressure regimes, as the memory demand from guest VMs changes dynamically at runtime. Adapting to this runtime system state is critical to reduce the performance cost of VM memory management. In this paper, we propose a novel dynamic memory management policy called Memory Pressure Aware (MPA) ballooning. MPA ballooning dynamically allocates memory resources to each VM based on the current memory pressure regime. Moreover, MPA ballooning proactively reacts and adapts to sudden changes in memory demand from guest VMs. MPA ballooning requires neither additional hardware support, nor incurs extra minor page faults in its memory pressure estimation. We show that MPA ballooning provides an 13.2% geomean speed-up versus the current ballooning techniques across a set of application mixes running in guest VMs; often yielding performance nearly identical to that of a non-memory constrained system.
- P. Barham, B. Dragovic, K. Fraser, S. Hand, T. Harris, A. Ho, R. Neugebauer, I. Pratt, and A. Warfield. Xen and the art of virtualization. In ACM SIGOPS Operating Systems Review (SOSP), volume 37, pages 164--177, 2003. Google ScholarDigital Library
- T. W. Barr, A. L. Cox, and S. Rixner. Spectlb: a mechanism for speculative address translation. In Computer Architecture (ISCA), 2011 38th Annual International Symposium on, pages 307--317. IEEE, 2011. Google ScholarDigital Library
- C. Bienia, S. Kumar, J. P. Singh, and K. Li. The parsec benchmark suite: characterization and architectural implications. In Proceedings of the 17th International conference on Parallel Architectures and Complication Techniques (PACT), pages 72--81, 2008. Google ScholarDigital Library
- D. P. Bovet and M. Cesati. Understanding the Linux kernel. "O'Reilly Media, Inc.", 2005. Google ScholarDigital Library
- R. Cloud. Rackspace Cloud. http://www.rackspacecloud.com, 2010.Google Scholar
- A. EC2. Amazon Elastic Compute Cloud (Amazon EC2). http://aws.amazon.com/ec2/, 2010.Google Scholar
- A. Gordon, M. Hines, D. Da Silva, M. Ben-Yehuda, M. Silva, and G. Lizarraga. Ginkgo: Automated, application-driven memory overcommitment for cloud computing. Proc. RESoLVE, 2011.Google Scholar
- I. Habib. Virtualization with kvm. Linux Journal, 2008(166):8, 2008. Google ScholarDigital Library
- A. Inc. Page lists in the kernel. https://developer.apple.com/library/mac/documentation/Performance/Conceptual/ManagingMemory/Articles/AboutMemory.html, 2013.Google Scholar
- Intel. Intel 64 and ia-32 architectures software developer's manual. 3A:125--136, 2014.Google Scholar
- M. Lee, A. S. Krishnakumar, P. Krishnan, N. Singh, and S. Yajnik. Supporting soft real-time tasks in the Xen hypervisor. In Proceedings of the 6th ACM SIGPLAN/SIGOPS International conference on Virtual Execution Environments (VEE), pages 97--108, 2010. Google ScholarDigital Library
- P. Lu and K. Shen. Virtual machine memory access tracing with hypervisor exclusive cache. In Usenix Annual Technical Conference, pages 29--43, 2007. Google ScholarDigital Library
- D. Magenheimer. Add self-ballooning to balloon driver. Discussion on Xen Development mailing list and personal communication, 2008.Google Scholar
- D. Magenheimer, C. Mason, D. McCracken, and K. Hackel. Transcendent memory and linux. In Proceedings of the Linux Symposium, pages 191--200, 2009.Google Scholar
- VMware. Understanding memory resource management in vmware vsphere 5.0. In Technical White Paper. VMware, 2011.Google Scholar
- C. A. Waldspurger. Memory resource management in vmware esx server. In ACM SIGOPS Operating Systems Review, pages 181--194, 2002. Google ScholarDigital Library
- C. A. Waldspurger and W. E. Weihl. Lottery scheduling: Flexible proportional-share resource management. In Proceedings of the 1st USENIX conference on Operating Systems Design and Implementation, page 1. USENIX Association, 1994. Google ScholarDigital Library
- W. Zhao, Z. Wang, and Y. Luo. Dynamic memory balancing for virtual machines. ACM SIGOPS Operating Systems Review, 43(3):37--47, 2009. Google ScholarDigital Library
- P. Zhou, V. Pandey, J. Sundaresan, A. Raghuraman, Y. Zhou, and S. Kumar. Dynamic tracking of page miss ratio curve for memory management. In ACM SIGOPS Operating Systems Review, volume 38, pages 177--188. ACM, 2004. Google ScholarDigital Library
Index Terms
- Dynamic Memory Pressure Aware Ballooning
Recommendations
HUB: hugepage ballooning in kernel-based virtual machines
MEMSYS '18: Proceedings of the International Symposium on Memory SystemsModern applications running on cloud data centers often consume a large amount of memory and their memory demands can vary during execution. Dynamic memory allocation is a necessity for high memory utilization. For a large dataset application, using ...
Optimizing guest swapping using elastic and transparent memory provisioning on virtualization platform
On virtualization platforms, peak memory demand caused by hotspot applications often triggers page swapping in guest OS, causing performance degradation inside and outside of this virtual machine (VM). Even though host holds sufficient memory pages, ...
Hotplug or Ballooning: A Comparative Study on Dynamic Memory Management Techniques for Virtual Machines
In virtualization environments, static memory allocation for virtual machines (VMs) can lead to severe service level agreement (SLA) violations or inefficient use of memory. Dynamic memory allocation mechanisms such as ballooning and memory hotplug were ...
Comments