Memory-virtualizing and -devirtualizing VM Migration with Private Virtual Memory
Yuji Muraoka, Kenichi Kourai · 2023
Recently, Infrastructure-as-a-Service clouds provide virtual machines (VMs) with a large amount of memory. Such large-memory VMs can be migrated to other hosts, but it is costly to always preserve hosts with sufficient memory as the destinations of VM migration. Instead, memory-virtualizing VM migration using virtual memory is possible, but the performance of VM migration and migrated VMs largely degrades because traditional virtual memory causes excessive paging during and after VM migration. This paper proposes VMemDirect, which achieves efficient memory-virtualizing VM migration. VMemDirect provides private virtual memory with private swap space on an NVMe SSD for each VM. Then, it directly transfers the memory data of a VM to either physical memory or private swap space to completely avoid paging during VM migration. In addition, VMemDirect provides efficient memory-devirtualizing VM migration for VMs running on private virtual memory. To optimize the performance of migrated VMs, it uses a more accurate and efficient LRU approximation using chunk queues and performs asynchronous paging. We showed that VMemDirect dramatically improved the performance of VM migration and migrated VMs using large VMs.