Skip to main content

Non-blocking Hashtables with Open Addressing

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 3724))

Abstract

We present the first non-blocking hashtable based on open addressing that provides the following benefits: it combines good cache locality, accessing a single cacheline if there are no collisions, with short straight-line code; it needs no storage overhead for pointers and memory allocator schemes, having instead an overhead of two words per bucket; it does not need to periodically reorganise or replicate the table; and it does not need garbage collection, even with arbitrary-sized keys. Open problems include resizing the table and replacing, rather than erasing, entries. The result is a highly-concurrent set algorithm that approaches or outperforms the best externally-chained implementations we tested, with fixed memory costs and no need to select or fine-tune a garbage collector or locking strategy.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Gao, H., Groote, J., Hesselink, W.: Almost Wait-Free Resizable Hashtables. In: Proceedings of the 18th International Parallel and Distributed Processing Symposium, April 2004, p. 50a (2004)

    Google Scholar 

  2. Fraser, K.: Practical Lock-Freedom. University of Cambridge Computer Laboratory, Technical Report number 579 (February 2004)

    Google Scholar 

  3. Knuth, D.: The Art of Computer Programming. Part 3, Sorting and Searching. Addison-Wesley, Reading (1973)

    Google Scholar 

  4. Lamport, L.: Concurrent Reading and Writing. Communications of the ACM, 806–811 (1977)

    Google Scholar 

  5. Martin, D., Davis, R.: A Scalable Non-Blocking Concurrent Hash Table Implementation with Incremental Rehashing (1997) (unpublished manuscript)

    Google Scholar 

  6. Mellor-Crummey, J., Scott, M.: Algorithms for Scalable Synchronization on Shared-Memory Multiprocessors. ACM Transactions on Computer Systems 9(1), 21–65 (1991)

    Article  Google Scholar 

  7. Michael, M.: Safe Memory Reclamation for Dynamic Lock-Free Objects using Atomic Reads and Writes. In: Proceedings of the 21st Annual Symposium on Principles of Distributed Computing, July 2002, pp. 21–30 (2002)

    Google Scholar 

  8. Michael, M.: High performance dynamic lock-free hash tables and list-based sets. In: Proceedings of the 14th Annual Symposium on Parallel Algorithms and Architectures, August 2002, pp. 73–82 (2002)

    Google Scholar 

  9. Shalev, O., Shavit, N.: Split-Ordered Lists: Lock-free Extensible Hash Tables. In: Proceedings of the 22nd Annual Symposium on Principles of Distributed Computing, July 2003, pp. 102–111 (2003)

    Google Scholar 

  10. Scherer, W., Scott, M.: Contention Management in Dynamic Software Transactional Memory. In: PODC Workshop on Concurrency and Synchronization in Java Programs, July 2004, pp. 70–79 (2004)

    Google Scholar 

  11. Purcell, C., Harris, T.: Non-blocking Hashtables with Open Addressing. University of Cambridge Computer Laboratory, Technical Report number 639 (September 2005)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Purcell, C., Harris, T. (2005). Non-blocking Hashtables with Open Addressing. In: Fraigniaud, P. (eds) Distributed Computing. DISC 2005. Lecture Notes in Computer Science, vol 3724. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11561927_10

Download citation

  • DOI: https://doi.org/10.1007/11561927_10

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-29163-3

  • Online ISBN: 978-3-540-32075-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics