Multi-GPU Hash Table Result Materialization via Global Offsets

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Single GPUs often lack sufficient memory capacity and processing speed to efficiently perform hash table joins due to the speed and memory constraints, leading to performance bottlenecks in operations like OnLine Analytical Processing (OLAP).

Innovation Solution

Utilize multiple GPUs to build, probe, and materialize hash tables in a distributed manner, leveraging global location identifiers to parallelize memory accesses and coordinate parallel processing across GPUs, allowing for increased memory capacity and reduced runtime.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a single GPU is used to perform hash table joins, then the system is simple to implement, but the memory capacity and processing speed are insufficient

Engineering Contradiction:
Improvesystem complexityVSAvoidmemory capacity
Core Design Contradiction:
Device complexityVSQuantity of substance

Solution Approach 1:

The patent divides the hash table into multiple partitions distributed across multiple GPUs. Each GPU is responsible for specific partitions, allowing the system to scale memory capacity by adding more GPUs while maintaining manageable complexity through partitioned data structures and localized processing.

Inventive Principle:
Principle #1Segmentation

2Device complexity

If a single GPU is used to perform hash table joins, then the implementation is straightforward, but the processing speed is insufficient for large relations

Engineering Contradiction:
Improveimplementation complexityVSAvoidprocessing speed
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The hash table build and probe operations are segmented across multiple GPUs working in parallel. The build phase distributes hash table partitions to different GPUs, and the probe phase allows multiple GPUs to simultaneously probe different partitions, achieving linear scaling of processing speed with the number of GPUs.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from single-GPU sequential processing to multi-GPU parallel processing by adding the dimension of spatial distribution across multiple devices. This enables simultaneous execution of hash table operations across different GPUs, dramatically increasing throughput for large relation joins.

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

3Productivity

If multiple GPUs are used to build and probe hash tables, then memory capacity and processing speed are improved, but the system complexity increases

Engineering Contradiction:
Improvejoin performanceVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system uses partitioned hash tables where each GPU manages specific partitions, reducing memory management complexity on individual devices. Data is distributed across GPUs based on hash values, and each GPU processes only its assigned partitions, maintaining simplicity at the device level while achieving high performance through parallelism.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces global location identifiers as intermediaries that map probe keys to specific GPU partitions. This mediation layer simplifies the complexity of distributed hash table access by providing a unified interface for probing while handling the underlying distribution logic across multiple GPUs.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Adaptability or versatility

If random memory accesses are performed to build and probe hash tables, then the hash table operations are flexible, but the performance bottleneck increases

Engineering Contradiction:
Improvehash table operation flexibilityVSAvoidjoin throughput
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent segments the hash table across multiple GPUs such that each GPU maintains a localized portion in its memory. This segmentation transforms random global memory accesses into localized accesses within each GPU's memory space, reducing memory bandwidth bottlenecks while preserving hash table operational flexibility through partitioned data structures.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20250272106A1Materializing results of distributed probing of hash tables
Publication Date: 2025.08.28 NVIDIA CORP
  • US20250272106A1 patent drawing
  • US20250272106A1 patent drawing
  • US20250272106A1 patent drawing

AI summary

Described approaches provide for effectively and scalably using multiple GPUs to build and probe hash tables and materialize results of probes. Random memory accesses by the GPUs to build and/or probe a hash table may be distributed across GPUs and executed concurrently using global location identifiers. A global location identifier may be computed from data of an entry and identify a global location for an insertion and/or probe using the entry. The global location identifier may be used by a GPU to determine whether to perform an insertion or probe using an entry and/or where the insertion or probe is to be performed. To coordinate GPUs in materializing results of probing a hash table a global offset to the global output buffer may be maintained in memory accessible to each of the GPUs or the GPUs may compute global offsets using an exclusive sum of the local output buffer sizes.