Structure of Consensus 1 The Structure of Consensus Consensus touches upon the basic “topology” of distributed computations. We will use this topological.

Slides:



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

CS 542: Topics in Distributed Systems Diganta Goswami.
DISTRIBUTED SYSTEMS II FAULT-TOLERANT BROADCAST Prof Philippas Tsigas Distributed Computing and Systems Research Group.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Consensus Steve Ko Computer Sciences and Engineering University at Buffalo.
BASIC BUILDING BLOCKS -Harit Desai. Byzantine Generals Problem If a computer fails, –it behaves in a well defined manner A component always shows a zero.
Distributed Computing 8. Impossibility of consensus Shmuel Zaks ©
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Consensus Steve Ko Computer Sciences and Engineering University at Buffalo.
Sliding window protocol The sender continues the send action without receiving the acknowledgements of at most w messages (w > 0), w is called the window.
Announcements. Midterm Open book, open note, closed neighbor No other external sources No portable electronic devices other than medically necessary medical.
Distributed Algorithms – 2g1513 Lecture 10 – by Ali Ghodsi Fault-Tolerance in Asynchronous Networks.
CS 425 / ECE 428 Distributed Systems Fall 2014 Indranil Gupta (Indy) Lecture 13: Impossibility of Consensus All slides © IG.
Computer Science 425 Distributed Systems CS 425 / ECE 428 Consensus
Consensus Hao Li.
Distributed Computing 8. Impossibility of consensus Shmuel Zaks ©
CPSC 668Set 10: Consensus with Byzantine Failures1 CPSC 668 Distributed Algorithms and Systems Fall 2009 Prof. Jennifer Welch.
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.
CPSC 668Set 9: Fault Tolerant Consensus1 CPSC 668 Distributed Algorithms and Systems Spring 2008 Prof. Jennifer Welch.
CPSC 668Set 10: Consensus with Byzantine Failures1 CPSC 668 Distributed Algorithms and Systems Fall 2006 Prof. Jennifer Welch.
1 Fault-Tolerant Consensus. 2 Failures in Distributed Systems Link failure: A link fails and remains inactive; the network may get partitioned Crash:
Impossibility of Distributed Consensus with One Faulty Process Michael J. Fischer Nancy A. Lynch Michael S. Paterson Presented by: Oren D. Rubin.
Distributed systems Module 2 -Distributed algorithms Teaching unit 1 – Basic techniques Ernesto Damiani University of Bozen Lesson 4 – Consensus and reliable.
 Idit Keidar, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Lecture 6: Impossibility.
CPSC 668Set 11: Asynchronous Consensus1 CPSC 668 Distributed Algorithms and Systems Fall 2006 Prof. Jennifer Welch.
CPSC 668Set 11: Asynchronous Consensus1 CPSC 668 Distributed Algorithms and Systems Fall 2009 Prof. Jennifer Welch.
 Idit Keidar, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Lecture 12: Impossibility.
Distributed Algorithms: Agreement Protocols. Problems of Agreement l A set of processes need to agree on a value (decision), after one or more processes.
On the Cost of Fault-Tolerant Consensus When There are no Faults Idit Keidar & Sergio Rajsbaum Appears in SIGACT News; MIT Tech. Report.
Systems of Distributed systems Module 2 - Distributed algorithms Teaching unit 2 – Properties of distributed algorithms Ernesto Damiani University of Bozen.
Consensus and Related Problems Béat Hirsbrunner References G. Coulouris, J. Dollimore and T. Kindberg "Distributed Systems: Concepts and Design", Ed. 4,
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Consensus Steve Ko Computer Sciences and Engineering University at Buffalo.
Distributed Consensus Reaching agreement is a fundamental problem in distributed computing. Some examples are Leader election / Mutual Exclusion Commit.
Distributed Consensus Reaching agreement is a fundamental problem in distributed computing. Some examples are Leader election / Mutual Exclusion Commit.
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.
1 © P. Kouznetsov A Note on Set Agreement with Omission Failures Rachid Guerraoui, Petr Kouznetsov, Bastian Pochon Distributed Programming Laboratory Swiss.
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 11: Asynchronous Consensus 1.
Consensus and Its Impossibility in Asynchronous Systems.
Ch11 Distributed Agreement. Outline Distributed Agreement Adversaries Byzantine Agreement Impossibility of Consensus Randomized Distributed Agreement.
Computer Science 425 Distributed Systems (Fall 2009) Lecture 10 The Consensus Problem Part of Section 12.5 and Paper: “Impossibility of Distributed Consensus.
DISTRIBUTED ALGORITHMS AND SYSTEMS Spring 2014 Prof. Jennifer Welch Set 11: Asynchronous Consensus 1.
CS294, Yelick Consensus revisited, p1 CS Consensus Revisited
CS 425/ECE 428/CSE424 Distributed Systems (Fall 2009) Lecture 9 Consensus I Section Klara Nahrstedt.
Distributed systems Consensus Prof R. Guerraoui Distributed Programming Laboratory.
Sliding window protocol The sender continues the send action without receiving the acknowledgements of at most w messages (w > 0), w is called the window.
Hwajung Lee. Reaching agreement is a fundamental problem in distributed computing. Some examples are Leader election / Mutual Exclusion Commit or Abort.
Chap 15. Agreement. Problem Processes need to agree on a single bit No link failures A process can fail by crashing (no malicious behavior) Messages take.
Impossibility of Distributed Consensus with One Faulty Process By, Michael J.Fischer Nancy A. Lynch Michael S.Paterson.
Agreement in Distributed Systems n definition of agreement problems n impossibility of consensus with a single crash n solvable problems u consensus with.
Replication predicates for dependent-failure algorithms Flavio Junqueira and Keith Marzullo University of California, San Diego Euro-Par Conference, Lisbon,
Alternating Bit Protocol S R ABP is a link layer protocol. Works on FIFO channels only. Guarantees reliable message delivery with a 1-bit sequence number.
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 Fault-Tolerant Consensus. 2 Communication Model Complete graph Synchronous, network.
CSE 486/586 CSE 486/586 Distributed Systems Consensus Steve Ko Computer Sciences and Engineering University at Buffalo.
When Is Agreement Possible
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS
Algebraic Topology and Distributed Computing part two
Byzantine-Resilient Colorless Computaton
Algebraic Topology and Distributed Computing
Alternating Bit Protocol
Distributed Consensus
Agreement Protocols CS60002: Distributed Systems
Distributed Consensus
Algebraic Topology and Distributed Computing part three
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS
FLP Impossibility of Consensus
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS
Presentation transcript:

