Host Address Space Identifier for Virtual NUMA Locality

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualized computing systems, automatic NUMA balancing is often disabled due to conflicts and inefficiencies between host and guest systems managing the same memory, leading to sub-optimal performance and the need for manual partitioning, which is time-consuming and difficult.

Innovation Solution

The implementation of host address space identifiers (HASIDs) that map guest physical addresses to virtual NUMA nodes, allowing the hypervisor to automate NUMA placement and synchronize with the guest system, thereby enabling efficient automatic NUMA balancing without conflicts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If automatic NUMA balancing is enabled in virtualized systems, then memory access performance is improved, but conflicts and inefficiencies arise between host and guest systems managing the same memory

Engineering Contradiction:
Improvememory access performanceVSAvoidsystem stability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent segments the address space by introducing host address space identifiers (HASIDs) that distinguish between host and guest address spaces. This segmentation allows the hypervisor to manage NUMA balancing independently for each address space, preventing conflicts between host and guest memory management while enabling automatic NUMA balancing to improve memory access performance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary mechanism (HASID translation and hypervisor management layer) between the guest OS and physical memory. This intermediary enables automatic NUMA balancing by translating guest virtual addresses to host physical addresses while maintaining proper NUMA affinity, thus improving memory access performance without causing system instability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If automatic NUMA balancing is disabled in virtualized systems, then system stability is maintained, but memory access performance deteriorates

Engineering Contradiction:
Improvesystem stabilityVSAvoidmemory access performance
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

By segmenting the address space using HASIDs, the patent enables automatic NUMA balancing to operate safely in virtualized environments. This segmentation resolves the contradiction by allowing performance optimization without compromising system stability, as each address space is managed independently with proper affinity tracking.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the address space parameters by incorporating HASIDs into the address translation process. This parameter change enables the system to track and maintain NUMA affinity information, allowing automatic NUMA balancing to improve memory access performance while maintaining system stability through proper address space management.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If manual NUMA partitioning is used in virtualized systems, then configuration control is improved, but setup complexity and time consumption increase

Engineering Contradiction:
Improveconfiguration controlVSAvoidsetup complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements self-service automatic NUMA balancing that eliminates the need for manual configuration. The hypervisor automatically tracks address space affinity and performs NUMA balancing operations without requiring manual partitioning, thus reducing setup complexity and time consumption while maintaining adaptability through automated address space management.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

By changing the address space parameters to include HASIDs, the patent enables automatic NUMA balancing that provides configuration control without manual intervention. This parameter change allows the system to adapt to different workloads automatically while simplifying setup by eliminating manual partitioning requirements.

Inventive Principle:
Principle #35Parameter changes

4Productivity

If host and guest systems both manage the same memory independently, then each system can optimize its own performance, but conflicts arise leading to inefficiencies

Engineering Contradiction:
Improvesystem efficiencyVSAvoidmemory management stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the memory management by introducing HASIDs that create distinct address spaces for host and guest operations. This segmentation allows both systems to optimize their own performance independently while the hypervisor coordinates memory management to prevent conflicts, thus improving system efficiency without compromising stability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary hypervisor layer with HASID translation that mediates between host and guest memory management. This intermediary enables both systems to optimize their own operations while coordinating through the translation layer, improving overall system efficiency while maintaining memory management stability by preventing direct conflicts.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12117940B2Host address space identifier for non-uniform memory access locality in virtual machines
Publication Date: 2024.10.15 RED HAT LLC
  • US12117940B2 patent drawing
  • US12117940B2 patent drawing
  • US12117940B2 patent drawing

AI summary

Aspects of the disclosure provide for implementing host address space identifiers for non-uniform memory access (NUMA) locality in virtual machines. A method of the disclosure includes determining, by a virtual machine (VM), that a guest memory page is to be moved from a first virtual NUMA node of the VM to a second virtual NUMA node of the VM. The method also includes updating, one or more designated bits of a guest physical address (GPA) of the memory page to include a host address space identifier (HASID) of the second virtual NUMA node, where the guest page table maps the GPA of the memory page to a corresponding guest virtual address (GVA) of the VM and where the HASID associates the GPA of the memory page with a corresponding virtual NUMA node locality, and accessing by the VM, the updated GPA.