Wait-Free Consensus CPSC 661 Fall 2003 Supervised by: Lisa Higham

Slides:



Advertisements
Similar presentations
Impossibility of Distributed Consensus with One Faulty Process
Advertisements

1 © R. Guerraoui The Limitations of Registers R. Guerraoui Distributed Programming Laboratory.
Paris, 3 Dec 2007MPRI Course on Concurrency MPRI – Course on Concurrency Lecture 12 Probabilistic process calculi Catuscia Palamidessi LIX, Ecole Polytechnique.
The weakest failure detector question in distributed computing Petr Kouznetsov Distributed Programming Lab EPFL.
Local-spin, Abortable Mutual Exclusion Joe Rideout.
CPSC 668Set 18: Wait-Free Simulations Beyond Registers1 CPSC 668 Distributed Algorithms and Systems Fall 2006 Prof. Jennifer Welch.
6.852: Distributed Algorithms Spring, 2008 Class 16.
Distributed Computing 8. Impossibility of consensus Shmuel Zaks ©
Distributed Algorithms – 2g1513 Lecture 10 – by Ali Ghodsi Fault-Tolerance in Asynchronous Networks.
Distributed Computing 8. Impossibility of consensus Shmuel Zaks ©
What is ’’hard’’ in distributed computing? R. Guerraoui EPFL/MIT joint work with. Delporte and H. Fauconnier (Univ of Paris)
Sergio Rajsbaum 2006 Lecture 3 Introduction to Principles of Distributed Computing Sergio Rajsbaum Math Institute UNAM, Mexico.
CPSC 668Set 9: Fault Tolerant Consensus1 CPSC 668 Distributed Algorithms and Systems Fall 2006 Prof. Jennifer Welch.
Lock vs. Lock-Free memory Fahad Alduraibi, Aws Ahmad, and Eman Elrifaei.
CPSC 668Set 9: Fault Tolerant Consensus1 CPSC 668 Distributed Algorithms and Systems Spring 2008 Prof. Jennifer Welch.
What Can Be Implemented Anonymously ? Paper by Rachid Guerraui and Eric Ruppert Presentation by Amir Anter 1.
Wait-Free Consensus with Infinite Arrivals James Aspnes Gauri Shah Jatin Shah Yale University STOC 2002.
 Idit Keidar, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Lecture 12: Impossibility.
Consensus and Related Problems Béat Hirsbrunner References G. Coulouris, J. Dollimore and T. Kindberg "Distributed Systems: Concepts and Design", Ed. 4,
Synchronization Methods for Multicore Programming Brendan Lynch.
1 Lock-Free Linked Lists Using Compare-and-Swap by John Valois Speaker’s Name: Talk Title: Larry Bush.
Distributed Consensus Reaching agreement is a fundamental problem in distributed computing. Some examples are Leader election / Mutual Exclusion Commit.
CMPS 3223 Theory of Computation Automata, Computability, & Complexity by Elaine Rich ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Slides provided.
Lecture 8-1 Computer Science 425 Distributed Systems CS 425 / CSE 424 / ECE 428 Fall 2010 Indranil Gupta (Indy) September 16, 2010 Lecture 8 The Consensus.
Lecture #12 Distributed Algorithms (I) CS492 Special Topics in Computer Science: Distributed Algorithms and Systems.
Distributed Algorithms – 2g1513 Lecture 9 – by Ali Ghodsi Fault-Tolerance in Distributed Systems.
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS Fall 2011 Prof. Jennifer Welch CSCE 668 Set 18: Wait-Free Simulations Beyond Registers 1.
Consensus and Its Impossibility in Asynchronous Systems.
A Consistency Framework for Iteration Operations in Concurrent Data Structures Yiannis Nikolakopoulos A. Gidenstam M. Papatriantafilou P. Tsigas Distributed.
1 Chapter 9 Synchronization Algorithms and Concurrent Programming Gadi Taubenfeld © 2014 Synchronization Algorithms and Concurrent Programming Synchronization.
1 Chapter 10 Synchronization Algorithms and Concurrent Programming Gadi Taubenfeld © 2014 Synchronization Algorithms and Concurrent Programming Synchronization.
Wait-Free Consensus CPSC 661 Fall 2003 Supervised by: Lisa Higham Presented by: Wei Wei Zheng Nuha Kamaluddeen.
CS294, Yelick Consensus revisited, p1 CS Consensus Revisited
CS 425/ECE 428/CSE424 Distributed Systems (Fall 2009) Lecture 9 Consensus I Section Klara Nahrstedt.
SysRép / 2.5A. SchiperEté The consensus problem.
Agreement in Distributed Systems n definition of agreement problems n impossibility of consensus with a single crash n solvable problems u consensus with.
Distributed Algorithms (22903) Lecturer: Danny Hendler The wait-free hierarchy and the universality of consensus This presentation is based on the book.
Fault tolerance and related issues in distributed computing Shmuel Zaks GSSI - Feb
DISTRIBUTED ALGORITHMS Spring 2014 Prof. Jennifer Welch Set 9: Fault Tolerant Consensus 1.
1 The Computability of Relaxed Data Structures: Queues and Stacks as Examples The Computability of Relaxed Data Structures: Queues and Stacks as Examples.
The Big Picture Chapter 3.
The Consensus Problem in Fault Tolerant Computing
Distributed Algorithms (22903)
The consensus problem in distributed systems
When Is Agreement Possible
Lock-Free Linked Lists Using Compare-and-Swap
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS
8.2. Process resilience Shreyas Karandikar.
Outline for this evening
Challenges in Concurrent Computing
Algebraic Topology and Distributed Computing part two
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS
Alternating Bit Protocol
Distributed Consensus
Distributed Consensus
How Hard Can It Be?.
EEC 688/788 Secure and Dependable Computing
Distributed Algorithms (22903)
Distributed Algorithms (22903)
The Relative Power of Synchronization Methods
CSE 311: Foundations of Computing
EEC 688/788 Secure and Dependable Computing
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS
FLP Impossibility of Consensus
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
Yehuda Afek, Eli Daian, Eli Gafni, Giuliano Losa
Sisi Duan Assistant Professor Information Systems
Presentation transcript:

