Title
Scalable concurrent hash tables via relativistic programming
Abstract
This paper presents a novel concurrent hash table implementation which supports wait-free, near-linearly scalable lookup, even in the presence of concurrent modifications. In particular, this hash table implementation supports concurrent moves of hash table elements between buckets, for purposes such as renames. Implementation of this algorithm in the Linux kernel demonstrates its performance and scalability. Benchmarks on a 64-way POWER system showed a 6x scalability improvement versus fine-grained locking, and a 1.5x improvement versus the current state of the art in Linux. To achieve these scalability improvements, the hash table implementation uses a new concurrent programming technique known as relativistic programming. This approach uses a copy-based update strategy to allow readers and writers to run concurrently without conflicts, avoiding many of the non-scalable costs of synchronization, inter-processor communication, and cache coherence. New techniques such as the proposed hash-table move algorithm allow readers to tolerate the resulting weak memory-ordering behavior that arises from allowing one version of a structure to be read concurrently with updates to a different version of the same structure. Relativistic programming techniques provide performance and scalability advantages over traditional synchronization, as demonstrated through several benchmarks.
Year
DOI
Venue
2010
10.1145/1842733.1842750
Operating Systems Review
Keywords
Field
DocType
scalability advantage,novel concurrent hash table,new concurrent programming technique,concurrent move,scalability improvement,relativistic programming,concurrent modification,scalable concurrent hash table,relativistic programming technique,hash table element,hash table implementation,hash table,cache coherence,power system
SHA-2,Hopscotch hashing,Double hashing,Computer science,Parallel computing,HAT-trie,Real-time computing,Relativistic programming,Hash function,Dynamic perfect hashing,Hash table
Journal
Volume
Issue
Citations 
44
3
21
PageRank 
References 
Authors
1.02
15
3
Name
Order
Citations
PageRank
Josh Triplett1643.05
Paul E. McKenney227930.11
Jonathan Walpole31122137.35