Optimization Techniques for Memory Virtualization-based Resource Management
The Graduate School, Stony Brook University: Stony Brook, NY.
Memory virtualization abstracts the physical memory resources in a virtualized server in such a way that offers many resource management advantages, such as consolidation, sharing, compression and migration. The main goal of this dissertation project is to develop optimization techniques to resource management schemes based on memory virtualization. Although migration of virtual machine (VM) memory state is a standard feature of most modern hypervisors, migration of physical machine memory state is largely non-existent. We applied the standard VM migration technique to building the first known physical machine state migration system for Linux servers, which significantly increases the system management flexibility for physical machine administration. Virtual machine introspection (VMI) allows the internal states of a VM to be analyzed. We exploited VMI to identify free memory pages, and leverage this knowledge to significantly improve the efficiency of memory de-duplication and memory state migration. To analyze undocumented data structures in different kernel versions, we developed a novel memory analysis procedure that programmatically takes advantage of the availability of guest kernel source code when it exists. To further increase memory utilization, we propose an adaptive memory compression scheme that makes better use of the physical memory resources of virtualized servers by accurately and efficiently tracking the working sets of individual VMs. Finally, cloning a VM involves copying of the VM's memory pages. To minimize the memory copying overhead when cloning a VM on the same physical machine, we propose a lazy memory state creation scheme that defers the copying of a cloned VM's memory pages and its memory mapping tables to the last possible moment.