Hierarchical Memory Addressing for GPU Cluster Data Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional multiple GPU systems face inefficiencies in data communication, requiring multiple copy operations and explicit programming, which wastes system resources and developer time due to the lack of a unified memory addressing scheme.

Innovation Solution

A hierarchical memory addressing method is introduced, where a unit of data is assigned a hierarchical address based on its location within a unified memory system, allowing efficient access across a GPU cluster by determining the hierarchy level and generating a partial address with a node identifier, and appending identifiers to create a unified address accessible by all GPUs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional separate address spaces for each GPU are used, then each GPU has dedicated memory access, but data communication between GPUs requires multiple copy operations through system memory

Engineering Contradiction:
Improvedata communication efficiencyVSAvoidsystem resource utilization
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent merges separate address spaces into a unified address space where all GPUs can directly access any memory circuit in the cluster. This eliminates the need for intermediate copy operations through system memory, allowing direct peer-to-peer data transfer between GPUs and significantly improving communication efficiency while reducing system resource utilization.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The unified address space provides universal access permissions, allowing any GPU to access any memory circuit within the cluster. This multi-functional addressing scheme enables both local memory access and remote GPU memory access through the same address interface, eliminating the need for separate communication protocols and copy operations.

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

2Productivity

If multiple copy operations and temporary buffers are used for GPU data transmission, then data can be transferred between GPUs, but bandwidth and memory resources are wasted

Engineering Contradiction:
Improvedata transfer capabilityVSAvoidmemory resource consumption
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent extracts the temporary buffer requirement from the data transfer process by enabling direct memory-to-memory access between GPUs. Data can be transferred directly from the source GPU's memory to the destination GPU's memory without requiring intermediate buffering in system memory, thereby eliminating unnecessary memory resource consumption.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The unified address space acts as a virtual intermediary that enables direct communication between GPUs without requiring physical intermediate buffers. By providing a common addressing namespace, the system allows memory circuits to be accessed directly by any GPU, eliminating the need for temporary storage buffers while maintaining data transfer capability.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If explicit programming instructions are required for each data transmission operation, then data can be transmitted between GPUs, but developer time and attention are wasted

Engineering Contradiction:
Improvedata transmission functionalityVSAvoiddevelopment time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The unified address space enables self-service data access where GPUs can directly access each other's memory using standard memory access instructions. Developers only need to use conventional load/store instructions with unified addresses, and the hardware automatically routes the access to the correct memory circuit, eliminating the need for explicit transmission programming and reducing development time.

Inventive Principle:
Principle #25Self-service

4Ease of operation

If separate address spaces are used for each GPU, then local memory access is simple, but communication with other GPUs requires complex operations

Engineering Contradiction:
Improvelocal memory accessVSAvoidcommunication protocol complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The unified address space provides a universal access interface that works for both local and remote memory access. The same simple memory access instructions can be used to access either local memory or remote GPU memory, with the hardware automatically determining the appropriate target. This maintains ease of operation for local access while simplifying remote communication operations.

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

Data Source

PatentUS8982140B2Hierarchical memory addressing
Publication Date: 2015.03.17 NVIDIA CORP
  • US8982140B2 patent drawing
  • US8982140B2 patent drawing
  • US8982140B2 patent drawing

AI summary

One embodiment of the present invention sets forth a technique for addressing data in a hierarchical graphics processing unit cluster. A hierarchical address is constructed based on the location of a storage circuit where a target unit of data resides. The hierarchical address comprises a level field indicating a hierarchical level for the unit of data and a node identifier that indicates which GPU within the GPU cluster currently stores the unit of data. The hierarchical address may further comprise one or more identifiers that indicate which storage circuit in a particular hierarchical level currently stores the unit of data. The hierarchical address is constructed and interpreted based on the level field. The technique advantageously enables programs executing within the GPU cluster to efficiently access data residing in other GPUs using the hierarchical address.