Dynamic NUMA Topology Updates for Virtual Machine Memory Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualized multi-processor computer systems supporting non-uniform memory access (NUMA), existing technologies fail to efficiently provide dynamic topology information to virtual machines due to static system topology assumptions, which are not valid in virtualized environments where virtual processor migration changes memory access latency values.

Innovation Solution

The system employs a hypervisor that updates Static Resource Affinity Table (SRAT) and System Locality Information Table (SLIT) entries with dynamic memory access latency values when virtual processors migrate, and notifies the guest operating system through ACPI events to optimize thread and process allocation based on changing topology.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If static system topology information is provided to virtual machines, then system complexity is reduced and ease of operation is improved, but system performance deteriorates due to inability to optimize memory access patterns in dynamic virtualized environments

Engineering Contradiction:
Improveease of operationVSAvoidsystem performance
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent implements dynamic topology information updates by detecting virtual processor migrations and notifying guest operating systems of changes in memory access latency characteristics. This transforms the static topology model into a dynamic one that adapts to runtime conditions, allowing the system to maintain both ease of operation through automated updates and high performance through optimized memory access patterns.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system establishes a feedback mechanism where the hypervisor monitors virtual processor locations and communicates topology changes back to guest operating systems. This feedback loop enables the guest OS to adjust thread and process allocation based on current memory access characteristics, resolving the contradiction between static simplicity and dynamic performance optimization.

Inventive Principle:
Principle #23Feedback

2Productivity

If dynamic topology information is provided to virtual machines, then system performance is improved through optimized memory access, but device complexity increases due to additional tracking and notification mechanisms

Engineering Contradiction:
Improvesystem performanceVSAvoiddevice complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The hypervisor serves as an intermediary that manages the complexity of tracking virtual processor migrations and topology changes. By centralizing this functionality in the hypervisor, the patent isolates the complexity from both the physical hardware layer and the guest operating system layer, allowing performance optimization without proportionally increasing overall system complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The topology notification mechanism is integrated into the existing virtualization infrastructure, with the hypervisor performing multiple functions including memory management, processor allocation, and topology information distribution. This multi-functionality approach avoids adding separate dedicated systems for each function, thereby limiting the increase in overall device complexity while achieving dynamic performance optimization.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Adaptability or versatility

If virtual processors are migrated between physical processors, then adaptability is improved, but accuracy of topology information deteriorates when static assumptions are maintained

Engineering Contradiction:
ImproveadaptabilityVSAvoidtopology information accuracy
Core Design Contradiction:
Adaptability or versatilityVSMeasurement precision

Solution Approach 1:

The patent makes the topology information dynamic by continuously updating it based on virtual processor migration events. When a virtual processor moves between physical processors, the hypervisor detects the change and notifies the guest operating system, ensuring that topology information remains accurate and reflects current system state, thereby maintaining measurement precision while enabling adaptability.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system performs preliminary actions by pre-establishing the feedback mechanism and topology update protocols before virtual processor migrations occur. This preparation ensures that when migrations happen, the topology information can be accurately updated without delay, maintaining precision while supporting the adaptability required for virtual processor mobility.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10114662B2Updating processor topology information for virtual machines
Publication Date: 2018.10.30 RED HAT ISRAEL
  • US10114662B2 patent drawing
  • US10114662B2 patent drawing
  • US10114662B2 patent drawing

AI summary

Systems and methods for providing dynamic processor topology information to a virtual machine hosted by a multi-processor computer system supporting non-uniform memory access (NUMA). An example method may comprise assigning a unique identifier to a virtual processor, determining that the virtual processor has been moved from a first physical processor to a second physical processor, determining a memory access latency value for the second physical processor, and updating an element of a data structure storing memory access latency information with the memory access latency value of the second physical processor, the element identified by the unique identifier of the virtual processor.