Distributed Systems Terminating Reliable 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.
The weakest failure detector question in distributed computing Petr Kouznetsov Distributed Programming Lab EPFL.
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.
1 © R. Guerraoui Implementing the Consensus Object with Timing Assumptions R. Guerraoui Distributed Programming Laboratory.
1 © P. Kouznetsov On the weakest failure detector for non-blocking atomic commit Rachid Guerraoui Petr Kouznetsov Distributed Programming Laboratory Swiss.
Failure Detectors. Can we do anything in asynchronous systems? Reliable broadcast –Process j sends a message m to all processes in the system –Requirement:
1 Principles of Reliable Distributed Systems Lecture 6: Synchronous Uniform Consensus Spring 2005 Dr. Idit Keidar.
Failure Detectors & Consensus. Agenda Unreliable Failure Detectors (CHANDRA TOUEG) Reducibility ◊S≥◊W, ◊W≥◊S Solving Consensus using ◊S (MOSTEFAOUI RAYNAL)
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) )
Non-blocking Atomic Commitment Aaron Kaminsky Presenting Chapter 6 of Distributed Systems, 2nd edition, 1993, ed. Mullender.
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 Module 2 -Distributed algorithms Teaching unit 1 – Basic techniques Ernesto Damiani University of Bozen Lesson 4 – Consensus and reliable.
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.
Distributed Systems Tutorial 4 – Solving Consensus using Chandra-Toueg’s unreliable failure detector: A general Quorum-Based Approach.
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.
 Idit Keidar, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Lecture 7: Failure Detectors.
1 Principles of Reliable Distributed Systems Recitation 7 Byz. Consensus without Authentication ◊S-based Consensus Spring 2008 Alex Shraer.
Composition Model and its code. bound:=bound+1.
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.
1 © R. Guerraoui Regular register algorithms R. Guerraoui Distributed Programming Laboratory lpdwww.epfl.ch.
Approximation of δ-Timeliness Carole Delporte-Gallet, LIAFA UMR 7089, Paris VII Stéphane Devismes, VERIMAG UMR 5104, Grenoble I Hugues Fauconnier, LIAFA.
Distributed systems Consensus Prof R. Guerraoui Distributed Programming Laboratory.
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.
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.
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.
Unreliable Failure Detectors for Reliable Distributed Systems Tushar Deepak Chandra Sam Toueg Presentation for EECS454 Lawrence Leinweber.
Distributed systems Causal Broadcast
CSE 486/586 Distributed Systems Reliable Multicast --- 1
Coordination and Agreement
Atomic register algorithms
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS
Coordination and Agreement
Distributed systems Total Order Broadcast
Computer Science 425 Distributed Systems CS 425 / ECE 428 Fall 2013
Alternating Bit Protocol
Distributed Consensus
Agreement Protocols CS60002: Distributed Systems
Outline Announcements Fault Tolerance.
Distributed Systems, Consensus and Replicated State Machines
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
Distributed systems Reliable Broadcast
EEC 688/788 Secure and Dependable Computing
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS
EEC 688/788 Secure and Dependable Computing
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
CSE 486/586 Distributed Systems Reliable Multicast --- 2
Distributed systems Causal Broadcast
CSE 486/586 Distributed Systems Reliable Multicast --- 1
Blockchains Lecture 6.
Presentation transcript:

Distributed Systems Terminating Reliable Broadcast Prof R. Guerraoui Distributed Programming Laboratory

Terminating Reliable Broadcast

Terminating Reliable Broadcast Like reliable broadcast, terminating reliable broadcast (TRB) is a communication primitive used to disseminate a message among a set of processes in a reliable way TRB is however strictly stronger than (uniform) reliable broadcast

(Uniform) Reliable Broadcast deliver(m) p1 broadcast(m) crash p2 deliver(m) p3

(Uniform) Reliable Broadcast ? p1 broadcast(m) crash p2 p3 ?

Terminating Reliable Broadcast deliver(m) p1 broadcast(m) crash p2 deliver(m) p3

Terminating Reliable Broadcast deliver() p1 broadcast(m) crash p2 deliver() p3

Terminating Reliable Broadcast Like with reliable broadcast, correct processes in TRB agree on the set of messages they deliver Like with (uniform) reliable broadcast, every correct process in TRB delivers every message delivered by any process Unlike with reliable broadcast, every correct process delivers a message, even if the broadcaster crashes

Terminating Reliable Broadcast The problem is defined for a specific broadcaster process pi = src (known by all processes) Process src is supposed to broadcast a message m (distinct from ) The other processes need to deliver m if src is correct but may deliver  if src crashes

Terminating Reliable Broadcast (pi) TRB1. Integrity: If a process delivers a message m, then either m is  or m was broadcast by src TRB2. Validity: If the sender src is correct and broadcasts a message m, then src eventually delivers m TRB3. (Uniform) Agreement: For any message m, if a correct (any) process delivers m, then every correct process delivers m TRB4. Termination: Every correct process eventually delivers exactly one message

Terminating Reliable Broadcast Events Request: <trbBroadcast, m> Indication: <trbDeliver, p, m> Properties: TRB1, TRB2, TRB3, TRB4

Algorithm (trb) Implements: trbBroadcast (trb). Uses: BestEffortBroadcast (beb). PerfectFailureDetector (P). Consensus(cons). upon event < Init > do prop := ; correct := S;

Algorithm (trb – cont’d) upon event < trbBroadcast, m> do trigger < bebBroadcast, m>; upon event < crash, src > and (prop = ) do prop := ;

Algorithm (trb – cont’d) upon event <bebDeliver, src, m> and (prop = ) do prop := m; upon event (prop ) do trigger < Propose, prop>; upon event < Decide, decision> do trigger < trbDeliver, src, decision>;

Algorithm (trb); src = p2 UCons(,-m) deliver( -m) p1 broadcast(m) p2 crash UCons(m,-m) deliver( -m) p3

Terminating Reliable Broadcast Our TRB algorithm uses the perfect failure detector P (i.e., P is sufficient) Is P also necessary? Is there an algorithm that implements TRB with a failure detector that is strictky weaker than P? (this would mean that P is not necessary) Is there an algorithm that uses TRB to implement P (this would mean that P is necessary)

Terminating Reliable Broadcast We give an algorithm that implements P using TRB; more precisely, we assume that every process pi can use an infinite number of instances of TRB where pi is the sender src 1. Every process pi keeps on trbBroadcasting messages mi1, mi2, etc 2. If a process pk delivers i, pk suspects pi NB. The algorithm uses (non-uniform) TRB