Memory Resource Management in VMware ESX Server

Memory Resource Management in VMware ESX Server

Dec. 2002 | Carl A. Waldspurger
This paper introduces several novel mechanisms and policies for managing memory in VMware ESX Server, a thin software layer designed to efficiently multiplex hardware resources among virtual machines (VMs) running unmodified operating systems. The key mechanisms include: 1. **Ballooning**: A technique to reclaim pages considered least valuable by the operating system running in a VM by inflating a balloon module that allocates pinned physical pages within the VM. This forces the guest OS to invoke its own memory management algorithms, allowing ESX Server to reclaim the corresponding machine pages. 2. **Idle Memory Tax**: An efficient memory utilization technique that charges clients more for idle pages than for active ones. This ensures that memory is preferentially reclaimed from idle VMs, maintaining performance isolation guarantees. 3. **Content-Based Page Sharing**: A method to identify and share identical pages between VMs based on their contents, eliminating redundancy and reducing copying overheads. This approach does not require modifications to the guest OS and can identify more sharing opportunities. 4. **Hot I/O Page Remapping**: A technique to transparently remap guest pages between high and low memory for I/O operations, reducing copying overheads and improving performance. The paper also discusses the integration of working-set estimates into a proportional-share allocation algorithm, which balances memory allocation based on VM importance and active memory usage. Experimental results demonstrate the effectiveness of these mechanisms in achieving efficient memory management and performance isolation.This paper introduces several novel mechanisms and policies for managing memory in VMware ESX Server, a thin software layer designed to efficiently multiplex hardware resources among virtual machines (VMs) running unmodified operating systems. The key mechanisms include: 1. **Ballooning**: A technique to reclaim pages considered least valuable by the operating system running in a VM by inflating a balloon module that allocates pinned physical pages within the VM. This forces the guest OS to invoke its own memory management algorithms, allowing ESX Server to reclaim the corresponding machine pages. 2. **Idle Memory Tax**: An efficient memory utilization technique that charges clients more for idle pages than for active ones. This ensures that memory is preferentially reclaimed from idle VMs, maintaining performance isolation guarantees. 3. **Content-Based Page Sharing**: A method to identify and share identical pages between VMs based on their contents, eliminating redundancy and reducing copying overheads. This approach does not require modifications to the guest OS and can identify more sharing opportunities. 4. **Hot I/O Page Remapping**: A technique to transparently remap guest pages between high and low memory for I/O operations, reducing copying overheads and improving performance. The paper also discusses the integration of working-set estimates into a proportional-share allocation algorithm, which balances memory allocation based on VM importance and active memory usage. Experimental results demonstrate the effectiveness of these mechanisms in achieving efficient memory management and performance isolation.
Reach us at info@study.space
[slides] Memory resource management in VMware ESX server | StudySpace