Fast Snapshottable Concurrent Braun Heaps
Thomas D. Dickerson

TL;DR
This paper introduces a new concurrent heap algorithm that supports efficient insert, removeMin, and snapshot operations, enabling consistent views and speculative updates with strong correctness guarantees and competitive performance.
Contribution
It presents a novel concurrent heap with a stateless shape property, O(1) snapshot operation, and a simple, provably correct design that rivals optimized skiplist implementations.
Findings
Supports efficient insert and removeMin operations.
Provides O(1) linearizable snapshot capability.
Achieves competitive priority queue performance.
Abstract
This paper proposes a new concurrent heap algorithm, based on a stateless shape property, which efficiently maintains balance during insert and removeMin operations implemented with hand-over-hand locking. It also provides a O(1) linearizable snapshot operation based on lazy copy-on-write semantics. Such snapshots can be used to provide consistent views of the heap during iteration, as well as to make speculative updates (which can later be dropped). The simplicity of the algorithm allows it to be easily proven correct, and the choice of shape property provides priority queue performance which is competitive with highly optimized skiplist implementations (and has stronger bounds on worst-case time complexity). A Scala reference implementation is provided.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed systems and fault tolerance · Parallel Computing and Optimization Techniques · Logic, programming, and type systems
