Paravirtualized Memory Allocation for Nested VMs

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveavailable memoryVSAvoidcomputational expense
Core Design Contradiction:
Quantity of substanceVSUse of energy by moving object

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improveavailable memoryVSAvoidsystem stability
Core Design Contradiction:
Quantity of substanceVSReliability

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #9Preliminary anti-action

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

Engineering Contradiction:
Improveavailable memoryVSAvoidmemory management complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11593170B2Flexible reverse ballooning for nested virtual machines
Publication Date: 2023.02.28 RED HAT INC
  • US11593170B2 patent drawing
  • US11593170B2 patent drawing
  • US11593170B2 patent drawing

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.