Hotplug or Ballooning: A Comparative Study on Dynamic Memory Management Techniques for Virtual Machines

Haikun Liu,Hai Jin,Xiaofei Liao,Wei Deng,Bingsheng He,Cheng-Zhong Xu
DOI: https://doi.org/10.1109/TPDS.2014.2320915
2015-01-01
Abstract: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 proposed to handle the dynamics of memory demands. However, these mechanisms so far have not been quantitatively or comparatively studied. In this paper, we first develop a runtime system called U-tube, which provides a framework to adopt memory hotplug or ballooning for dynamic memory allocation. We then implement fine-grained memory hotplug in Xen. We demonstrate the effectiveness of U-tube for dynamic memory management through two case studies: dynamic memory balancing and memory overcommitment. With these two case studies, we make a quantitative comparison between memory hotplug and ballooning. The experiments show that there is no absolute winner for different scenarios. Our findings can be very useful for practitioners to choose the suitable dynamic memory management techniques in different scenarios.
What problem does this paper attempt to address?