Hypervisor Memory Allocation Without Clearing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualized computer systems, the existing practice of hypervisors clearing memory pages before allocation incurs a significant performance penalty while ensuring data security, which reduces system efficiency.

Innovation Solution

The hypervisor maintains a set of free page identifiers associated with VMs that relinquish memory pages, allowing for allocation without clearing when the page was previously used by the same VM, and clearing only when necessary to ensure data security.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the hypervisor clears memory pages before allocation to ensure data security, then data security is improved, but system performance deteriorates due to the significant performance penalty incurred by clearing pages

Engineering Contradiction:
Improvedata securityVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies local quality by differentiating the treatment of memory pages based on their allocation history. Pages allocated to the same VM are treated differently (not cleared) compared to pages allocated to different VMs (cleared). This selective approach optimizes performance for recurring allocations while maintaining security for cross-VM allocations, resolving the contradiction between security and performance.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements preliminary action by pre-establishing an association between VM identifiers and memory page identifiers in a data structure before allocation occurs. This pre-computation allows the hypervisor to quickly determine whether clearing is necessary, avoiding the performance penalty of unnecessary clearing operations while ensuring security when needed.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the hypervisor always clears pages before allocation to prevent data leakage, then data security is ensured, but the accumulated performance penalty significantly reduces system efficiency

Engineering Contradiction:
Improvedata securityVSAvoidsystem efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies local quality by differentiating the treatment of memory pages based on their allocation history. Pages allocated to the same VM are treated differently (not cleared) compared to pages allocated to different VMs (cleared). This selective approach optimizes performance for recurring allocations while maintaining security for cross-VM allocations, resolving the contradiction between security and performance.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements partial action by clearing memory pages only when necessary (when allocating to a different VM) rather than always clearing. This partial clearing approach maintains security where needed while avoiding the performance penalty of unnecessary clearing operations, thereby improving overall system efficiency.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If the hypervisor maintains associations between page identifiers and VM identifiers to enable selective allocation, then performance is improved by reducing unnecessary clearing, but device complexity increases

Engineering Contradiction:
ImproveperformanceVSAvoidhypervisor complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies copying by creating a simplified data structure that stores associations between VM identifiers and memory page identifiers. This data structure acts as a copy or mapping table that the hypervisor can query efficiently, adding minimal complexity while enabling the performance benefits of selective page clearing.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent introduces an intermediary data structure that mediates between the VM and the memory management system. This intermediary stores the associations and provides a simple interface for the hypervisor to determine whether clearing is needed, reducing the complexity of the overall memory management logic while maintaining performance benefits.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9798482B1Efficient and secure memory allocation in virtualized computer systems
Publication Date: 2017.10.24 RED HAT INC
  • US9798482B1 patent drawing
  • US9798482B1 patent drawing
  • US9798482B1 patent drawing

AI summary

A system and method for efficient and secure memory allocation in virtualized systems. A hypervisor receives, from a first virtual machine (VM), a message specifying a page of memory accessible to the first VM. The hypervisor determines that the page is not accessible to other VMs, adds an identifier identifying the page to a set of free page identifiers, and associates the identifier with the first VM. The hypervisor receives a page allocation request from a second VM, and in response attempts to locate an identifier associated with the second VM in the set of free page identifiers. Responsive to a successful attempt, the hypervisor allocates to the second VM a first page of memory corresponding to the located identifier, without clearing the first page. Responsive to an unsuccessful attempt, the hypervisor clears a second page of memory and allocates the cleared second page to the second VM.