Affiliation:
1. Karlsruhe Institute of Technology, Karlsruhe, Germany
2. Intel Deutschland GmbH, Neubiberg, Germany
Abstract
Concurrent hash tables are one of the most important concurrent data structures, which are used in numerous applications. For some applications, it is common that hash table accesses dominate the execution time. To efficiently solve these problems in parallel, we need implementations that achieve speedups in highly concurrent scenarios. Unfortunately, currently available concurrent hashing libraries are far away from this requirement, in particular, when adaptively sized tables are necessary or contention on some elements occurs.
Our starting point for better performing data structures is a fast and simple lock-free concurrent hash table based on linear probing that is, however, limited to word-sized key-value types and does not support dynamic size adaptation. We explain how to lift these limitations in a provably scalable way and demonstrate that dynamic growing has a performance overhead comparable to the same generalization in sequential hash tables.
We perform extensive experiments comparing the performance of our implementations with six of the most widely used concurrent hash tables. Ours are considerably faster than the best algorithms with similar restrictions and an order of magnitude faster than the best more general tables. In some extreme cases, the difference even approaches four orders of magnitude.
All our implementations discussed in this publication can be found on github [17].
Publisher
Association for Computing Machinery (ACM)
Subject
Computational Theory and Mathematics,Computer Science Applications,Hardware and Architecture,Modeling and Simulation,Software
Cited by
22 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. End-to-End Bayesian Networks Exact Learning in Shared Memory;IEEE Transactions on Parallel and Distributed Systems;2024-04
2. OxiDD;Lecture Notes in Computer Science;2024
3. Parallelizing Quantum Simulation With Decision Diagrams;IEEE Transactions on Quantum Engineering;2024
4. TurboHash: A Hash Table for Key-value Store on Persistent Memory;Proceedings of the 16th ACM International Conference on Systems and Storage;2023-06-05
5. DRAMHiT: A Hash Table Architected for the Speed of DRAM;Proceedings of the Eighteenth European Conference on Computer Systems;2023-05-08