Structure of Consensus 1 The Structure of Consensus Consensus touches upon the basic “topology” of distributed computations. We will use this topological structure to analyze the problem in a uniform way.

Structure of Consensus 2 Bipotence Every execution of a protocol for consensus contains a sequence C 0,C 1,…,C k,… of configurations and a decision value. A given configuration C can appear in many executions. We say that C is 0-potent if it appears in an execution deciding 0, and similarly for 1-potent.

Structure of Consensus 3 A state C is bipotent if it is both 0-potent and 1-potent. Claim: For every protocol for consensus, f>0 => there is a bipotent initial state. Proof: Define C i = initial state where p 0,…,p i-1 have value 1 and the rest have value 0. C 0 is 0-potent and C n-1 is 1-potent. For some i, C i is 0-potent and C i+1 is 1-potent. Both yield the same decision when p i crashes at the outset. => one of them must be bipotent.

Structure of Consensus 4 The diagram shows C i ~ p C i v CiCi C i+1 i

Structure of Consensus 5 So What? Bipotent states have undecided processes. A sequence of bipotent states precludes agreement. This approach applies in different models.

Structure of Consensus 6 Claim: If X is p-connected & X contains both 0-potent and 1-potent states => X contains a bipotent state. Proof: There are C ~ p C ’ in X with C being 0-potent and C’ being 1-potent. C ~ p C ’ if both are v-potent for some v. The set X is p-connected if (X, ~ p ) is connected.. Potence Connectivity

Structure of Consensus 7 Similarity Connectivity C ~ s C ’ if they differ at most in the state of a single process. The set X is s-connected if (X, ~ s ) is connected. Connection: X is s-connected & one crash possible => X is p-connected

Structure of Consensus 8 C ~ s C’ & One crash => C ~ p C’ SiSi Si’Si’ v C’C’ i C

Structure of Consensus 9 Synchronous lower bound Claim: Fix a protocol P for f -consensus. Assume: Fewer than f -2 failures in C X C = immediate successors of C under P with at most one new failure => X C is p-connected. Proof: X C is s-connected, and any process can crash in a state of X C, so it is p-connected.

Structure of Consensus 10 X C is s-connected: (j,k) : j fails in this round, sends to p k,…,p n-1, doesn’t send to p 0,…,p k-1 C (j,k) (j,k+1) ~s~s (j+1,0) (j,0)...

Structure of Consensus 11 Remark: Potence in this proof is with respect to runs with at most one failure per round! Claim: There is always a bipotent state after f-1 rounds. Lemma: Two rounds are required for consensus from a bipotent state. Theorem: Every protocol for f-consensus requires f+1 rounds in the worst case.

Structure of Consensus 12 Mobile Failures Synchronous model At most one faulty process in every round Could be a different process in each round Theorem: Consensus is impossible in this case! Proof: We construct an infinite execution consisting of bipotent states, using the same rounds and reasoning as above.

Structure of Consensus 13 Asynchronous Message Passing Asynchronous model Crash failures, f=1 Theorem: Consensus is impossible! (This is a famous result by Fischer, Lynch and Patterson) Proof: Similar, but more delicate:

Structure of Consensus 14 Layers: Asynchronous “rounds” Focus on “combined steps” of the forms: (j,A) j in {0,…,n-1} “A” stands for “Absent” (j,k), j in {0,…,n-1}, k in {0,…,n} In a (j,A) step, all processes except p j move simultaneously, and then all (except p j ) receive the pending undelivered messages sent to them. In (j,k), all processes move simultaneously, and then they receive all undelivered messages sent to them, except that if p j ’s action was send(p i,m) and i < k, this message is not delivered yet.

Structure of Consensus 15 Properties of the layered executions Every infinite sequence of layers yields an admissible execution. It is always possible to “crash” an arbitrary process. Claim: The set of successors of a reachable configuration is p-connected. QED

Structure of Consensus 16 I: “full layers” are s-connected C (j,k) ~ s C (j,k+1) k = 0,…,n-1 : These states can differ at MOST in the state of the recipient of p j ’s message C (j,0) = C (j’,0) j,j’= 0,…,n-1 The same actions are taken and the same messages are delivered in both. So C (j,k) is s-connected to C (j,0) to C (j’,0) and to C (j’,k’), for all j’,k’.

Structure of Consensus 17 II: “all layers” are p-connected The full layers are p-connected by prev slide, since every process can always be silenced. Now: C’= C (j,n) (j,A) ~ s C (j,A) (j,0) = C’’ These states can differ at most in the state of p j. In both cases p j performs one action, based on its local state in C. Nobody hears from p j in the first round, and if p j ’s action is a send, this message is received in the second round. => C’ ~ p C’’ and so C (j,n) ~ p C (j,A)

Structure of Consensus 18 Asynchronous Shared Memory Asynchronous model Crash failures, f=1 Theorem: Consensus is impossible! Proof: Same proof, “full layer” step is simpler.