Abstract | ||
---|---|---|
Concurrent non-blocking hash tries have good cache locality, and horizontally scalable operations. However, operations on most existing concurrent hash tries run in O(log n) time.
In this paper, we show that the concurrent hash trie operations can run in expected constant time. We present a novel lock-free concurrent hash trie design that exerts less pressure on the memory allocator. This hash trie is augmented with a quiescently consistent cache, which permits the basic operations to run in expected O(1) time. We show a statistical analysis for the constant-time bound, which, to the best of our knowledge, is the first such proof for hash tries. We also prove the safety, lock-freedom and linearizability properties. On typical workloads, our implementation demonstrates up to 5X performance improvements with respect to the previous hash trie variants.
|
Year | DOI | Venue |
---|---|---|
2018 | 10.1145/3200691.3178498 | PPOPP |
Keywords | Field | DocType |
concurrent data structures, constant-time hash tries, expected constant time, lock-free hash tries | Linearizability,Binary logarithm,Non-blocking algorithm,Cache,Computer science,Parallel computing,Theoretical computer science,Hash function,Concurrent data structure,Hash trie,Scalability | Conference |
Volume | Issue | ISSN |
53 | 1 | 0362-1340 |
Citations | PageRank | References |
1 | 0.35 | 25 |
Authors | ||
1 |
Name | Order | Citations | PageRank |
---|---|---|---|
Aleksandar Prokopec | 1 | 163 | 13.56 |