Virtual NUMA Domains via OS Interface Tables

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern CPU architectures with increasing core counts face memory allocation imbalances and reduced memory bandwidth due to the OS's limitation of sixty-four logical threads per group, leading to improper memory distribution among NUMA nodes.

Innovation Solution

The establishment of multiple virtual NUMA domains within a single NUMA domain via ACPI interface tables, allowing for proper memory allocation and increased bandwidth by defining virtual proximity domains through OS interface tables like SRAT and SLIT, without altering memory controller/channel interleaving or LLC grouping.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the OS uses GROUP to virtualize NUMA nodes with up to sixty-four logical threads each, then backward compatibility is maintained, but memory distribution becomes imbalanced and memory bandwidth per NUMA domain is reduced

Engineering Contradiction:
Improvebackward compatibilityVSAvoidmemory bandwidth per NUMA domain
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent segments the logical threads into multiple virtual NUMA domains within a single physical NUMA node. By dividing the sixty-four logical threads into multiple groups of thirty-two threads each, mapped to different virtual NUMA nodes, the system maintains backward compatibility while enabling balanced memory distribution and improved memory bandwidth utilization across all threads.

Inventive Principle:
Principle #1Segmentation

2Device complexity

If the OS limits to sixty-four logical threads per group, then system management is simplified, but memory allocation becomes improper and imbalanced among NUMA nodes

Engineering Contradiction:
Improvesystem management complexityVSAvoidmemory allocation balance
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent introduces a virtual NUMA domain dimension that allows thirty-two threads to be mapped to different virtual NUMA nodes within a single physical NUMA node. This dimensional extension enables proper memory allocation balance while maintaining the simplified sixty-four thread per group management structure at the OS level.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Ease of operation

If hard partitioning is used to manage NUMA nodes, then memory distribution is controlled, but memory bandwidth per NUMA node is significantly reduced

Engineering Contradiction:
Improvememory distribution controlVSAvoidmemory bandwidth per NUMA node
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent implements dynamic thread-to-virtual-NUMA-node mapping where threads can be flexibly assigned to different virtual NUMA domains based on workload requirements. This dynamic approach maintains memory distribution control while enabling higher memory bandwidth utilization compared to static hard partitioning, as threads can access memory across multiple virtual NUMA nodes efficiently.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11989129B2Multiple virtual NUMA domains within a single NUMA domain via operating system interface tables
Publication Date: 2024.05.21 INTEL CORP
  • US11989129B2 patent drawing
  • US11989129B2 patent drawing
  • US11989129B2 patent drawing

AI summary

Systems, apparatuses and methods may provide for technology that identifies a NUMA node, defines a first virtual proximity domain within the NUMA node, and defines a second virtual proximity domain within the NUMA node, wherein the first virtual proximity domain and the second virtual proximity domain are defined via one or more OS interface tables.