Cloud computing platforms routinely use virtualization to improve service availability, resiliency, and flexibility. Live migration of Virtual Machines (VM) is a key technique to quickly migrate workloads in response to events such as impending failure or load changes. Despite extensive research, state-of-the-art live migration approaches take a long time to migrate a VM (in the order of tens of seconds for moderately sized VMs) which in turn negatively impacts the application performance during migration. We present Quick Eviction, a new approach to significantly speed up the eviction of a VM from the source host with low impact on VM's performance during migration. Our approach can also improve the effectiveness of VM resilience tools that back up a VM's state in anticipation of system failures. The insight behind Quick Eviction is that the majority of time to evict a VM during migration is due to the transfer of memory contents over the network, sometimes repeatedly. Before migration, Quick Eviction regularly snapshots the VM's memory to a destination or a failover node. During the actual migration, Quick Eviction has to transfer only a small amount of dirtied memory resulting in a very short time to completely evict the VM out of the source. The key challenge is to dynamically adapt the snapshot intervals so as to have minimal impact on application performance during migration. We show that our implementation of Quick Eviction in the KVM/QEMU platform reduces the eviction time of a VM by significant factors for both idle and write-intensive VMs compared to traditional pre-copy algorithm, while maintaining low overheads on application performance and network.
['Dinuni Fernando', 'Hardik Bagdi', 'Yaohui Hu', 'Ping Yang', 'Kartik Gopalan', 'Charles A. Kamhoua', 'Kevin A. Kwiat']
Quick eviction of virtual machines through proactive live snapshots