Non-blocking Hashtables with Open Addressing

  • Chris Purcell
  • Tim Harris
Conference paper

DOI: 10.1007/11561927_10

Part of the Lecture Notes in Computer Science book series (LNCS, volume 3724)
Cite this paper as:
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

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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Chris Purcell
    • 1
  • Tim Harris
    • 2
  1. 1.Computer LaboratoryUniversity of CambridgeCambridgeUK
  2. 2.Microsoft Research Ltd.CambridgeUK

Personalised recommendations