Wait-Free Consensus CPSC 661 Fall 2003 Supervised by: Lisa Higham Presented by: Wei Wei Zheng Nuha Kamaluddeen

Outline Deterministic Wait-Free Consensus Problem FLP vs. Herlihy Impossibility and Universality Randomized Wait-Free

Deterministic Wait-Free Wait-Free Implementation is the one which guarantees that any process can complete any operation in a finite number of steps of that process Given two concurrent objects X and Y Q: Does there exist a wait-free implementation of X by Y? FLP and Herlihy’s papers answered this question

Consensus Problem A system of n processes that communicate through m shared objects Each process starts with an input value from domain D Communicates with one another by applying operations to the shared objects Eventually agree on a common input value and halt

Consensus Problem Requirements: Agreement: all processes decide on one common value if they do decide Validity: the common decision value is the input of some process Wait-Freedom: each process decides after a finite number of steps

Consensus Number Consensus Number for an object X is the largest n for which X solves consensus problem for n processes If no largest n exists, then the consensus number is said to be infinite

FLP vs. Herlihy FLP answered the question for a specific object, i.e., R/W register. FLP provided a stronger result for this special case: no implementation of consensus problem of n>=2 processes using R/W registers, even for at most 1 stopping faulty process, and even for binary inputs Herlihy gave a more generalized answer: Impossibility and Universality Hierarchy for wait-free implementation of any type of object

Impossibility and Universality Hierarchy Consensus Number Object 1 R/W registers 2 Test&set, swap, fetch&add, queue, stack 2n - 2 n-register assignment Infinity Memory-to-memory move and swap, augmented queue, compare&swap, fetch&cons, sticky byte

Impossibility and Universality It is impossible to construct a wait-free implementation of an object with consensus number n from any number of objects with a lower consensus number

Impossibility and Universality Universality: an object is universal in a system of n (or fewer) processes if it can implement any object of consensus number n (i.e., if it can solve the consensus problem for up to n processes) Any object with consensus number n is universal in a system of n (or fewer) processes

Why Is It Important Research done before was focusing on constructing complex objects from atomic R/W registers Atomic registers have few applications in constructing wait-free implementation of more complex data structure, e.g., queue and test&set Turning Points: Pay attention to other primitives: stronger than R/W registers Give up wait-free Use randomized wait-free

Randomized Wait-Free Randomized Deterministic Wait-Free: Any process can complete any operation in an finite number of steps of that process expected

Importance of Randomization We can construct a randomized wait-free implementation of Read-Modify-Write by atomic R/W operations Read-Modify-Write is universal So, atomic R/W operation is universal Herlihy’s hierarchy collapses to 1 level using randomization

References M. Fischer, N. Lynch, and M. Paterson. Impossibility of Distributed Consensus with One Faulty Process. Journal of ACM, Vol. 32, No. 2, April 1985, pp. 374-382. M. Herlihy. Wait-Free Synchronization. ACM Transactions on Programming Languages and Systems, 13(1): 124-149. January 1991. M. Herlihy. Randomized Wait-Free Concurrent Objects. In proceedings of the 10th annual ACM Symposium on Principles of Distributed Computing, August 1991, Montreal Canada

Questions?