Post-Copy Based Live Migration of Virtual Machines

In this project, we have designed, implemented, and evaluated a Post-Copy based approach for the live migration of virtual machines (VMs) across a gigabit LAN. Live migration is a pervasive feature of modern hypervisors. It facilitates server consolidation, system maintenance, and lower power consumption. Post-copy refers to the deferral of the memory-copy phase of live migration until after the VM's CPU state has been migrated to the target node. This is in contrast to the traditional pre-copy approach, which first copies the memory state over multiple iterations followed by the transfer of CPU execution state. The post-copy strategy provides a win-win by reducing the total migration time while maintaining the liveness benefits of the pre-copy approach. We facilitate the use of post-copy with a specific instance of adaptive prepaging (also known as adaptive remote paging). Pre-paging eliminates all duplicate page transmissions and quickly removes any residual dependencies for the migrating VM from the source node. Our prepaging algorithm is able to reduce the number of page faults across the network to 17% of the VM's working set. Finally, we enhance both the original pre-copy and post-copy schemes with the use of a dynamic, periodic self-ballooning (DSB) strategy, which prevents the migration daemon from transmitting unnecessary free pages in the guest OS. DSB significantly speeds up both the pre-copy and post-copy migration schemes with very negligible performance degradation to the processes running within the VM. We have implemented the post-copy approach in the Xen VM environment and showed that it significantly reduces the total migration time and network overheads across a range of real-world VM workloads when compared against the traditional pre-copy approach.

Publications

  1. Michael Hines and Umesh Deshpande and Kartik Gopalan, Post-Copy Live Migration of Virtual Machines, In SIGOPS Operating Systems Review, July 2009. [pdf] [bibtex]
  2. Michael Hines and Kartik Gopalan, Post-Copy Based Live Virtual Machine Migration Using Adaptive Pre-Paging And Dynamic Self-Ballooning, In the International Conference on Virtual Execution Environments (VEE), Washington DC, March 2009. (Among four best papers at VEE 2009 selected for publication in OSR Special Issue). [pdf] [bibtex]
  3. Michael Hines and Kartik Gopalan, MemX: Supporting Large Memory Workloads in Xen Virtual Machines, In Proc. of the International Workshop on Virtualization Technology in Distributed Computing (VTDC), Reno, NV, November 2007. [pdf] [bibtex]