Order out of Chaos: Proving Linearizability Using Local Views
Yotam M. Y. Feldman, Constantin Enea, Adam Morrison, Noam, Rinetzky, Sharon Shoham

TL;DR
This paper introduces a unifying proof framework for establishing linearizability of highly concurrent data structures by reasoning about local views and interference-free traversals, simplifying correctness proofs.
Contribution
The paper presents a novel proof method based on local view arguments that unifies and simplifies linearizability proofs for concurrent data structures.
Findings
Framework applies to optimistic self-balancing binary search trees
Framework proves linearizability of Lazy List and lock-free skip list
Simplifies correctness proofs through local view reasoning
Abstract
Proving the linearizability of highly concurrent data structures, such as those using optimistic concurrency control, is a challenging task. The main difficulty is in reasoning about the view of the memory obtained by the threads, because as they execute, threads observe different fragments of memory from different points in time. Until today, every linearizability proof has tackled this challenge from scratch. We present a unifying proof argument for the correctness of unsynchronized traversals, and apply it to prove the linearizability of several highly concurrent search data structures, including an optimistic self-balancing binary search tree, the Lazy List and a lock-free skip list. Our framework harnesses {\em sequential reasoning} about the view of a thread, considering the thread as if it traverses the data structure without interference from other operations. Our key…
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.
