Exit-less Host Memory Locking in Virtualized Environments

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current virtualization systems either lock all or none of a guest's memory pages, which is excessive for many guests, reducing the number of guests that can run on a host and causing latency issues in real-time applications.

Innovation Solution

A guest operating system can directly modify a shared memory locking indicator to lock specific memory pages, allowing for partial memory locking without explicit host notification, thereby preventing these pages from being swapped out or copied.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the hypervisor locks all guest memory pages, then memory security is improved, but the number of guests that can run on the host decreases

Engineering Contradiction:
Improvememory securityVSAvoidnumber of guests
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments memory locking from a global all-or-nothing operation into individual page-level locking. Each guest can selectively lock only specific memory pages that require protection, rather than locking entire memory spaces. This segmentation allows multiple guests to coexist with their respective locked pages, increasing the number of guests that can run on the host while maintaining security for critical pages.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by allowing different security properties for different memory pages. Critical pages containing sensitive data can be locked individually, while non-critical pages remain unlocked and available for swapping. This selective approach maintains memory security for important data while optimizing resource utilization across multiple guests.

Inventive Principle:
Principle #3Local quality

2Reliability

If the hypervisor locks all guest memory pages, then memory security is improved, but memory resource utilization deteriorates

Engineering Contradiction:
Improvememory securityVSAvoidmemory resource utilization
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

By segmenting memory protection into individual page-level locking, the system allows only necessary pages to be locked while leaving other pages unlocked and available for allocation to other guests or for swapping. This prevents the waste of memory resources that occurs when entire memory spaces are locked unnecessarily.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by locking only the specific portion of memory that requires protection rather than locking all memory pages. This partial locking approach provides adequate security for critical pages while leaving sufficient memory resources available for other uses, thereby improving overall memory resource utilization.

Inventive Principle:
Principle #16Partial or excessive action

3Quantity of substance

If the hypervisor swaps memory pages, then memory resource utilization is improved, but real-time application performance deteriorates

Engineering Contradiction:
Improvememory resource utilizationVSAvoidapplication latency
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent allows real-time applications to perform preliminary locking of memory pages that will be needed for processing. By locking these pages in advance before they are needed, the application ensures that critical pages remain in physical memory and are not swapped out during time-sensitive operations, thereby preventing latency issues while still allowing non-critical pages to be swapped for resource utilization.

Inventive Principle:
Principle #10Preliminary action

4Adaptability or versatility

If guests can lock specific memory pages, then memory control is improved, but system complexity increases

Engineering Contradiction:
Improvememory controlVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements self-service by allowing guest operating systems to autonomously manage their own memory locking without requiring explicit hypervisor intervention for each page. The guest OS can directly lock and unlock specific pages according to its own security and performance requirements, reducing the operational complexity for system administrators while maintaining improved memory control and adaptability.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9875047B2Exit-less host memory locking in a virtualized environment
Publication Date: 2018.01.23 RED HAT ISRAEL
  • US9875047B2 patent drawing
  • US9875047B2 patent drawing
  • US9875047B2 patent drawing

AI summary

Embodiments of the present disclosure enable exit-less host memory locking in a virtualized environment. An example method comprises protecting, by a processing device of a host computer system, a memory page from being accessed by a guest operating system of a virtual machine running on the host computer system. The locking indicator resides in a shared memory accessible by the guest operating system. Responsive to determining that the locking indicator indicates that the memory page is not in a locked state, the memory page is accessed. Thereafter, access to the memory page is re-enabled for the guest operating system.