API for NUMA Node Memory Access Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current memory management operations in parallel computing platforms are inefficient in terms of time, power, and computing resources, particularly when accessing and storing data across non-uniform memory access (NUMA) nodes.

Innovation Solution

The implementation of a set of APIs that allow for managed memory operations, including setting preferred memory locations, prefetching data, and indicating memory attributes, to optimize memory access and storage across NUMA nodes, utilizing APIs such as memory location preference, prefetch, and get memory attributes to manage unified memory access efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If memory management operations are performed across NUMA nodes in parallel computing platforms, then data accessibility is improved, but time consumption and power usage increase

Engineering Contradiction:
Improvedata accessibilityVSAvoidtime consumption
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The memory system is segmented into multiple NUMA nodes, each with local memory. The patent implements APIs that allow applications to explicitly specify which NUMA node should serve as the preferred storage location for particular data ranges. This segmentation enables data to be stored locally at the preferred NUMA node, reducing cross-node access latency and improving time efficiency while maintaining data accessibility.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements prefetching functionality through APIs that allow applications to pre-fetch data from remote NUMA nodes before it is actually needed. By performing preliminary data transfer operations, the system reduces the time penalty of cross-node memory access, as data is already available in local memory when needed, thus resolving the time consumption issue while maintaining accessibility.

Inventive Principle:
Principle #10Preliminary action

2Ease of operation

If memory management operations are performed across NUMA nodes in parallel computing platforms, then data accessibility is improved, but power consumption increases

Engineering Contradiction:
Improvedata accessibilityVSAvoidpower consumption
Core Design Contradiction:
Ease of operationVSUse of energy by moving object

Solution Approach 1:

By segmenting memory management into NUMA-node-specific operations with explicit preferred location specification, the system minimizes unnecessary data movement across nodes. Data is stored and accessed from local memory at the preferred NUMA node, reducing the energy required for memory operations while maintaining full data accessibility through the API interface.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent enables each NUMA node to have local control over its memory management with preferred location specifications. Applications can designate specific NUMA nodes as preferred storage locations for particular data, ensuring that data remains localized and reducing the power consumption associated with cross-node memory access while preserving data accessibility.

Inventive Principle:
Principle #3Local quality

3Device complexity

If traditional memory access methods are used without preferred location specification, then system simplicity is maintained, but resource utilization efficiency decreases

Engineering Contradiction:
Improvesystem simplicityVSAvoidresource utilization efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent implements a universal API interface that works across all NUMA nodes and provides multiple functions: specifying preferred memory locations, prefetching data, and querying memory attributes. This unified interface maintains system simplicity from the application perspective while enabling advanced memory management features that significantly improve resource utilization efficiency across the parallel computing platform.

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

Solution Approach 2:

The patent introduces an intermediary layer of APIs between the application and the underlying NUMA memory system. This intermediary provides a simple, unified interface for applications while handling the complex operations of preferred location specification, data prefetching, and memory attribute management, thus maintaining system simplicity while improving resource utilization efficiency through optimized memory access patterns.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20240428366A1Application programming interface to access non-uniform memory access nodes
Publication Date: 2024.12.26 NVIDIA CORP
  • US20240428366A1 patent drawing
  • US20240428366A1 patent drawing
  • US20240428366A1 patent drawing

AI summary

Apparatuses, systems, and techniques to access one or more non-uniform memory access (NUMA) nodes. In at least one embodiment, one or more circuits are to perform an application programming interface (API) to cause one or more NUMA nodes or one or more physical addresses allocated to one or more graphics processing units (GPUs) to be accessed based, at least in part, on one or more indications within the API.