English

Cache-Aware Lock-Free Concurrent Hash Tries

Data Structures and Algorithms 2017-09-19 v1

Abstract

This report describes an implementation of a non-blocking concurrent shared-memory hash trie based on single-word compare-and-swap instructions. Insert, lookup and remove operations modifying different parts of the hash trie can be run independent of each other and do not contend. Remove operations ensure that the unneeded memory is freed and that the trie is kept compact. A pseudocode for these operations is presented and a proof of correctness is given -- we show that the implementation is linearizable and lock-free. Finally, benchmarks are presented which compare concurrent hash trie operations against the corresponding operations on other concurrent data structures, showing their performance and scalability.

Keywords

Cite

@article{arxiv.1709.06056,
  title  = {Cache-Aware Lock-Free Concurrent Hash Tries},
  author = {Aleksandar Prokopec and Phil Bagwell and Martin Odersky},
  journal= {arXiv preprint arXiv:1709.06056},
  year   = {2017}
}
R2 v1 2026-06-22T21:47:13.456Z