Wide Key Hash Table for GPU Memory Constraints
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The limited memory capacity of Graphics Processing Units (GPUs) restricts the size of keys that can be used in hash tables, limiting their ability to perform key-value pair mappings efficiently for applications with unbounded key sizes.
Innovation Solution
A wide key hash table is implemented as a multi-level tree of paired hash tables, where keys are segmented into parts within the word size of the GPU's memory, allowing each segment to index into paired hash tables to form complete addresses for key-value mappings, enabling the use of keys of any size.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If keys are stored in a hash table with fixed word size, then memory access is fast and simple, but key size is constrained to the memory word size
Solution Approach 1:
The key is divided into multiple segments, where each segment fits within the word size of the GPU memory. The first segment is used to index into the hash table to retrieve a pointer, and subsequent segments are used to index into the pointed-to data structure to retrieve the final value. This segmentation allows keys of any size to be accommodated while maintaining efficient memory access through fixed-size word operations.
2Adaptability or versatility
If GPU memory capacity is increased to accommodate larger keys, then key size flexibility improves, but memory capacity is fixed and cannot be expanded
Solution Approach 1:
The solution employs a nested structure where the hash table stores pointers to other data structures rather than storing complete key-value pairs directly. The first level hash table maps key segments to intermediate structures, which then map subsequent key segments to final values. This nested arrangement allows the system to handle arbitrarily large keys without requiring proportional increases in memory capacity, as only the fixed-size hash table entries and minimal intermediate structures reside in GPU memory.
3Productivity
If data is copied into GPU memory for processing, then processing speed improves, but memory capacity limitations restrict the amount of data that can be processed
Solution Approach 1:
The patent introduces an intermediary data structure that resides in system memory rather than GPU memory. The hash table in GPU memory contains only pointers to this intermediary structure. When processing large datasets, the intermediary structure can hold data that exceeds GPU memory capacity, while the hash table provides fast lookup capability. This intermediary layer acts as a buffer between the limited GPU memory and the larger system memory, enabling processing of larger data volumes without sacrificing the parallel processing speed advantage of the GPU.
Data Source
AI summary
A wide hash key, that exceeds the word size of a GPU memory, is used to perform a key-value mapping by using paired hash tables configured in a multi-level tree configuration. The wide hash key is partitioned into segments, where each segment is used as a key into a respective paired hash table. The paired hash table has one hash table that stores an upper portion of an address and another hash table that stores the lower portion of the address. The upper and lower portions are combined to generate either an address to a paired hash table at the next level in the multi-level tree configuration or the address to the location of the value associated with the wide hash key.


