Hierarchical Hash Tables for GPU Memory Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Graphics Processing Units (GPUs) face challenges in achieving high performance due to limited near-memory resources, leading to difficulties in handling large numbers of threads and hierarchical memory architectures, resulting in high latency for memory access.

Innovation Solution

Implementing hierarchical hash tables that utilize registers and shared memory of parallel processors to store key-value pairs, with global memory used for overflow, reducing latency by employing the fastest memory pool and maximizing on-chip memory usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If GPUs devote more transistors to arithmetic units than to memory cache, then arithmetic throughput is improved, but memory access latency increases

Engineering Contradiction:
Improvearithmetic throughputVSAvoidmemory access latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments the memory hierarchy into multiple levels: registers (fastest, per-thread), shared memory (on-chip, shared among threads), and global memory (off-chip). This segmentation allows the system to maintain high arithmetic throughput while managing memory access latency through hierarchical memory access patterns where frequently accessed data resides in faster memory levels.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a nested memory hierarchy where registers contain shared memory, which contains global memory. This nesting structure allows data to be cached at multiple levels, with each level serving as a buffer between the processing units and the next slower memory level, thereby reducing overall memory access latency while maintaining high arithmetic throughput.

Inventive Principle:
Principle #7Nested doll (Nesting)

2Device complexity

If limited near-memory resources are used, then device complexity is reduced, but ability to handle large numbers of threads deteriorates

Engineering Contradiction:
Improvememory resource allocationVSAvoidthread handling capability
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic memory allocation strategies where threads can dynamically access different memory levels based on their needs. The hierarchical structure allows flexible allocation and access patterns, enabling the system to adapt to varying thread counts and memory requirements without increasing overall device complexity.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent adds a hierarchical dimension to memory access, transitioning from a flat memory architecture to a multi-level structure. This dimensional change allows the system to manage large numbers of threads by organizing memory resources across multiple levels, where each level serves a specific purpose and can be accessed dynamically based on thread requirements.

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

3Loss of time

If hierarchical memory architecture is implemented, then memory access latency is reduced, but device complexity increases

Engineering Contradiction:
Improvememory access latencyVSAvoidmemory hierarchy structure
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent merges the memory hierarchy management with the existing GPU architecture components, integrating registers, shared memory, and global memory access into a unified system. This merging approach reduces the additional complexity that would arise from implementing a completely separate memory management system, while still achieving reduced memory access latency through hierarchical organization.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9600852B2Hierarchical hash tables for SIMT processing and a method of establishing hierarchical hash tables
Publication Date: 2017.03.21 NVIDIA CORP
  • US9600852B2 patent drawing
  • US9600852B2 patent drawing
  • US9600852B2 patent drawing

AI summary

A graphical processing unit having an implementation of a hierarchical hash table thereon, a method of establishing a hierarchical hash table in a graphics processing unit and GPU computing system are disclosed herein. In one embodiment, the graphics processing unit includes: (1) a plurality of parallel processors, wherein each of the plurality of parallel processors includes parallel processing cores, a shared memory coupled to each of the parallel processing cores, and registers, wherein each one of the registers is uniquely associated with one of the parallel processing cores and (2) a controller configured to employ at least one of the registers to establish a hierarchical hash table for a key-value pair of a thread processing on one of the parallel processing cores.