Skip to main navigation Skip to search Skip to main content

HyperAlloc: Efficient VM Memory De/Inflation via Hypervisor-Shared Page-Frame Allocators

  • Lars Wrenger
  • , Kenny Albes
  • , Marco Wurps
  • , Christian Dietrich
  • , Daniel Lohmann

Research output: Chapter in book/report/conference proceedingConference contributionResearchpeer review

Abstract

The provisioning of the right amount of DRAM to virtual machines (VMs) is still a major challenge and cost driver in virtualization settings. Many VMs run applications with highly volatile memory demands, which either leads to massive overprovisioning in low-demand phases or poor QoS in high-demand phases. Memory hotplugging and ballooning have become established techniques (in Linux/KVM available via virtio-mem and virtio-balloon) to dynamically de/inflate the physical memory of a VM cooperatively, by having the guests give back unused memory to the hypervisor. However, current VM deflation techniques are either not DMA-safe, preventing the passthrough of important devices like GPUs or NICs, or are not flexible or fast enough to cope with the frequently changing demands of the guest. We present HyperAlloc, a DMA-safe and extremely efficient mechanism for virtual machine de/inflation. The core idea is to provide the hypervisor direct access to the guest’s page-frame allocator, greatly reducing the communication overhead. HyperAlloc can shrink virtual machines 362 times faster than virtio-balloon and 10 times faster than virtio-mem while having no measurable impact on the guest’s performance. HyperAlloc’s automatic reclamation provides for better memory elasticity by reducing the average memory footprint of a clang compilation by 17 percent compared to virtio-balloon’s free-page reporting while, again, having no measurable impact on the guest’s performance.

Original languageEnglish
Title of host publicationEuroSys 2025 - Proceedings of the 2025 20th European Conference on Computer Systems
PublisherAssociation for Computing Machinery, Inc
Pages702-719
Number of pages18
ISBN (Electronic)9798400711961
DOIs
Publication statusPublished - 30 Mar 2025
Event20th European Conference on Computer Systems (EuroSys 2025) co-located with 30th ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2025) - Rotterdam, Netherlands
Duration: 30 Mar 20253 Apr 2025

Conference

Conference20th European Conference on Computer Systems (EuroSys 2025) co-located with 30th ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2025)
Country/TerritoryNetherlands
CityRotterdam
Period30 Mar 20253 Apr 2025

Keywords

  • Allocators
  • Ballooning
  • Overcommitment
  • Virtual Machines

ASJC Scopus subject areas

  • Computer Networks and Communications
  • Hardware and Architecture
  • Control and Systems Engineering

Cite this