Specifying Concurrent Problems: Beyond Linearizability

Tasks and objects are two predominant ways of specifying distributed problems. A task is specified by an input/output relation, defining for each set of processes that may run concurrently, and each assignment of inputs to the processes in the set, the valid outputs of the processes. An object is specified by an automaton describing the outputs the object may produce when it is accessed sequentially. Thus, tasks explicitly state what may happen only when sets of processes run concurrently, while objects only specify what happens when processes access the object sequentially. Each one requires its own implementation notion, to tell when an execution satisfies the specification. For objects linearizability is commonly used, a very elegant and useful consistency condition. For tasks implementation notions are less explored. The paper introduces the notion of interval-sequential object. The corresponding implementation notion of interval-linearizability generalizes linearizability, and allows to associate states along the interval of execution of an operation. Interval-linearizability allows to specify any task, however, there are sequential one-shot objects that cannot be expressed as tasks, under the simplest interpretation of a task. It also shows that a natural extension of the notion of a task is expressive enough to specify any interval-sequential object.

[1]  Michel Raynal,et al.  Distributed Algorithms for Message-Passing Systems , 2013, Springer Berlin Heidelberg.

[2]  Noam Rinetzky,et al.  Brief announcement: concurrency-aware linearizability , 2014, PODC '14.

[3]  Hongseok Yang,et al.  Show No Weakness: Sequentially Consistent Specifications of TSO Libraries , 2012, DISC.

[4]  Maurice Herlihy,et al.  Linearizability: a correctness condition for concurrent objects , 1990, TOPL.

[5]  Shlomo Moran,et al.  Extended Impossibility Results for Asynchronous Complete Networks , 1987, Inf. Process. Lett..

[6]  Vaughan R. Pratt,et al.  Modeling concurrency with geometry , 1991, POPL '91.

[7]  Eli Gafni Snapshot for Time: The One-Shot Case , 2014, ArXiv.

[8]  Sergio Rajsbaum,et al.  The Complexity Gap between Consensus and Safe-Consensus - (Extended Abstract) , 2014, SIROCCO.

[9]  Michel Raynal,et al.  Concurrent Programming: Algorithms, Principles, and Foundations , 2012, Springer Berlin Heidelberg.

[10]  Soma Chaudhuri,et al.  More Choices Allow More Faults: Set Consensus Problems in Totally Asynchronous Systems , 1993, Inf. Comput..

[11]  Leslie Lamport,et al.  How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs , 2016, IEEE Transactions on Computers.

[12]  Nir Shavit Data structures in the multicore age , 2011, CACM.

[13]  Sam Toueg,et al.  Generalized Irreducibility of Consensus and the Equivalence of t-Resilient and Wait-Free Implementations of Consensus , 2004, SIAM J. Comput..

[14]  Rob J. van Glabbeek,et al.  On the expressiveness of higher dimensional automata , 2006, Theor. Comput. Sci..

[15]  Marcin Paprzycki,et al.  Distributed Computing: Fundamentals, Simulations and Advanced Topics , 2001, Scalable Comput. Pract. Exp..

[16]  Michel Raynal,et al.  Power and limits of distributed computing shared memory models , 2013, Theor. Comput. Sci..

[17]  Hagit Attiya,et al.  The Combinatorial Structure of Wait-Free Solvable Tasks , 2002, SIAM J. Comput..

[18]  Maurice Herlihy,et al.  Distributed Computing Through Combinatorial Topology , 2013 .

[19]  Gadi Taubenfeld Synchronization Algorithms and Concurrent Programming , 2006 .

[20]  Faith Ellen,et al.  Tight Bounds for Adopt-Commit Objects , 2013, Theory of Computing Systems.

[21]  Gil Neiger,et al.  Causal memory: definitions, implementation, and programming , 1995, Distributed Computing.

[22]  Rachid Guerraoui,et al.  Speculative linearizability , 2012, PLDI.

[23]  Michel Raynal,et al.  Agreement via Symmetry Breaking: On the Structure of Weak Subconsensus Tasks , 2013, 2013 IEEE 27th International Symposium on Parallel and Distributed Processing.

[24]  Eli Gafni,et al.  Immediate atomic snapshots and fast renaming , 1993, PODC '93.

[25]  Maurice Herlihy,et al.  Linearizable counting networks , 1996, Distributed Computing.

[26]  Nancy A. Lynch,et al.  The BG distributed simulation algorithm , 2001, Distributed Computing.

[27]  Wojciech M. Golab,et al.  Making Sense of Relativistic Distributed Systems , 2014, DISC.

[28]  Nir Shavit,et al.  On the Inherent Sequentiality of Concurrent Objects , 2012, SIAM J. Comput..

[29]  André Schiper,et al.  A suite of definitions for consistency criteria in distributed shared memories , 1997, Ann. des Télécommunications.

[30]  Alan L. Cox,et al.  Lazy release consistency for software distributed shared memory , 1992, ISCA '92.

[31]  Eli Gafni,et al.  Round-by-Round Fault Detectors: Unifying Synchrony and Asynchrony (Extended Abstract). , 1998, PODC 1998.

[32]  Jayadev Misra Axioms for memory access in asynchronous hardware systems , 1986, TOPL.

[33]  Michel Raynal,et al.  An impossibility about failure detectors in the iterated immediate snapshot model , 2008, Inf. Process. Lett..

[34]  Gil Neiger,et al.  Set-linearizability , 1994, PODC '94.

[35]  Paul Hudak,et al.  Memory coherence in shared virtual memory systems , 1989, TOCS.

[36]  Peter W. O'Hearn,et al.  Abstraction for concurrent objects , 2009, Theor. Comput. Sci..

[37]  Michel Raynal,et al.  Normality: A Consistency Condition for Concurrent Objects , 1999, Parallel Process. Lett..

[38]  Maurice Herlihy,et al.  Axioms for concurrent objects , 1987, POPL '87.

[39]  Hagit Attiya,et al.  Distributed Computing: Fundamentals, Simulations and Advanced Topics , 1998 .

[40]  Eli Gafni,et al.  Distributed Programming with Tasks , 2010, OPODIS.

[41]  D. M. Hutton,et al.  The Art of Multiprocessor Programming , 2008 .

[42]  LiKai,et al.  Memory coherence in shared virtual memory systems , 1989 .

[43]  Yehuda Afek,et al.  Tight Group Renaming on Groups of Size g Is Equivalent to g-Consensus , 2009, DISC.

[44]  Leslie Lamport,et al.  On Interprocess Communication-Part I: Basic Formalism, Part II: Algorithms , 2016 .

[45]  Dmytro Dziuma Survey on consistency conditions , 2014 .

[46]  Roy Friedman,et al.  On the composability of consistency conditions , 2003, Inf. Process. Lett..

[47]  Nir Shavit,et al.  Atomic snapshots of shared memory , 1990, JACM.

[48]  Michael E. Saks,et al.  Wait-free k-set agreement is impossible: the topology of public knowledge , 1993, STOC.

[49]  Werner Vogels,et al.  Building reliable distributed systems at a worldwide scale demands trade-offs between consistency and availability. , 2022 .