Better GPU Hash Tables
Muhammad A. Awad, Saman Ashkiani, Serban D. Porumbescu, Mart\'in, Farach-Colton, John D. Owens

TL;DR
This paper introduces three lock-free, GPU-optimized bucketed hash tables with different probing schemes, demonstrating that a three-hash cuckoo hash table (BCHT) achieves superior performance at high load factors.
Contribution
The paper designs and evaluates three GPU-based bucketed hash tables with novel probing schemes, highlighting the effectiveness of BCHT with three hash functions.
Findings
BCHT outperforms other hash tables at high load factors.
Average probes during insertion are as low as 1.43 at 0.99 load.
Query operations require at most 2.8 probes per key.
Abstract
We revisit the problem of building static hash tables on the GPU and design and build three bucketed hash tables that use different probing schemes. Our implementations are lock-free and offer efficient memory access patterns; thus, only the probing scheme is the factor affecting the performance of the hash table's different operations. Our results show that a bucketed cuckoo hash table that uses three hash functions (BCHT) outperforms alternative methods that use power-of-two choices, iceberg hashing, and a cuckoo hash table that uses a bucket size one. At high load factors as high as 0.99, BCHT enjoys an average probe count of 1.43 during insertion. Using three hash functions only, positive and negative queries require at most 1.39 and 2.8 average probes per key, respectively.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAlgorithms and Data Compression · Caching and Content Delivery · Advanced Image and Video Retrieval Techniques
