TY - GEN
T1 - Virtio-mem
T2 - 17th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments, VEE 2021
AU - Hildenbrand, David
AU - Schulz, Martin
N1 - Publisher Copyright:
© 2021 ACM.
PY - 2021/4/16
Y1 - 2021/4/16
N2 - The ability to dynamically increase or reduce the amount of memory available to a virtual machine is getting increasingly important: As one example, cloud users want to dynamically adjust the memory assigned to their virtual machines to optimize costs. Traditional memory hot(un)plug, such as hot(un)plugging emulated DIMMs, and memory ballooning can dynamically resize virtual machine memory. However, existing approaches provide limited flexibility, are incompatible with important technologies like vNUMA and fast operating system reboots, or are unsuitable when hosting untrusted virtual machines. To overcome these limitations, we introduce virtio-mem, a VIRTIO-based paravirtualized memory device, designed for fine-grained, NUMA-Aware memory hot(un)plug in cloud environments. To showcase the adaptions needed in a hypervisor and a guest operating system to support virtio-mem, we describe our implementation in the QEMU/KVM hypervisor and Linux guests. We evaluate virtio-mem against traditional memory hot(un)plug and memory ballooning, showing that our approach enables assignment of memory in substantially smaller granularity per NUMA node than traditional memory hot(un)plug, such as 4 MiB on x86-64. In contrast to memory ballooning, virtio-mem is fully NUMA-Aware and supports fast operating system reboots by design, while guaranteeing that malicious virtual machines, which try using more memory than agreed upon, can be detected reliably. We conclude that using paravirtualized memory devices for dynamically resizing virtual machine memory significantly increases flexibility and usability compared to state-of-The-Art. A first version of virtio-mem for x86-64 has been integrated into upstream Linux and QEMU.
AB - The ability to dynamically increase or reduce the amount of memory available to a virtual machine is getting increasingly important: As one example, cloud users want to dynamically adjust the memory assigned to their virtual machines to optimize costs. Traditional memory hot(un)plug, such as hot(un)plugging emulated DIMMs, and memory ballooning can dynamically resize virtual machine memory. However, existing approaches provide limited flexibility, are incompatible with important technologies like vNUMA and fast operating system reboots, or are unsuitable when hosting untrusted virtual machines. To overcome these limitations, we introduce virtio-mem, a VIRTIO-based paravirtualized memory device, designed for fine-grained, NUMA-Aware memory hot(un)plug in cloud environments. To showcase the adaptions needed in a hypervisor and a guest operating system to support virtio-mem, we describe our implementation in the QEMU/KVM hypervisor and Linux guests. We evaluate virtio-mem against traditional memory hot(un)plug and memory ballooning, showing that our approach enables assignment of memory in substantially smaller granularity per NUMA node than traditional memory hot(un)plug, such as 4 MiB on x86-64. In contrast to memory ballooning, virtio-mem is fully NUMA-Aware and supports fast operating system reboots by design, while guaranteeing that malicious virtual machines, which try using more memory than agreed upon, can be detected reliably. We conclude that using paravirtualized memory devices for dynamically resizing virtual machine memory significantly increases flexibility and usability compared to state-of-The-Art. A first version of virtio-mem for x86-64 has been integrated into upstream Linux and QEMU.
KW - Memory Ballooning
KW - Memory Hotplug
KW - Memory Hotunplug
KW - Memory Resize
KW - Paravirtualization
UR - http://www.scopus.com/inward/record.url?scp=85104602360&partnerID=8YFLogxK
U2 - 10.1145/3453933.3454010
DO - 10.1145/3453933.3454010
M3 - Conference contribution
AN - SCOPUS:85104602360
T3 - VEE 2021 - Proceedings of the 17th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments
SP - 1
EP - 14
BT - VEE 2021 - Proceedings of the 17th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments
A2 - Titzer, Ben L.
A2 - Xu, Harry
A2 - Zhang, Irene
PB - Association for Computing Machinery, Inc
Y2 - 16 April 2021 through 16 April 2021
ER -