Multi-writer Consistency Conditions for Shared Memory Objects

Regularity is a shared memory consistency condition that has received considerable attention, notably in connection with quorum-based shared memory. Lamport’s original definition of regularity assumed a single-writer model, however, and is not well-defined when each shared variable may have multiple writers. In this paper, we address this need by formally extending the notion of regularity to a multi-writer model. We give three possible definitions of regularity in the presence of multiple writers. We then present a quorum-based algorithm to implement each of the three definitions and prove them correct. We study the relationships between these definitions and a number of other well-known consistency conditions, and give a partial order describing the relative strengths of these consistency conditions. Finally, we provide a practical context for our results by studying the correctness of two well-known algorithms for mutual exclusion under each of our proposed consistency conditions.

[1]  Sam Toueg,et al.  Unreliable failure detectors for reliable distributed systems , 1996, JACM.

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

[3]  James R. Goodman,et al.  Cache Consistency and Sequential Consistency , 1991 .

[4]  Michael J. Fischer,et al.  Economical solutions for the critical section problem in a distributed system (Extended Abstract) , 1977, STOC '77.

[5]  Jennifer L. Welch,et al.  Applications of probabilistic quorums to iterative algorithms , 2001, Proceedings 21st International Conference on Distributed Computing Systems.

[6]  M. Raynal,et al.  A Suite of Formal Definitions for Consistency Criteria in Distributed Shared Memories , 1996 .

[7]  Roy Friedman,et al.  A correctness condition for high-performance multiprocessors (extended abstract) , 1992, STOC '92.

[8]  Gary L. Peterson,et al.  Myths About the Mutual Exclusion Problem , 1981, Inf. Process. Lett..

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

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

[11]  Hagit Attiya,et al.  Distributed computing - fundamentals, simulations, and advanced topics (2. ed.) , 2004, Wiley series on parallel and distributed computing.

[12]  Leslie Lamport,et al.  A new solution of Dijkstra's concurrent programming problem , 1974, Commun. ACM.

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

[14]  Nancy A. Lynch,et al.  RAMBO: A Reconfigurable Atomic Memory Service for Dynamic Networks , 2002, DISC.

[15]  Roy Friedman,et al.  A Correctness Condition for High-Performance Multiprocessors , 1998, SIAM J. Comput..

[16]  Michael K. Reiter,et al.  Probabilistic quorum systems , 1997, PODC '97.

[17]  Jalal Kawash,et al.  Bounds for Mutual Exclusion with only Processor Consistency , 2000, DISC.

[18]  Rida A. Bazzi,et al.  The power of processor consistency , 1993, SPAA '93.

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

[20]  Rida A. Bazzi Synchronous Byzantine quorum systems , 1997, PODC '97.

[21]  Shai Ben-David,et al.  The global time assumption and semantics for concurrent systems , 1988, PODC '88.

[22]  Michael K. Reiter,et al.  Byzantine quorum systems , 1997, STOC '97.

[23]  Gary J. Nutt,et al.  A unified theory of shared memory consistency , 2002, JACM.

[24]  Hagit Attiya,et al.  Sharing memory robustly in message-passing systems , 1990, PODC '90.

[25]  André Schiper,et al.  From Causal Consistency to Sequential Consistency in Shared Memory Systems , 1995, FSTTCS.

[26]  Michel Raynal,et al.  Algorithms for mutual exclusion , 1986 .

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

[28]  Jennifer L. Welch,et al.  Randomized registers and iterative algorithms , 2004, Distributed Computing.