Distributed systems Total Order Broadcast

Slides:



Advertisements
Similar presentations
Distributed systems Total Order Broadcast Prof R. Guerraoui Distributed Programming Laboratory.
Advertisements

Prof R. Guerraoui Distributed Programming Laboratory
DISTRIBUTED SYSTEMS II FAULT-TOLERANT BROADCAST Prof Philippas Tsigas Distributed Computing and Systems Research Group.
A General Characterization of Indulgence R. Guerraoui EPFL joint work with N. Lynch (MIT)
1 Distributed systems Causal Broadcast Prof R. Guerraoui Distributed Programming Laboratory.
CSE 486/586, Spring 2014 CSE 486/586 Distributed Systems Reliable Multicast Steve Ko Computer Sciences and Engineering University at Buffalo.
Teaser - Introduction to Distributed Computing
Failure Detection The ping-ack failure detector in a synchronous system satisfies – A: completeness – B: accuracy – C: neither – D: both.
Distributed Systems Overview Ali Ghodsi
P. Kouznetsov, 2006 Abstracting out Byzantine Behavior Peter Druschel Andreas Haeberlen Petr Kouznetsov Max Planck Institute for Software Systems.
Broadcast Variants. Distributed Systems (DNR)2 why broadcasts? distributed systems are inherently group oriented and hence it is more useful to talk about.
1 Principles of Reliable Distributed Systems Lectures 11: Authenticated Byzantine Consensus Spring 2005 Dr. Idit Keidar.
Distributed Systems Fall 2010 Replication Fall 20105DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
E-Transactions: End-to-End Reliability for Three-Tier Architectures Svend Frølund and Rachid Guerraoui.
1 Principles of Reliable Distributed Systems Lecture 3: Synchronous Uniform Consensus Spring 2006 Dr. Idit Keidar.
Distributed systems Module 2 -Distributed algorithms Teaching unit 1 – Basic techniques Ernesto Damiani University of Bozen Lesson 3 – Distributed Systems.
Asynchronous Consensus (Some Slides borrowed from ppt on Web.(by Ken Birman) )
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.
Aran Bergman Eddie Bortnikov, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Recitation.
Distributed Systems Non-Blocking Atomic Commit
Idit Keidar, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Lecture 5: Synchronous Uniform.
1 Principles of Reliable Distributed Systems Lecture 5: Failure Models, Fault-Tolerant Broadcasts and State-Machine Replication Spring 2005 Dr. Idit Keidar.
1 Principles of Reliable Distributed Systems Recitation 8 ◊S-based Consensus Spring 2009 Alex Shraer.
Distributed Systems Fall 2009 Replication Fall 20095DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
Distributed systems Module 2 -Distributed algorithms Teaching unit 1 – Basic techniques Ernesto Damiani University of Bozen Lesson 4 – Consensus and reliable.
Ordered Communication. Define guarantees about the order of deliveries inside group of processes Type of ordering: Deliveries respect the FIFO ordering.
Aran Bergman & Eddie Bortnikov & Alex Shraer, Principles of Reliable Distributed Systems, Spring Principles of Reliable Distributed Systems Recitation.
Aran Bergman, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Recitation 5: Reliable.
 Idit Keidar, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Lecture 12: Impossibility.
Systems of Distributed systems Module 2 - Distributed algorithms Teaching unit 2 – Properties of distributed algorithms Ernesto Damiani University of Bozen.
Distributed Systems Terminating Reliable Broadcast Prof R. Guerraoui Distributed Programming Laboratory.
State Machines CS 614 Thursday, Feb 21, 2002 Bill McCloskey.
1 A Modular Approach to Fault-Tolerant Broadcasts and Related Problems Author: Vassos Hadzilacos and Sam Toueg Distributed Systems: 526 U1580 Professor:
Failure detection and consensus Ludovic Henrio CNRS - projet OASIS Distributed Algorithms.
Reliable Communication in the Presence of Failures Based on the paper by: Kenneth Birman and Thomas A. Joseph Cesar Talledo COEN 317 Fall 05.
1 © R. Guerraoui Regular register algorithms R. Guerraoui Distributed Programming Laboratory lpdwww.epfl.ch.
Totally Ordered Broadcast in the face of Network Partitions [Keidar and Dolev,2000] INF5360 Student Presentation 4/3-08 Miran Damjanovic
Distributed systems Consensus Prof R. Guerraoui Distributed Programming Laboratory.
Building Dependable Distributed Systems, Copyright Wenbing Zhao
SysRép / 2.5A. SchiperEté The consensus problem.
1 © R. Guerraoui Distributed algorithms Prof R. Guerraoui Assistant Marko Vukolic Exam: Written, Feb 5th Reference: Book - Springer.
Replication Improves reliability Improves availability ( What good is a reliable system if it is not available?) Replication must be transparent and create.
Failure Detectors n motivation n failure detector properties n failure detector classes u detector reduction u equivalence between classes n consensus.
Fault-Tolerant Broadcast Terminology: broadcast(m) a process broadcasts a message to the others deliver(m) a process delivers a message to itself 1.
DISTRIBUTED ALGORITHMS Spring 2014 Prof. Jennifer Welch Set 9: Fault Tolerant Consensus 1.
Unreliable Failure Detectors for Reliable Distributed Systems Tushar Deepak Chandra Sam Toueg Presentation for EECS454 Lawrence Leinweber.
Reliable multicast Tolerates process crashes. The additional requirements are: Only correct processes will receive multicasts from all correct processes.
Distributed systems Causal Broadcast
Coordination and Agreement
Atomic register algorithms
Distributed Systems – Paxos
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS
Coordination and Agreement
Agreement Protocols CS60002: Distributed Systems
Distributed Systems, Consensus and Replicated State Machines
Replication Improves reliability Improves availability
Distributed systems Reliable Broadcast
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
Distributed systems Causal Broadcast
EEC 688/788 Secure and Dependable Computing
Failure Detectors motivation failure detector properties
Distributed systems Consensus
Broadcasting with failures
Distributed Systems Terminating Reliable Broadcast
Distributed systems Causal Broadcast
CSE 486/586 Distributed Systems Reliable Multicast --- 1
Presentation transcript:

