Lock-Free Resizeable Concurrent Tries

This paper describes an implementation of a non-blocking concurrent hash trie based on single-word compare-and-swap instructions in a shared-memory system. Insert, lookup and remove operations modifying different parts of the hash trie can be run completely independently. Remove operations ensure th...

Full description

Saved in:
Bibliographic Details
Published inLanguages and Compilers for Parallel Computing pp. 156 - 170
Main Authors Prokopec, Aleksandar, Bagwell, Phil, Odersky, Martin
Format Book Chapter
LanguageEnglish
Published Berlin, Heidelberg Springer Berlin Heidelberg
SeriesLecture Notes in Computer Science
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:This paper describes an implementation of a non-blocking concurrent hash trie based on single-word compare-and-swap instructions in a shared-memory system. Insert, lookup and remove operations modifying different parts of the hash trie can be run completely independently. 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 that compare concurrent hash trie operations against the corresponding operations on other concurrent data structures.
ISBN:9783642360350
3642360351
ISSN:0302-9743
1611-3349
DOI:10.1007/978-3-642-36036-7_11