Paravirtualized Memory Allocation for Nested VMs
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory management techniques for nested virtual machines, such as cache flushing and memory swapping, are computationally expensive and can lead to performance degradation, data loss, and system instability, especially when dealing with out-of-memory scenarios, as they are not synchronous with host hypervisor interventions.
Innovation Solution
Implementing a system that uses paravirtualized memory devices to request and allocate additional memory synchronously, avoiding premature activation of the OOM killer and reducing the need for costly memory freeing processes by dynamically expanding virtual machine memory on demand through paravirtualized memory devices.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If memory freeing techniques (cache flushing, memory swapping) are used when guest OS needs additional memory, then additional memory can be freed, but computational expense increases and performance degradation occurs
Solution Approach 1:
The host hypervisor proactively allocates additional memory to the guest hypervisor before the guest OS needs it, by intercepting and handling memory allocation requests at the host level. This preliminary action prevents the need for costly memory freeing operations later when memory pressure occurs.
Solution Approach 2:
The patent introduces an intermediary mechanism where the host hypervisor mediates between the guest hypervisor's memory needs and the physical memory availability. By handling memory allocation requests at the host level and using paravirtualized memory devices, the system avoids direct memory freeing operations in the guest OS that would cause performance degradation.
2Quantity of substance
If memory freeing techniques are used to provide additional memory, then memory availability increases, but system stability decreases due to premature OOM killer activation and data loss risk
Solution Approach 1:
The host hypervisor preemptively allocates memory to the guest hypervisor before the guest OS encounters out-of-memory conditions. This preliminary memory allocation prevents premature activation of the OOM killer and eliminates the risk of data loss associated with forced memory freeing operations.
Solution Approach 2:
The patent applies preliminary anti-action by preventing the guest OS from entering out-of-memory states through proactive memory allocation at the host level. This counteracts the potential harmful effects of OOM killer activation and data loss before they can occur.
3Quantity of substance
If guest OS uses traditional memory management techniques, then memory can be freed, but operation complexity increases due to asynchronous host hypervisor interventions
Solution Approach 1:
The host hypervisor acts as an intermediary that handles memory allocation requests from the guest hypervisor, translating guest memory needs into host-level memory management operations. This intermediary mechanism simplifies the guest OS's memory management by abstracting away the complexity of asynchronous host hypervisor interventions.
Solution Approach 2:
The guest hypervisor can independently request and receive additional memory allocation from the host hypervisor through paravirtualized memory devices without needing to implement complex memory freeing techniques. This self-service approach reduces the operational complexity in the guest OS while maintaining efficient memory management.
Data Source
AI summary
A system includes a memory, at least one processor in communication with the memory, a guest hypervisor, and a host hypervisor executing on the at least one processor. The host hypervisor is configured to receive a request for additional memory, request the additional memory from a paravirtualized memory device, allocate the additional memory to the guest hypervisor, and report a status of the request. The status of the request is either a success status or a failure status.


