Virtual NUMA Domains via OS Interface Tables
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
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
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.
Data Source
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.


