skip to main content
research-article

A scalable lock-free hash table with open addressing

Published:27 February 2016Publication History
Skip Abstract Section

Abstract

Concurrent data structures synchronized with locks do not scale well with the number of threads. As more scalable alternatives, concurrent data structures and algorithms based on widely available, however advanced, atomic operations have been proposed. These data structures allow for correct and concurrent operations without any locks. In this paper, we present a new fully lock-free open addressed hash table with a simpler design than prior published work. We split hash table insertions into two atomic phases: first inserting a value ignoring other concurrent operations, then in the second phase resolve any duplicate or conflicting values.

Our hash table has a constant and low memory usage that is less than existing lock-free hash tables at a fill level of 33% and above. The hash table exhibits good cache locality. Compared to prior art, our hash table results in 16% and 15% fewer L1 and L2 cache misses respectively, leading to 21% fewer memory stall cycles. Our experiments show that our hash table scales close to linearly with the number of threads and outperforms, in throughput, other lock-free hash tables by 19%.

References

  1. Papi. http://icl.cs.utk.edu/papi/. Retrieved: 2015-09-12.Google ScholarGoogle Scholar
  2. S. Feldman, P. LaBorde, and D. Dechev. Concurrent multi-level arrays: Wait-free extensible hash maps. in Proceedings - International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation, 2013.Google ScholarGoogle ScholarCross RefCross Ref
  3. T. Harris. A pragmatic implementation of non-blocking linked-lists. in Proceedings of the 15th International Conference on Distributed Computing, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. M. Michael. High performance dynamic lock-free hash tables and list-based sets. in Proceedings of the Fourteenth Annual ACM Symposium on Parallel Algorithms and Architectures, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. C. Purcell and T. Harris. Non-blocking hatables with open addressing. University of Cambridge Technical Report, 2005.Google ScholarGoogle Scholar

Index Terms

  1. A scalable lock-free hash table with open addressing

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM SIGPLAN Notices
        ACM SIGPLAN Notices  Volume 51, Issue 8
        PPoPP '16
        August 2016
        405 pages
        ISSN:0362-1340
        EISSN:1558-1160
        DOI:10.1145/3016078
        Issue’s Table of Contents
        • 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

        Copyright © 2016 ACM

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 27 February 2016

        Check for updates

        Qualifiers

        • research-article

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!