Concurrent tries with efficient non-blocking snapshots

Aleksandar Prokopec, Nathan Grasso Bronson, Phil Bagwell, Martin Odersky
2012 Proceedings of the 17th ACM SIGPLAN symposium on Principles and Practice of Parallel Programming - PPoPP '12  
We describe a non-blocking concurrent hash trie based on sharedmemory single-word compare-and-swap instructions. The hash trie supports standard mutable lock-free operations such as insertion, removal, lookup and their conditional variants. To ensure spaceefficiency, removal operations compress the trie when necessary. We show how to implement an efficient lock-free snapshot operation for concurrent hash tries. The snapshot operation uses a single-word compare-and-swap and avoids copying the
more » ... a structure eagerly. Snapshots are used to implement consistent iterators and a linearizable size retrieval. We compare concurrent hash trie performance with other concurrent data structures and evaluate the performance of the snapshot operation.
doi:10.1145/2145816.2145836 dblp:conf/ppopp/ProkopecBBO12 fatcat:qgifwoagj5fgrndkdsb6e6ham4