A dynamic hash table for the GPU

Saman Ashkiani, Martin Farach-Colton, John D. Owens

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

    Abstract

    We design and implement a fully concurrent dynamic hash table for GPUs with comparable performance to the state of the art static hash tables. We propose a warp-cooperative work sharing strategy that reduces branch divergence and provides an efficient alternative to the traditional way of per-Thread (or per-warp) work assignment and processing. By using this strategy, we build a dynamic non-blocking concurrent linked list, the slab list, that supports asynchronous, concurrent updates (insertions and deletions) as well as search queries. We use the slab list to implement a dynamic hash table with chaining (the slab hash). On an NVIDIA Tesla K40c GPU, the slab hash performs updates with up to 512 M updates/s and processes search queries with up to 937 M queries/s. We also design a warp-synchronous dynamic memory allocator, SlabAlloc, that suits the high performance needs of the slab hash. SlabAlloc dynamically allocates memory at a rate of 600 M allocations/s, which is up to 37x faster than alternative methods in similar scenarios.

    Original languageEnglish (US)
    Title of host publicationProceedings - 2018 IEEE 32nd International Parallel and Distributed Processing Symposium, IPDPS 2018
    PublisherInstitute of Electrical and Electronics Engineers Inc.
    Pages419-429
    Number of pages11
    ISBN (Print)9781538643686
    DOIs
    StatePublished - Aug 3 2018
    Event32nd IEEE International Parallel and Distributed Processing Symposium, IPDPS 2018 - Vancouver, Canada
    Duration: May 21 2018May 25 2018

    Publication series

    NameProceedings - 2018 IEEE 32nd International Parallel and Distributed Processing Symposium, IPDPS 2018

    Conference

    Conference32nd IEEE International Parallel and Distributed Processing Symposium, IPDPS 2018
    Country/TerritoryCanada
    CityVancouver
    Period5/21/185/25/18

    Keywords

    • Concurrent hash table
    • Dynamic data strucures
    • Dynamic memory allocation
    • GPU
    • Hash table
    • Linked list
    • Warp synchronous programming

    ASJC Scopus subject areas

    • Artificial Intelligence
    • Computer Networks and Communications
    • Hardware and Architecture
    • Information Systems and Management

    Fingerprint

    Dive into the research topics of 'A dynamic hash table for the GPU'. Together they form a unique fingerprint.

    Cite this