VMMB: Virtual Machine Memory Balancing for Unmodified Operating Systems

被引:14
作者
Min, Changwoo [1 ,2 ]
Kim, Inhyeok [1 ]
Kim, Taehyoung [1 ]
Eom, Young Ik [1 ]
机构
[1] Sungkyunkwan Univ, Sch Informat & Commun Engn, Suwon 440746, Gyeonggi Do, South Korea
[2] Samsung Elect, Suwon 443742, Gyeonggi Do, South Korea
基金
新加坡国家研究基金会;
关键词
Virtualization; Memory balancing; LRU histogram; Double paging;
D O I
10.1007/s10723-012-9209-4
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Virtualization technology has been widely adopted in Internet hosting centers and cloud-based computing services, since it reduces the total cost of ownership by sharing hardware resources among virtual machines (VMs). In a virtualized system, a virtual machine monitor (VMM) is responsible for allocating physical resources such as CPU and memory to individual VMs. Whereas CPU and I/O devices can be shared among VMs in a time sharing manner, main memory is not amendable to such multiplexing. Moreover, it is often the primary bottleneck in achieving higher degrees of consolidation. In this paper, we present VMMB (Virtual Machine Memory Balancer), a novel mechanism to dynamically monitor the memory demand and periodically re-balance the memory among the VMs. VMMB accurately measures the memory demand with low overhead and effectively allocates memory based on the memory demand and the QoS requirement of each VM. It is applicable even to guest OS whose source code is not available, since VMMB does not require modifying guest kernel. We implemented our mechanism on Linux and experimented on synthetic and realistic workloads. Our experiments show that VMMB can improve performance of VMs that suffers from insufficient memory allocation by up to 3.6 times with low performance overhead (below 1%) for monitoring memory demand.
引用
收藏
页码:69 / 84
页数:16
相关论文
共 33 条
[1]  
Andreolini M, 2010, L N INST COMP SCI SO, V34, P201
[2]  
[Anonymous], 1997, INT 64 IA 32 ARC B 2, V3B
[3]  
[Anonymous], 2007, P LINUX S DTTAW DNTO
[4]  
[Anonymous], 2009, Proceedings of the 2009 ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments, VEE'09, (New York, NY, USA)
[5]  
[Anonymous], 2007, USENIX C NETW SYST D
[6]  
[Anonymous], 2009, SYNTHESIS LECT COMPU
[7]  
[Anonymous], P USENIX ANN TECHN C
[8]  
Bovet D. P., 2005, Understanding The Linux Kernel, V3rd
[9]  
Chen Z., 2003, P USENIX ANN TECHN C, P269
[10]  
Clark C, 2005, USENIX ASSOCIATION PROCEEDINGS OF THE 2ND SYMPOSIUM ON NETWORKED SYSTEMS DESIGN & IMPLEMENTATION (NSDI '05), P273