skip to main content
10.1145/2851141.2851188acmconferencesArticle/Chapter ViewAbstractPublication PagesppoppConference Proceedingsconference-collections
research-article

Concurrent hash tables: fast and general?(!)

Published: 27 February 2016 Publication History

Abstract

Concurrent hash tables are one of the most important concurrent data structures with numerous applications. Since hash table accesses can dominate the execution time of the overall application, we need implementations that achieve good speedup. Unfortunately, currently available concurrent hashing libraries turn out to be far away from this requirement in particular when 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 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.

Reference

[1]
Tobias Maier, Peter Sanders and Roman Dementiev, Concurrent Hash Tables: Fast and General?(!), arXiv:1601.04017, 2016.

Cited By

View all
  • (2023)IcebergHT: High Performance Hash Tables Through Stability and Low AssociativityProceedings of the ACM on Management of Data10.1145/35887271:1(1-26)Online publication date: 30-May-2023
  • (2022)General-purpose GPU Hashing Data Structures and their Application in Accelerated GenomicsJournal of Parallel and Distributed Computing10.1016/j.jpdc.2022.01.006Online publication date: Feb-2022
  • (2021)HashGraph—Scalable Hash Tables Using a Sparse Graph Data StructureACM Transactions on Parallel Computing10.1145/34608728:2(1-17)Online publication date: 15-Jul-2021
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
PPoPP '16: Proceedings of the 21st ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming
February 2016
420 pages
ISBN:9781450340922
DOI:10.1145/2851141
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 27 February 2016

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. concurrency
  2. experimental
  3. lock-freedom

Qualifiers

  • Research-article

Conference

PPoPP '16
Sponsor:

Acceptance Rates

Overall Acceptance Rate 230 of 1,014 submissions, 23%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)18
  • Downloads (Last 6 weeks)2
Reflects downloads up to 23 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2023)IcebergHT: High Performance Hash Tables Through Stability and Low AssociativityProceedings of the ACM on Management of Data10.1145/35887271:1(1-26)Online publication date: 30-May-2023
  • (2022)General-purpose GPU Hashing Data Structures and their Application in Accelerated GenomicsJournal of Parallel and Distributed Computing10.1016/j.jpdc.2022.01.006Online publication date: Feb-2022
  • (2021)HashGraph—Scalable Hash Tables Using a Sparse Graph Data StructureACM Transactions on Parallel Computing10.1145/34608728:2(1-17)Online publication date: 15-Jul-2021
  • (2019)Concurrent Hash TablesACM Transactions on Parallel Computing10.1145/33092065:4(1-32)Online publication date: 22-Feb-2019
  • (2018)Practical Minimum Cut AlgorithmsACM Journal of Experimental Algorithmics10.1145/327466223(1-22)Online publication date: 1-Oct-2018
  • (2018)Advanced C++11 MultithreadingParallel Programming10.1016/B978-0-12-849890-3.00005-8(135-164)Online publication date: 2018
  • (2016)Concurrent hash tablesACM SIGPLAN Notices10.1145/3016078.285118851:8(1-2)Online publication date: 27-Feb-2016
  • (2023)Towards Lightweight and Automated Representation Learning System for NetworksIEEE Transactions on Knowledge and Data Engineering10.1109/TKDE.2023.324316935:9(9613-9627)Online publication date: 1-Sep-2023
  • (2021)LightNE: A Lightweight Graph Processing System for Network EmbeddingProceedings of the 2021 International Conference on Management of Data10.1145/3448016.3457329(2281-2289)Online publication date: 9-Jun-2021
  • (2021)A Performance Evaluation of DRAM Access for In-Memory DatabasesIEEE Access10.1109/ACCESS.2021.31233799(146454-146470)Online publication date: 2021
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media