An Epistemic Perspective on Consistency of Concurrent Computations

Consistency properties of concurrent computations, e.g., sequential consistency, linearizability, or eventual consistency, are essential for devising correct concurrent algorithms. In this paper, we present a logical formalization of such consistency properties that is based on a standard logic of knowledge. Our formalization provides a declarative perspective on what is imposed by consistency requirements and provides some interesting unifying insight on differently looking properties.

[1]  Hagit Attiya,et al.  Sequential consistency versus linearizability , 1994, TOCS.

[2]  Joseph Y. Halpern,et al.  Knowledge and common knowledge in a distributed environment , 1984, JACM.

[3]  Jelle Gerbrandy,et al.  Dynamic epistemic logic , 1998 .

[4]  Christos H. Papadimitriou,et al.  The serializability of concurrent database updates , 1979, JACM.

[5]  Serdar Tasiran,et al.  A calculus of atomic actions , 2009, POPL '09.

[6]  Andrey Rybalchenko,et al.  A Multi-Modal Framework for Achieving Accountability in Multi-Agent Systems , 2022 .

[7]  Sebastian Burckhardt,et al.  Eventually Consistent Transactions , 2012, ESOP.

[8]  Ron van der Meyden,et al.  A Knowledge Based Analysis of Cache Coherence , 2004, ICFEM.

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

[10]  Marc Shapiro,et al.  Eventual Consistency , 2009, Encyclopedia of Database Systems.

[11]  Sebastian Burckhardt,et al.  Line-up: a complete and automatic linearizability checker , 2010, PLDI '10.

[12]  Alessio Lomuscio,et al.  A Complete First-Order Logic of Knowledge and Time , 2008, KR.

[13]  Viktor Vafeiadis Automatically Proving Linearizability , 2010, CAV.

[14]  Ronald Fagin,et al.  Reasoning about knowledge , 1995 .

[15]  Lauretta O. Osho,et al.  Axiomatic Basis for Computer Programming , 2013 .

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

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

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

[19]  Hongseok Yang,et al.  Liveness-Preserving Atomicity Abstraction , 2011, ICALP.

[20]  Yoichi Hirai,et al.  An Intuitionistic Epistemic Logic for Sequential Consistency on Shared Memory , 2010, LPAR.

[21]  Peter W. O'Hearn,et al.  Local Reasoning about Programs that Alter Data Structures , 2001, CSL.