Virtual NUMA Topology Expansion with CPU Memory Hot-Add

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing hypervisors do not allow virtual NUMA to be used in conjunction with CPU hot-add and memory hot-add, limiting the performance optimization for business-critical, compute-intensive virtual machines.

Innovation Solution

Implementing a 'virtual NUMA+hot-add logic' component within the hypervisor to dynamically add new virtual NUMA nodes during CPU and memory hot-add operations, enabling concurrent support for virtual NUMA and CPU/memory hot-add without requiring VM restarts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If virtual NUMA topology is built and exposed to a VM, then memory access performance is optimized through local memory access, but CPU hot-add and memory hot-add functionality is lost

Engineering Contradiction:
Improvememory access speedVSAvoidCPU hot-add and memory hot-add functionality
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The virtual NUMA topology is made dynamic rather than static. The hypervisor continuously monitors and updates the virtual NUMA topology as vCPUs and memory are hot-added or hot-removed, allowing the topology to adapt to changing resource configurations while maintaining performance optimizations

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The hypervisor pre-establishes the virtual NUMA topology structure in advance, organizing vCPUs and memory into virtual NUMA nodes before hot-add operations occur. This preliminary structure enables quick identification of local memory regions when new resources are added, maintaining performance without requiring topology reconstruction

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If CPU hot-add is enabled for a VM, then dynamic resource allocation is achieved, but virtual NUMA topology cannot be used

Engineering Contradiction:
Improvedynamic resource allocationVSAvoidmemory access performance
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The system implements feedback mechanisms where the hypervisor continuously monitors resource allocation changes and adjusts the virtual NUMA topology accordingly. When vCPUs or memory are hot-added, the hypervisor receives feedback about the change and automatically updates the topology to maintain optimal local memory access patterns

Inventive Principle:
Principle #23Feedback

3Adaptability or versatility

If a single virtual NUMA node including all vCPUs and memory is created, then CPU hot-add is supported, but memory access performance is degraded

Engineering Contradiction:
ImproveCPU hot-add supportVSAvoidmemory access latency
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The system segments the virtual memory space into multiple virtual NUMA nodes, each associated with specific vCPUs. This segmentation allows the system to maintain multiple virtual NUMA nodes rather than consolidating all resources into a single node, enabling both hot-add functionality and performance optimization through localized memory access

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20240385869A1Techniques for Concurrently Supporting Virtual NUMA and CPU/Memory Hot-Add in a Virtual Machine
Publication Date: 2024.11.21 VMWARE INC
  • US20240385869A1 patent drawing
  • US20240385869A1 patent drawing
  • US20240385869A1 patent drawing

AI summary

Techniques for concurrently supporting virtual non-uniform memory access (virtual NUMA) and CPU/memory hot-add in a virtual machine (VM) are provided. In one set of embodiments, a hypervisor of a host system can compute a node size for a virtual NUMA topology of the VM, where the node size indicates a maximum number of virtual central processing units (vCPUs) and a maximum amount of memory to be included in each virtual NUMA node. The hypervisor can further build and expose the virtual NUMA topology to the VM. Then, at a time of receiving a request to hot-add a new vCPU or memory region to the VM, the hypervisor can check whether all existing nodes in the virtual NUMA topology have reached the maximum number of vCPUs or maximum amount of memory, per the computed node size. If so, the hypervisor can create a new node with the new vCPU or memory region and add the new node to the virtual NUMA topology.