This preview shows pages 1–2. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.View Full Document
Unformatted text preview: Memory Resource Management in VMware ESX Server Carl A. Waldspurger VMware, Inc. Palo Alto, CA 94304 USA firstname.lastname@example.org Abstract VMware ESX Server is a thin software layer designed to multiplex hardware resources efficiently among virtual ma- chines running unmodified commodity operating systems. This paper introduces several novel ESX Server mechanisms and policies for managing memory. A ballooning technique reclaims the pages considered least valuable by the operat- ing system running in a virtual machine. An idle memory tax achieves efficient memory utilization while maintaining per- formance isolation guarantees. Content-based page sharing and hot I/O page remapping exploit transparent page remap- ping to eliminate redundancy and reduce copying overheads. These techniques are combined to efficiently support virtual machine workloads that overcommit memory. 1 Introduction Recent industry trends, such as server consolida- tion and the proliferation of inexpensive shared-memory multiprocessors, have fueled a resurgence of interest in server virtualization techniques. Virtual machines are particularly attractive for server virtualization. Each virtual machine (VM) is given the illusion of being a ded- icated physical machine that is fully protected and iso- lated from other virtual machines. Virtual machines are also convenient abstractions of server workloads, since they cleanly encapsulate the entire state of a running sys- tem, including both user-level applications and kernel- mode operating system services. In many computing environments, individual servers are underutilized, allowing them to be consolidated as virtual machines on a single physical server with little or no performance penalty. Similarly, many small servers can be consolidated onto fewer larger machines to sim- plify management and reduce costs. Ideally, system ad- ministrators should be able to flexibly overcommit mem- ory, processor, and other resources in order to reap the benefits of statistical multiplexing, while still providing resource guarantees to VMs of varying importance. Virtual machines have been used for decades to al- low multiple copies of potentially different operating systems to run concurrently on a single hardware plat- form . A virtual machine monitor (VMM) is a soft- ware layer that virtualizes hardware resources, export- ing a virtual hardware interface that reflects the under- lying machine architecture. For example, the influential VM/370 virtual machine system  supported multiple concurrent virtual machines, each of which believed it was running natively on the IBM System/370 hardware architecture . More recent research, exemplified by Disco [3, 9], has focused on using virtual machines to provide scalability and fault containment for com- modity operating systems running on large-scale shared- memory multiprocessors....
View Full Document
This note was uploaded on 12/14/2011 for the course CS 690 taught by Professor Staff during the Fall '11 term at University of Alabama - Huntsville.
- Fall '11