Dynamic Memory Topology Updates for Virtual Machines

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 memory blocks can migrate between physical nodes, leading to changes in memory access latency values.

Innovation Solution

The system employs a hypervisor that uses Static Resource Affinity Table (SRAT) and System Locality Information Table (SLIT) to store and update memory access latency values, and notifies virtual machines of topology changes through ACPI events, ensuring efficient process and thread allocation based on dynamic system 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 notifying virtual machines of memory block migrations through ACPI events. The system transitions from static topology information to dynamic updates, allowing virtual machines to adapt their process and thread allocation based on current memory locations, thereby optimizing memory access patterns without significantly increasing system complexity

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The hypervisor automatically generates and sends topology update notifications to affected virtual machines when memory blocks migrate. This self-service mechanism eliminates the need for manual topology management while enabling virtual machines to autonomously optimize their resource allocation based on current system state

Inventive Principle:
Principle #25Self-service

2Adaptability or versatility

If memory blocks are migrated between physical nodes to optimize resource utilization, then adaptability is improved, but system complexity increases due to need to track and communicate topology changes

Engineering Contradiction:
ImproveadaptabilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The hypervisor acts as an intermediary that tracks memory block migrations and communicates topology changes to virtual machines through standardized ACPI events. This intermediary approach centralizes the complexity of topology tracking in the hypervisor layer, allowing virtual machines to remain relatively simple while still benefiting from dynamic topology information

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system changes the parameter of topology information from static to dynamic by implementing update mechanisms. When memory blocks migrate between physical nodes, the hypervisor updates the topology state and notifies affected virtual machines, allowing the system to adapt to changing conditions without fundamentally altering the underlying architecture

Inventive Principle:
Principle #35Parameter changes

3Loss of information

If virtual machines are notified of topology changes through ACPI events, then information accuracy is improved, but loss of time increases due to notification overhead

Engineering Contradiction:
Improveinformation accuracyVSAvoidnotification time
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The system implements event-driven periodic notifications where virtual machines are notified of topology changes only when actual migrations occur. This approach provides accurate topology information updates without continuous polling overhead, balancing information accuracy with time efficiency by triggering notifications only when necessary

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS10061622B2Updating memory topology information for virtual machines
Publication Date: 2018.08.28 RED HAT ISRAEL
  • US10061622B2 patent drawing
  • US10061622B2 patent drawing
  • US10061622B2 patent drawing

AI summary

Systems and methods for providing dynamic topology information to virtual machines hosted by a multi-processor computer system supporting non-uniform memory access (NUMA). An example method may comprise assigning, by a hypervisor executing on a computer system, unique identifiers to a plurality of memory blocks residing on a plurality of physical nodes; determining that a memory block has been moved from a first physical node to a second physical node; determining memory access latency values to the second physical node by a plurality of virtual processors of the computer system; and updating, using a unique identifier of the memory block, a data structure storing memory access latency information, with the memory access latency values for the memory block.