Concurrent tries with efficient non-blocking snapshots

  • Authors:
  • Aleksandar Prokopec;Nathan Grasso Bronson;Phil Bagwell;Martin Odersky

  • Affiliations:
  • École Polytechnique Fédérale de Lausanne, Lausanne, Switzerland;Stanford, Palo Alto, CA, USA;Typesafe, Lausanne, Switzerland;École Polytechnique Fédérale de Lausanne, Lausanne, Switzerland

  • Venue:
  • Proceedings of the 17th ACM SIGPLAN symposium on Principles and Practice of Parallel Programming
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

We describe a non-blocking concurrent hash trie based on shared-memory 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 space-efficiency, 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 data 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.