@gron

Cache-tries: Concurrent Lock-free Hash Tries with Constant-time Operations

. Proceedings of the 23rd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, page 137--151. ACM, (2018)
DOI: 10.1145/3178487.3178498

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.

Description

Cache-tries

Links and resources

Tags

community

  • @gron
  • @dblp
@gron's tags highlighted