Order out of chaos: Proving linearizability using local views

Yotam M.Y. Feldman, Constantin Enea, Adam Morrison, Noam Rinetzky, Sharon Shoham

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

7 Scopus citations

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 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 contribution is showing that properties of reachability along search paths can be deduced for concurrent traversals from such interference-free traversals, when certain intuitive conditions are met. Basing the correctness of traversals on such local view arguments greatly simplifies linearizability proofs. At the heart of our result lies a notion of order on the memory, corresponding to the order in which locations in memory are read by the threads, which guarantees a certain notion of consistency between the view of the thread and the actual memory. To apply our framework, the user proves that the data structure satisfies two conditions: (1) acyclicity of the order on memory, even when it is considered across intermediate memory states, and (2) preservation of search paths to locations modified by interfering writes. Establishing the conditions, as well as the full linearizability proof utilizing our proof argument, reduces to simple concurrent reasoning. The result is a clear and comprehensible correctness proof, and elucidates common patterns underlying several existing data structures.

Original languageEnglish
Title of host publication32nd International Symposium on Distributed Computing, DISC 2018
EditorsUlrich Schmid, Josef Widder
PublisherSchloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing
ISBN (Electronic)9783959770927
DOIs
StatePublished - 1 Oct 2018
Event32nd International Symposium on Distributed Computing, DISC 2018 - New Orleans, United States
Duration: 15 Oct 201819 Oct 2018

Publication series

NameLeibniz International Proceedings in Informatics, LIPIcs
Volume121
ISSN (Print)1868-8969

Conference

Conference32nd International Symposium on Distributed Computing, DISC 2018
Country/TerritoryUnited States
CityNew Orleans
Period15/10/1819/10/18

Funding

FundersFunder number
Israeli Science Foundation2005/17
Horizon 2020 Framework Programme759102-SVIS, 678177
Blavatnik Family Foundation
European Research Council
United States-Israel Binational Science Foundation2016260, 2012259
Israel Science Foundation
Tel Aviv University

    Fingerprint

    Dive into the research topics of 'Order out of chaos: Proving linearizability using local views'. Together they form a unique fingerprint.

    Cite this