Hypervisor Swap File for Virtual Machine Memory Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing virtualization techniques, such as memory page swapping in VMware ESX, suffer from performance penalties and inefficiencies in managing over-provisioned memory resources, leading to suboptimal utilization and potential conflicts among virtual machines.
Innovation Solution
A method involving a hypervisor that creates a swap file for virtual machines, allocates guest physical memory to access host physical memory, and intercepts memory access attempts to dynamically allocate host physical memory, ensuring that host physical memory remains above a minimum threshold by swapping out least-used pages.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If memory page swapping is implemented in hypervisor to manage over-provisioned memory, then memory utilization is improved, but system performance deteriorates due to significant performance penalties
Solution Approach 1:
The patent introduces a swap space as an intermediary storage mechanism between physical memory and the hypervisor's memory management. Instead of directly swapping pages between physical memory and disk (which causes performance penalties), the system uses a dedicated swap space that acts as a buffer, allowing the hypervisor to manage over-provisioned memory without direct performance impact on running VMs.
Solution Approach 2:
The patent creates a copy of memory pages in the swap space rather than moving them directly. When physical memory needs to be reclaimed, pages are copied to the swap space, allowing the original physical memory to be freed without the performance penalty of direct swapping. This copying mechanism enables efficient memory management while maintaining system performance.
2Quantity of substance
If over-provisioning technique is used to increase resource utilization, then memory capacity is improved, but resource conflicts worsen among virtual machines
Solution Approach 1:
The patent implements a feedback mechanism where the hypervisor continuously monitors memory usage across all virtual machines and dynamically adjusts memory allocation. When resource conflicts are detected or memory thresholds are approached, the system automatically triggers swapping operations to rebalance memory distribution, preventing conflicts before they occur while maintaining over-provisioning benefits.
Solution Approach 2:
The patent makes memory allocation dynamic rather than static. The hypervisor continuously adjusts which pages are swapped and when, based on real-time memory pressure and VM activity patterns. This dynamic approach allows the system to accommodate over-provisioning while automatically resolving resource conflicts as they arise, improving both capacity utilization and reliability.
3Ease of operation
If hypervisor performs page allocation based on available memory information, then memory management is improved, but available memory levels worsen due to over-provisioning
Solution Approach 1:
The patent prepares swap space in advance and pre-configures the swapping mechanism before memory conflicts occur. The hypervisor has the swapping infrastructure ready, so when over-provisioning causes memory levels to drop, pages can be quickly swapped without management overhead. This preliminary preparation maintains ease of operation while ensuring sufficient available memory is maintained through proactive swapping.
Data Source
AI summary
Disclosed are examples of memory allocation and reallocation for virtual machines operating in a shared memory configuration creating a swap file for at least one virtual machine. One example method may include allocating guest physical memory to the swap file to permit the at least one virtual machine to access host physical memory previously occupied by the guest physical memory. The example method may also include determining whether an amount of available host physical memory is below a minimum acceptable level threshold, and if so then freeing at least one page of host physical memory and intercepting a memory access attempt performed by the at least one virtual machine and allocating host physical memory to the virtual machine responsive to the memory access attempt.


