Shared Memory vs Message Passing

his paper determines the computational strenght of the shared memory abstraction (a register) emulated over a message passing system, and compares it with fundamental message passing abstractions like consensus and various forms of reliable broadcast. We introduce the notion of Quorum failure detectors and show that this notion captures the exact amount of information about failures needed to emulate a shared memory in a distributed message passing system where processes can fail by crashing. As a corollary of our result, we determine the weakest failure detector to implement consensus in any environment, including those where half of the processes can crash. We also use our result to precisely compare the strenght of the shared memory abstraction with other distributed computing abstractions. In particular, we show that, in the general environment where up to $n-1$ processes can crash (out of the total number of processes $n$), various fundamental distributed computing abstractions, including shared memory, consensus, as well as terminating reliable broadcast, are, in a precise sense, equivalent.

[1]  Leslie Lamport,et al.  Concurrent reading and writing , 1977, Commun. ACM.

[2]  Rachid Guerraoui On the hardness of failure-sensitive agreement problems , 2001, Inf. Process. Lett..

[3]  Prasad Jayanti,et al.  Wait-free Computing , 1995, WDAG.

[4]  Nancy A. Lynch,et al.  Impossibility of distributed consensus with one faulty process , 1985, JACM.

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

[6]  Amos Israeli,et al.  Bounded time-stamps , 1987, 28th Annual Symposium on Foundations of Computer Science (sfcs 1987).

[7]  Maurice Herlihy,et al.  Wait-free synchronization , 1991, TOPL.

[8]  Rachid Guerraoui,et al.  A realistic look at failure detectors , 2002, Proceedings International Conference on Dependable Systems and Networks.

[9]  Leslie Lamport,et al.  The part-time parliament , 1998, TOCS.

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

[11]  Sam Toueg,et al.  A Modular Approach to Fault-Tolerant Broadcasts and Related Problems , 1994 .

[12]  Achour Mostéfaoui,et al.  k-set agreement with limited accuracy failure detectors , 2000, PODC '00.

[13]  Joseph Y. Halpern,et al.  A knowledge-theoretic analysis of uniform distributed coordination and failure detectors , 2004, Distributed Computing.

[14]  Sam Toueg,et al.  The weakest failure detector for solving consensus , 1996, JACM.

[15]  Christof Fetzer,et al.  Enforcing perfect failure detection , 2001, Proceedings 21st International Conference on Distributed Computing Systems.

[16]  Fred B. Schneider,et al.  Replication management using the state-machine approach , 1993 .

[17]  Robbert van Renesse,et al.  Reliable Distributed Computing with the Isis Toolkit , 1994 .

[18]  Vassos Hadzilacos,et al.  Using Failure Detectors to Solve Consensus in Asynchronous Sharde-Memory Systems (Extended Abstract) , 1994, WDAG.

[19]  Achour Mostéfaoui,et al.  Solving Consensus Using Chandra-Toueg's Unreliable Failure Detectors: A General Quorum-Based Approach , 1999, DISC.

[20]  R. Guerraoui \??accurate" Failure Detectors , 1996 .

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

[22]  Nancy A. Lynch,et al.  Consensus in the presence of partial synchrony , 1988, JACM.

[23]  Sam Toueg,et al.  The weakest failure detector for solving consensus , 1992, PODC '92.

[24]  Gil Neiger,et al.  Failure Detectors and the Wait-Free Hierarchy. , 1995, ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing.

[25]  Vassos Hadzilacos,et al.  On the Relationship Between the Atomic Commitment and Consensus Problems , 1990, Fault-Tolerant Distributed Computing.

[26]  Gil Neiger,et al.  Simulating synchronized clocks and common knowledge in distributed systems , 1993, JACM.

[27]  Seif Haridi,et al.  Distributed Algorithms , 1992, Lecture Notes in Computer Science.

[28]  Marcos K. Aguilera,et al.  Thrifty Generic Broadcast , 2000, DISC.

[29]  Rachid Guerraoui,et al.  Fast Indulgent Consensus with Zero Degradation , 2002, EDCC.

[30]  Rachid Guerraoui,et al.  Failure Detection Lower Bounds on Registers and Consensus , 2002, DISC.

[31]  Baruch Awerbuch,et al.  Atomic shared register access by asynchronous hardware , 1986, 27th Annual Symposium on Foundations of Computer Science (sfcs 1986).

[32]  Marcos K. Aguilera,et al.  Revising the Weakest Failure Detector for Uniform Reliable Broadcast , 1999, DISC.

[33]  Rachid Guerraoui,et al.  The information structure of indulgent consensus , 2004, IEEE Transactions on Computers.

[34]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.