Distributed systems Total Order Broadcast Prof R. Guerraoui Distributed Programming Laboratory

Overview Intuitions: what total order broadcast can bring? Specifications of total order broadcast Consensus-based total order algorithm

Broadcast A deliver m B m broadcast deliver C

Intuitions (1) In reliable broadcast, the processes are free to deliver messages in any order they wish In causal broadcast, the processes need to deliver messages according to some order (causal order) The order imposed by causal broadcast is however partial: some messages might be delivered in different order by the processes

Reliable Broadcast m3 m1 m2 m1 m2 p1 m2 m3 m1 p2 m2 m1 m3 p3 m3

Causal Broadcast m3 m1 m2 m1 m2 p1 m2 m1 m3 p2 m1 m2 m3 p3 m3

Intuitions (2) In total order broadcast, the processes must deliver all messages according to the same order (i.e., the order is now total) Note that this order does not need to respect causality (or even FIFO ordering) Total order broadcast can be made to respect causal (or FIFO) ordering

Total Order Broadcast (I) m1 m3 m2 m1 m2 p1 m2 m1 m3 p2 m3 m2 m1 p3 m3

Total Order Broadcast (II) m2 m3 m1 m1 m2 p1 m1 m2 m3 p2 m3 m1 m2 p3 m3

Intuitions (3) A replicated service where the replicas need to treat the requests in the same order to preserve consistency (we talk about state machine replication) A notification service where the subscribers need to get notifications in the same order

(R-U)Reliable broadcast Modules of a process indication Applications request Total order broadcast indication request indication (R-U)Reliable broadcast Failure detector Channels

Overview Intuitions: what total order broadcast can bring? Specifications of total order broadcast Consensus-based algorithm

Total order broadcast (tob) Events Request: <toBroadcast, m> Indication: <toDeliver, src, m> Properties: RB1, RB2, RB3, RB4 Total order property

Specification (I) Validity: If pi and pj are correct, then every message broadcast by pi is eventually delivered by pj No duplication: No message is delivered more than once No creation: No message is delivered unless it was broadcast (Uniform) Agreement: For any message m. If a correct (any) process delivers m, then every correct process delivers m

Specification (II) (Uniform) Total order: Let m and m’ be any two messages. Let pi be any (correct) process that delivers m without having delivered m’ Then no (correct) process delivers m’ before m

Specifications Note the difference with the following properties: Let pi and pj be any two correct (any) processes that deliver two messages m and m’. If pi delivers m’ before m, then pj delivers m’ before m. Let pi and pj be any two (correct) processes that deliver a message m. If pi delivers a message m’ before m, then pj delivers m’ before m.

m1 p1 m1 p2 crash m2 p3 crash p4 m2

m1 p1 m1 p2 crash m2 p3 crash p4 m2

Overview Intuitions: what total order broadcast can bring? Specifications of total order broadcast Consensus-based algorithm

(Uniform) Consensus In the (uniform) consensus problem, the processes propose values and need to agree on one among these values C1. Validity: Any value decided is a value proposed C2. (Uniform) Agreement: No two correct (any) processes decide differently C3. Termination: Every correct process eventually decides C4. Integrity: Every process decides at most once

Consensus Events Request: <Propose, v> Indication: <Decide, v’> Properties: C1, C2, C3, C4

(R-U)Reliable broadcast Modules of a process Channels Applications request indication Failure detector (R-U)Reliable broadcast Total order broadcast Consensus

Algorithm Implements: TotalOrder (to). Uses: ReliableBroadcast (rb). Consensus (cons); upon event < Init > do unordered = delivered = empty; wait := false; sn := 1;

Algorithm (cont’d) upon event < toBroadcast, m> do trigger < rbBroadcast, m>; upon event <rbDeliver,sm,m> and (m not in delivered) do unordered := unordered U {(sm,m)}; upon (unordered not empty) and not(wait) do wait := true: trigger < Propose, unordered>sn;

Algorithm (cont’d) upon event <Decide,decided>sn do unordered := unordered \ decided; ordered := deterministicSort(decided); for all (sm,m) in ordered: trigger < toDeliver,sm,m>; delivered := delivered U {m}; sn : = sn + 1; wait := false;

Equivalences One can build consensus with total order broadcast One can build total order broadcast with consensus and reliable broadcast Therefore, consensus and total order broadcast are equivalent problems in a system with reliable channels