Analyzing and Implementing GPU Hash Tables

Muhammad A. Awad, Saman Ashkiani, Serban D. Porumbescu, Martín Farach-Colton, John D. Owens

    Research output: Chapter in Book/Report/Conference proceedingConference contribution

    Abstract

    We revisit the problem of building static hash tables on the GPU and present an efficient implementation of bucketed hash tables. By decoupling the probing scheme from the hash table in-memory representation, we offer an implementation where the number of probes and the bucket size are the only factors limiting performance. Our analysis sweeps through the hash table parameter space for two probing schemes: cuckoo and iceberg hashing. We show that a bucketed cuckoo hash table (BCHT) that uses three hash functions outperforms alternative methods that use iceberg hashing and a cuckoo hash table that uses a bucket size of one. At 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.

    Original languageEnglish (US)
    Title of host publication4th Meeting of the Symposium on Algorithmic Principles of Computer Systems, APOCS 2023
    PublisherSociety for Industrial and Applied Mathematics Publications
    Pages33-50
    Number of pages18
    ISBN (Electronic)9781713882923
    StatePublished - 2023
    Event4th Meeting of the Symposium on Algorithmic Principles of Computer Systems, APOCS 2023 - Hybrid, Florence, Italy
    Duration: Jan 25 2023 → …

    Publication series

    Name4th Meeting of the Symposium on Algorithmic Principles of Computer Systems, APOCS 2023

    Conference

    Conference4th Meeting of the Symposium on Algorithmic Principles of Computer Systems, APOCS 2023
    Country/TerritoryItaly
    CityHybrid, Florence
    Period1/25/23 → …

    ASJC Scopus subject areas

    • Computational Theory and Mathematics
    • Computer Science Applications
    • Theoretical Computer Science

    Fingerprint

    Dive into the research topics of 'Analyzing and Implementing GPU Hash Tables'. Together they form a unique fingerprint.

    Cite this