Part 5: Total Order Broadcast
|
|
- Edwina Summers
- 5 years ago
- Views:
Transcription
1 Dependable Distributed Systems 2 Part 5: Total Order Broadcast Prof Dr. Felix Freiling (based on slides by Rachid Guerraoui, EPFL)
2 Looking Back Asynchronous system model with reliable channels best-effort/reliable/uniform broadcast without failure detectors with or without FIFO/causal order regular/uniform consensus FLP impossibility algorithms with failure detectors weakest failure detectors for consensus Today: back to broadcast 2
3 Consensus Agreement Validity Termination Consensus is a fundamental agreement abstraction (well-studied in the literature) "smallest common agreement problem" stronger agreement abstractions derived from solutions to consensus 3
4 Total Order Broadcast Reliable broadcast with total order all processes see the same delivery order sometimes also called atomic broadcast broadcast() deliver() deliver () broadcast() 4
5 Overview Intuitions: what total order broadcast can be used for? Specifications of total order broadcast Consensus-based total order algorithm 5
6 Uniform Reliable Broadcast Properties: "Safety" and "Liveness" plus Agreement or Uniform Agreement Non-Uniform Reliable Broadcast can be constructed in the obvious way broadcast(m) deliver(m) 6
7 Broadcast Properties URB1. Validity: If pi and pj are correct, then every message broadcast by pi is eventually delivered by pj URB2. No duplication: No message is delivered more than once URB3. No creation: No message is delivered unless it was broadcast URB4. Uniform Agreement: For any message m, if a process delivers m, then every correct process delivers m 7
8 Ordered Reliable Broadcast None, FIFO, causal best-effort FIFO best-effort causal besteffort reliable FIFO reliable causal reliable uniform reliable FIFO uniform reliable causal uniform reliable 8
9 Partial and Total Orders In (uniform) 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 causal order The order imposed by causal broadcast is however partial: some messages might be delivered in different order by the processes 9
10 p1 Reliable Broadcast m3 p2 m3 p3 m3 m3 10
11 p1 Causal Broadcast m3 p2 m3 p3 m3 m3 11
12 Total vs. FIFO/Causal Order In total order broadcast, the processes must deliver 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 is orthogonal to FIFO/causal order Total order broadcast can be made to respect causal (or FIFO) ordering 12
13 Total Order Broadcast? (1/4) FIFO, causal, total? p1 m3 m3 p2 p3 m3 m3 13
14 Total Order Broadcast? (2/4) FIFO, causal, total? p1 m3 p2 m3 p3 m3 m3 14
15 Total Order Broadcast? (3/4) FIFO, causal, total, uniform? p1 m3 p2 m3 p3 m3 15
16 Total Order Broadcast? (4/4) FIFO, causal, total, uniform? p1 m3 p2 p3 m3 m3 16
17 Applications (1/2) A replicated service where the replicas need to treat the requests in the same order to preserve consistency replica 1 replica 2 replica 3 17
18 Applications (2/2) A notification service where the subscribers need to get notifications in the same order 18
19 Overview Intuitions: what total order broadcast can bring? Now: Specifications of total order broadcast two variants: regular and uniform Consensus-based algorithm 19
20 Total order broadcast (tob) Events Request: <tobroadcast, m> Indication: <todeliver, src, m> Properties: RB1, RB2, RB3, RB4 Total order property 20
21 Total order broadcast (utob) Events Request: <utobroadcast, m> Indication: <utodeliver, src, m> Properties: URB1, URB2, URB3, URB4 Uniform Total order property 21
22 (Uniform) Total order broadcast 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 22
23 (Uniform) Total order broadcast (cont.) Total order: 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. Uniform Total order: Let pi and pj be any two processes that deliver a message m. If pi delivers a message m before m, then pj delivers m before m. order with respect to any delivered message m 23
24 Exercise Compare the following two properties: Uniform Total order: Let pi and pj be any two processes that deliver a message m. If pi delivers a message m before m, then pj delivers m before m. Naive total order: Let pi and pj be any two processes that deliver two messages m and m. If pi delivers m before m, then pj delivers m before m. Safety/Liveness? UTO NTO? 24
25 Overview Intuitions: what total order broadcast can bring? Specifications of total order broadcast Now: Consensus-based algorithm for Uniform total order broadcast 25
26 Uniform Consensus In the uniform consensus problem, the processes propose values and need to agree on one among these values UC1. Validity: Any value decided is a value proposed UC2. Uniform Agreement: No two processes decide differently UC3. Termination: Every correct process eventually decides UC4. Integrity: Every process decides at most once 26
27 Uniform Consensus Events Request: <ucpropose, v> Indication: <ucdecide, v > Properties: UC1, UC2, UC3, UC4 27
28 Modules of a process indication request request indication (R-U)Consensus 28
29 Algorithm Idea We use uniform reliable broadcast (URB) as a transport mechanism for uniform total order broadcast We use uniform consensus (UC) to agree on total order messages are disseminated using URB delivered (but unordered) messages are stored in a buffer periodically we use UC to agree on a set of to-bedelivered messages (sequence of rounds) deliver these messages in a predefined order 29
30 Algorithm Implements: UniformTotalOrder (uto). Uses: Uniform ReliableBroadcast (urb). Uniform Consensus (ucons); upon event < Init > do unordered = delivered = { }; wait := false; sn := 1; 30
31 Algorithm upon event < utobroadcast, m> do trigger < urbbroadcast, m>; upon event <urbdeliver,sm,m> and (m not in delivered) do unordered := unordered U {(sm,m)}; upon (unordered not empty) and not(wait) do wait := true: trigger < ucpropose, unordered> sn ; 31
32 Algorithm upon event <ucdecide,decided> sn do unordered := unordered \ decided; ordered := deterministicsort(decided); for all (sm,m) in ordered: trigger < utodeliver,sm,m>; delivered := delivered U {m}; sn : = sn + 1; wait := false; 32
33 Example p1 utob() p2 utob(m4) p3 utob(m3) p4 utob() consensus p1 p2 p3 p4,,m3,m3 m3,m4 m3,m4 m3,m4 m3,m4 utod() utod() utod(m3,m4) 33
34 Correctness (1/3) 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 34
35 Correctness (2/3) No creation: No message is delivered unless it was broadcast Uniform Agreement: For any message m. If any process delivers m, then every correct process delivers m 35
36 Correctness (3/3) Uniform Total order: Let pi and pj be any two processes that deliver a message m. If pi delivers a message m before m, then pj delivers m before m. 36
37 Adding FIFO/causal Order How can we add FIFO order? exchange URB with FIFO uniform reliable broadcast? How add causal order? Exchange URB with causal URB? 37
38 Adding FIFO Order Replace URB with a FIFO URB primitive Local deliveries will respect FIFO order let message be sent by process p before cannot be proposed to consensus unless has been todelivered or is proposed at the same time Take care that deterministicsort respects FIFO order too 38
39 Adding Causal Order Replace URB with a causal URB primitive Same type of argument as for FIFO let message -> is not delivered unless has been delivered cannot be proposed to consensus unless has been todelivered or is proposed at the same time Look out for deterministicsort 39
40 Total Order total order can be added to any type of reliable broadcast reliable FIFO reliable causal reliable total order reliable total order FIFO reliable total order causal reliable 40
41 Total Broadcast in Context So we can build total order broadcast using consensus! Can we build total order broadcast using just reliable broadcast (without consensus)? How can we prove that this is impossible? 41
42 Building Consensus out of Atomic Broadcast We can construct consensus using atomic broadcast? need to map invocations of Propose and Decide to invocations of tobroadcast and todeliver Idea: whenever a process Proposes a value, this value is tobroadcast to everybody other processes receive proposed values using todeliver they decide on the first value received 42
43 Construction Idea propose(x) y,z,x decide(y) propose(y) y,z,x decide(y) decide(y) propose(z) y,z,x Agreement? Validity? Termination? 43
44 Proof Consensus Agreement: follows from total order and URB Agreement Consensus Validity: algorithm does not introduce new values URB doesn't either (no creation property) Termination: follows mainly from URB Termination 44
45 Equivalences 1. One can build consensus with total order broadcast 2. 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 45
46 Questions What is the weakest failure detector for total order broadcast? Majority of correct processes? Minority? Given an eventuallp perfect failure detector: can you implement total order broadcast? Can you do it with? 46
47 Summary Total order (atomic) broadcast reliable broadcast with total delivery order consensus-based algorithm Equivalence to consensus Coming next: Other (strong) coordination problems Non-blocking atomic commit Terminating reliable broadcast and their relation to consensus... 47
Distributed systems. Total Order Broadcast
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
More informationDistributed Algorithms Reliable Broadcast
Distributed Algorithms Reliable Broadcast Alberto Montresor University of Trento, Italy 2016/04/26 This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Contents
More informationDistributed systems. Consensus
Distributed systems Consensus Prof R. Guerraoui Distributed Programming Laboratory Consensus B A C 2 Consensus In the consensus problem, the processes propose values and have to agree on one among these
More informationDistributed systems. Causal Broadcast
Distributed systems Causal Broadcast Prof R. Guerraoui Distributed Programming Laboratory 1 Overview Intuitions: why causal broadcast? Specifications of causal broadcast Algorithms: A non-blocking algorithm
More informationDistributed Algorithms Failure detection and Consensus. Ludovic Henrio CNRS - projet SCALE
Distributed Algorithms Failure detection and Consensus Ludovic Henrio CNRS - projet SCALE ludovic.henrio@cnrs.fr Acknowledgement The slides for this lecture are based on ideas and materials from the following
More informationCoordination and Agreement
Coordination and Agreement 12.1 Introduction 12.2 Distributed Mutual Exclusion 12.4 Multicast Communication 12.3 Elections 12.5 Consensus and Related Problems AIM: Coordination and/or Agreement Collection
More informationCoordination and Agreement
Coordination and Agreement 1 Introduction 2 Distributed Mutual Exclusion 3 Multicast Communication 4 Elections 5 Consensus and Related Problems AIM: Coordination and/or Agreement Collection of algorithms
More informationCS505: Distributed Systems
Department of Computer Science CS505: Distributed Systems Lecture 14: More Agreement Problems Uniform Reliable Broadcast Terminating Reliable Broadcast Leader Election Uniform Reliable Broadcast By now
More informationDistributed algorithms
Distributed algorithms Prof R. Guerraoui lpdwww.epfl.ch Exam: Written Reference: Book - Springer Verlag http://lpd.epfl.ch/site/education/da - Introduction to Reliable (and Secure) Distributed Programming
More informationDistributed Algorithms Benoît Garbinato
Distributed Algorithms Benoît Garbinato 1 Distributed systems networks distributed As long as there were no machines, programming was no problem networks distributed at all; when we had a few weak computers,
More informationBasic vs. Reliable Multicast
Basic vs. Reliable Multicast Basic multicast does not consider process crashes. Reliable multicast does. So far, we considered the basic versions of ordered multicasts. What about the reliable versions?
More informationFault-Tolerant Distributed Services and Paxos"
Fault-Tolerant Distributed Services and Paxos" INF346, 2015 2015 P. Kuznetsov and M. Vukolic So far " " Shared memory synchronization:" Wait-freedom and linearizability" Consensus and universality " Fine-grained
More informationR. Guerraoui Distributed Programming Laboratory lpdwww.epfl.ch
- Shared Memory - R. Guerraoui Distributed Programming Laboratory lpdwww.epfl.ch R. Guerraoui 1 The application model P2 P1 Registers P3 2 Register (assumptions) For presentation simplicity, we assume
More informationByzantine Failures. Nikola Knezevic. knl
Byzantine Failures Nikola Knezevic knl Different Types of Failures Crash / Fail-stop Send Omissions Receive Omissions General Omission Arbitrary failures, authenticated messages Arbitrary failures Arbitrary
More informationIntuitive distributed algorithms. with F#
Intuitive distributed algorithms with F# Natallia Dzenisenka Alena Hall @nata_dzen @lenadroid A tour of a variety of intuitivedistributed algorithms used in practical distributed systems. and how to prototype
More informationCSE 5306 Distributed Systems. Fault Tolerance
CSE 5306 Distributed Systems Fault Tolerance 1 Failure in Distributed Systems Partial failure happens when one component of a distributed system fails often leaves other components unaffected A failure
More informationDistributed Algorithms (PhD course) Consensus SARDAR MUHAMMAD SULAMAN
Distributed Algorithms (PhD course) Consensus SARDAR MUHAMMAD SULAMAN Consensus (Recapitulation) A consensus abstraction is specified in terms of two events: 1. Propose ( propose v )» Each process has
More informationDistributed Algorithms (PhD course) Consensus SARDAR MUHAMMAD SULAMAN
Distributed Algorithms (PhD course) Consensus SARDAR MUHAMMAD SULAMAN Consensus The processes use consensus to agree on a common value out of values they initially propose Reaching consensus is one of
More informationCoordination 2. Today. How can processes agree on an action or a value? l Group communication l Basic, reliable and l ordered multicast
Coordination 2 Today l Group communication l Basic, reliable and l ordered multicast How can processes agree on an action or a value? Modes of communication Unicast 1ç è 1 Point to point Anycast 1è
More informationDistributed Algorithms
Distributed Algorithms Communication Channels in Practice 24.10.2016 1 Processes/Channels Processes communicate by message passing through communication channels Messages are uniquely identified and the
More informationConsensus Problem. Pradipta De
Consensus Problem Slides are based on the book chapter from Distributed Computing: Principles, Paradigms and Algorithms (Chapter 14) by Kshemkalyani and Singhal Pradipta De pradipta.de@sunykorea.ac.kr
More informationSecure Distributed Programming
Secure Distributed Programming Christian Cachin* Rachid Guerraoui Luís Rodrigues Tutorial at CCS 2011 A play in three acts Abstractions and protocols for Reliable broadcast Shared memory Consensus In asynchronous
More informationSemi-Passive Replication in the Presence of Byzantine Faults
Semi-Passive Replication in the Presence of Byzantine Faults HariGovind V. Ramasamy Adnan Agbaria William H. Sanders University of Illinois at Urbana-Champaign 1308 W. Main Street, Urbana IL 61801, USA
More informationCSE 5306 Distributed Systems
CSE 5306 Distributed Systems Fault Tolerance Jia Rao http://ranger.uta.edu/~jrao/ 1 Failure in Distributed Systems Partial failure Happens when one component of a distributed system fails Often leaves
More informationA Case Study of Agreement Problems in Distributed Systems : Non-Blocking Atomic Commitment
A Case Study of Agreement Problems in Distributed Systems : Non-Blocking Atomic Commitment Michel RAYNAL IRISA, Campus de Beaulieu 35042 Rennes Cedex (France) raynal @irisa.fr Abstract This paper considers
More informationCorrect-by-Construction Attack- Tolerant Systems. Robert Constable Mark Bickford Robbert van Renesse Cornell University
Correct-by-Construction Attack- Tolerant Systems Robert Constable Mark Bickford Robbert van Renesse Cornell University Definition Attack-tolerant distributed systems change their protocols on-the-fly in
More informationFormal Development of Fault Tolerant Transactions for a Replicated Database using Ordered Broadcasts
Formal Development of Fault Tolerant Transactions for a Replicated Database using Ordered Broadcasts Divakar Yadav and Michael Butler Dependable Systems and Software Engineering School of Electronics and
More informationA General Characterization of Indulgence
A General Characterization of Indulgence R. Guerraoui 1,2 N. Lynch 2 (1) School of Computer and Communication Sciences, EPFL (2) Computer Science and Artificial Intelligence Laboratory, MIT Abstract. An
More informationA Dual Digraph Approach for Leaderless Atomic Broadcast
A Dual Digraph Approach for Leaderless Atomic Broadcast (Extended Version) Marius Poke Faculty of Mechanical Engineering Helmut Schmidt University marius.poke@hsu-hh.de Colin W. Glass Faculty of Mechanical
More informationThe UNIVERSITY of EDINBURGH. SCHOOL of INFORMATICS. CS4/MSc. Distributed Systems. Björn Franke. Room 2414
The UNIVERSITY of EDINBURGH SCHOOL of INFORMATICS CS4/MSc Distributed Systems Björn Franke bfranke@inf.ed.ac.uk Room 2414 (Lecture 13: Multicast and Group Communication, 16th November 2006) 1 Group Communication
More informationEventual Consistency Today: Limitations, Extensions and Beyond
Eventual Consistency Today: Limitations, Extensions and Beyond Peter Bailis and Ali Ghodsi, UC Berkeley - Nomchin Banga Outline Eventual Consistency: History and Concepts How eventual is eventual consistency?
More informationUsing Optimistic Atomic Broadcast in Transaction Processing Systems
Using Optimistic Atomic Broadcast in Transaction Processing Systems Bettina Kemme Fernando Pedone Gustavo Alonso André Schiper Matthias Wiesmann School of Computer Science McGill University Montreal, Canada,
More informationReplicated State Machine in Wide-area Networks
Replicated State Machine in Wide-area Networks Yanhua Mao CSE223A WI09 1 Building replicated state machine with consensus General approach to replicate stateful deterministic services Provide strong consistency
More informationAbstractions for Distributed Programming
Rachid Guerraoui, Luís Rodrigues Abstractions for Distributed Programming (Preliminary Draft) October 12, 2003 Springer-Verlag Berlin Heidelberg New York London Paris Tokyo Hong Kong Barcelona Budapest
More informationSpecifying and Proving Broadcast Properties with TLA
Specifying and Proving Broadcast Properties with TLA William Hipschman Department of Computer Science The University of North Carolina at Chapel Hill Abstract Although group communication is vitally important
More informationCoordinating distributed systems part II. Marko Vukolić Distributed Systems and Cloud Computing
Coordinating distributed systems part II Marko Vukolić Distributed Systems and Cloud Computing Last Time Coordinating distributed systems part I Zookeeper At the heart of Zookeeper is the ZAB atomic broadcast
More informationDistributed Systems. 09. State Machine Replication & Virtual Synchrony. Paul Krzyzanowski. Rutgers University. Fall Paul Krzyzanowski
Distributed Systems 09. State Machine Replication & Virtual Synchrony Paul Krzyzanowski Rutgers University Fall 2016 1 State machine replication 2 State machine replication We want high scalability and
More informationCoordination and Agreement
Coordination and Agreement Nicola Dragoni Embedded Systems Engineering DTU Informatics 1. Introduction 2. Distributed Mutual Exclusion 3. Elections 4. Multicast Communication 5. Consensus and related problems
More informationCSE 486/586 Distributed Systems
CSE 486/586 Distributed Systems Mutual Exclusion Steve Ko Computer Sciences and Engineering University at Buffalo CSE 486/586 Recap: Consensus On a synchronous system There s an algorithm that works. On
More informationEventual Consistency Today: Limitations, Extensions and Beyond
Eventual Consistency Today: Limitations, Extensions and Beyond Peter Bailis and Ali Ghodsi, UC Berkeley Presenter: Yifei Teng Part of slides are cited from Nomchin Banga Road Map Eventual Consistency:
More informationConsensus in Distributed Systems. Jeff Chase Duke University
Consensus in Distributed Systems Jeff Chase Duke University Consensus P 1 P 1 v 1 d 1 Unreliable multicast P 2 P 3 Consensus algorithm P 2 P 3 v 2 Step 1 Propose. v 3 d 2 Step 2 Decide. d 3 Generalizes
More informationTwo-Phase Atomic Commitment Protocol in Asynchronous Distributed Systems with Crash Failure
Two-Phase Atomic Commitment Protocol in Asynchronous Distributed Systems with Crash Failure Yong-Hwan Cho, Sung-Hoon Park and Seon-Hyong Lee School of Electrical and Computer Engineering, Chungbuk National
More informationDistributed Systems. Characteristics of Distributed Systems. Lecture Notes 1 Basic Concepts. Operating Systems. Anand Tripathi
1 Lecture Notes 1 Basic Concepts Anand Tripathi CSci 8980 Operating Systems Anand Tripathi CSci 8980 1 Distributed Systems A set of computers (hosts or nodes) connected through a communication network.
More informationDistributed Systems. Characteristics of Distributed Systems. Characteristics of Distributed Systems. Goals in Distributed System Designs
1 Anand Tripathi CSci 8980 Operating Systems Lecture Notes 1 Basic Concepts Distributed Systems A set of computers (hosts or nodes) connected through a communication network. Nodes may have different speeds
More informationEECS 498 Introduction to Distributed Systems
EECS 498 Introduction to Distributed Systems Fall 2017 Harsha V. Madhyastha Replicated State Machines Logical clocks Primary/ Backup Paxos? 0 1 (N-1)/2 No. of tolerable failures October 11, 2017 EECS 498
More informationConsensus, impossibility results and Paxos. Ken Birman
Consensus, impossibility results and Paxos Ken Birman Consensus a classic problem Consensus abstraction underlies many distributed systems and protocols N processes They start execution with inputs {0,1}
More informationPractice: Large Systems Part 2, Chapter 2
Practice: Large Systems Part 2, Chapter 2 Overvie Introduction Strong Consistency Crash Failures: Primary Copy, Commit Protocols Crash-Recovery Failures: Paxos, Chubby Byzantine Failures: PBFT, Zyzzyva
More informationGenerating Fast Indulgent Algorithms
Generating Fast Indulgent Algorithms Dan Alistarh 1, Seth Gilbert 2, Rachid Guerraoui 1, and Corentin Travers 3 1 EPFL, Switzerland 2 National University of Singapore 3 Université de Bordeaux 1, France
More informationIntroduction to Reliable and Secure Distributed Programming
Introduction to Reliable and Secure Distributed Programming Bearbeitet von Christian Cachin, Rachid Guerraoui, Luís Rodrigues 1. Auflage 2011. Buch. xix, 367 S. Hardcover ISBN 978 3 642 15259 7 Format
More informationPaxos and Raft (Lecture 21, cs262a) Ion Stoica, UC Berkeley November 7, 2016
Paxos and Raft (Lecture 21, cs262a) Ion Stoica, UC Berkeley November 7, 2016 Bezos mandate for service-oriented-architecture (~2002) 1. All teams will henceforth expose their data and functionality through
More informationAtomic Broadcast in Asynchronous Crash-Recovery Distributed Systems
Atomic Broadcast in Asynchronous Crash-Recovery Distributed Systems Luís Rodrigues Michel Raynal DI FCUL TR 99 7 Departamento de Informática Faculdade de Ciências da Universidade de Lisboa Campo Grande,
More informationConsensus a classic problem. Consensus, impossibility results and Paxos. Distributed Consensus. Asynchronous networks.
Consensus, impossibility results and Paxos Ken Birman Consensus a classic problem Consensus abstraction underlies many distributed systems and protocols N processes They start execution with inputs {0,1}
More informationATOMIC Broadcast is one of the most important agreement
1206 IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, VOL. 15, NO. 5, SEPTEMBER/OCTOBER 2003 Atomic Broadcast in Asynchronous Crash-Recovery Distributed Systems and Its Use in Quorum-Based Replication
More informationCSE 486/586 Distributed Systems Reliable Multicast --- 1
Distributed Systems Reliable Multicast --- 1 Steve Ko Computer Sciences and Engineering University at Buffalo Last Time Global states A union of all process states Consistent global state vs. inconsistent
More informationResearch Report. (Im)Possibilities of Predicate Detection in Crash-Affected Systems. RZ 3361 (# 93407) 20/08/2001 Computer Science 27 pages
RZ 3361 (# 93407) 20/08/2001 Computer Science 27 pages Research Report (Im)Possibilities of Predicate Detection in Crash-Affected Systems Felix C. Gärtner and Stefan Pleisch Department of Computer Science
More informationCSE 486/586 Distributed Systems
CSE 486/586 Distributed Systems Reliable Multicast (part 1) Slides by Steve Ko Computer Sciences and Engineering University at Buffalo CSE 486/586 Last Time Global state A union of all process states Consistent
More informationDistributed systems. Lecture 6: distributed transactions, elections, consensus and replication. Malte Schwarzkopf
Distributed systems Lecture 6: distributed transactions, elections, consensus and replication Malte Schwarzkopf Last time Saw how we can build ordered multicast Messages between processes in a group Need
More informationBeyond FLP. Acknowledgement for presentation material. Chapter 8: Distributed Systems Principles and Paradigms: Tanenbaum and Van Steen
Beyond FLP Acknowledgement for presentation material Chapter 8: Distributed Systems Principles and Paradigms: Tanenbaum and Van Steen Paper trail blog: http://the-paper-trail.org/blog/consensus-protocols-paxos/
More informationA MODULAR FRAMEWORK TO IMPLEMENT FAULT TOLERANT DISTRIBUTED SERVICES. P. Nicolas Kokkalis
A MODULAR FRAMEWORK TO IMPLEMENT FAULT TOLERANT DISTRIBUTED SERVICES by P. Nicolas Kokkalis A thesis submitted in conformity with the requirements for the degree of Master of Science Graduate Department
More informationReplication in Distributed Systems
Replication in Distributed Systems Replication Basics Multiple copies of data kept in different nodes A set of replicas holding copies of a data Nodes can be physically very close or distributed all over
More informationRecap. CSE 486/586 Distributed Systems Paxos. Paxos. Brief History. Brief History. Brief History C 1
Recap Distributed Systems Steve Ko Computer Sciences and Engineering University at Buffalo Facebook photo storage CDN (hot), Haystack (warm), & f4 (very warm) Haystack RAID-6, per stripe: 10 data disks,
More informationConsistency and Replication. Some slides are from Prof. Jalal Y. Kawash at Univ. of Calgary
Consistency and Replication Some slides are from Prof. Jalal Y. Kawash at Univ. of Calgary Reasons for Replication Reliability/Availability : Mask failures Mask corrupted data Performance: Scalability
More informationConsensus in the Presence of Partial Synchrony
Consensus in the Presence of Partial Synchrony CYNTHIA DWORK AND NANCY LYNCH.Massachusetts Institute of Technology, Cambridge, Massachusetts AND LARRY STOCKMEYER IBM Almaden Research Center, San Jose,
More informationIntroduction to Distributed Algorithms
Rachid Guerraoui, Luís Rodrigues Introduction to Distributed Algorithms (Preliminary Draft) November 22, 2004 Springer-Verlag Berlin Heidelberg New York London Paris Tokyo Hong Kong Barcelona Budapest
More informationDistributed Coordination with ZooKeeper - Theory and Practice. Simon Tao EMC Labs of China Oct. 24th, 2015
Distributed Coordination with ZooKeeper - Theory and Practice Simon Tao EMC Labs of China {simon.tao@emc.com} Oct. 24th, 2015 Agenda 1. ZooKeeper Overview 2. Coordination in Spring XD 3. ZooKeeper Under
More informationChapter 8 Fault Tolerance
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 8 Fault Tolerance 1 Fault Tolerance Basic Concepts Being fault tolerant is strongly related to
More informationLecture 1: Introduction to distributed Algorithms
Distributed Algorithms M.Tech., CSE, 2016 Lecture 1: Introduction to distributed Algorithms Faculty: K.R. Chowdhary : Professor of CS Disclaimer: These notes have not been subjected to the usual scrutiny
More informationConsensus and related problems
Consensus and related problems Today l Consensus l Google s Chubby l Paxos for Chubby Consensus and failures How to make process agree on a value after one or more have proposed what the value should be?
More informationFailures, Elections, and Raft
Failures, Elections, and Raft CS 8 XI Copyright 06 Thomas W. Doeppner, Rodrigo Fonseca. All rights reserved. Distributed Banking SFO add interest based on current balance PVD deposit $000 CS 8 XI Copyright
More informationDistributed Systems (ICE 601) Fault Tolerance
Distributed Systems (ICE 601) Fault Tolerance Dongman Lee ICU Introduction Failure Model Fault Tolerance Models state machine primary-backup Class Overview Introduction Dependability availability reliability
More informationPractical Byzantine Fault Tolerance. Miguel Castro and Barbara Liskov
Practical Byzantine Fault Tolerance Miguel Castro and Barbara Liskov Outline 1. Introduction to Byzantine Fault Tolerance Problem 2. PBFT Algorithm a. Models and overview b. Three-phase protocol c. View-change
More informationDistributed Algorithms. Partha Sarathi Mandal Department of Mathematics IIT Guwahati
Distributed Algorithms Partha Sarathi Mandal Department of Mathematics IIT Guwahati Thanks to Dr. Sukumar Ghosh for the slides Distributed Algorithms Distributed algorithms for various graph theoretic
More informationDistributed Commit in Asynchronous Systems
Distributed Commit in Asynchronous Systems Minsoo Ryu Department of Computer Science and Engineering 2 Distributed Commit Problem - Either everybody commits a transaction, or nobody - This means consensus!
More informationFault Tolerance. Distributed Software Systems. Definitions
Fault Tolerance Distributed Software Systems Definitions Availability: probability the system operates correctly at any given moment Reliability: ability to run correctly for a long interval of time Safety:
More information05 Indirect Communication
05 Indirect Communication Group Communication Publish-Subscribe Coulouris 6 Message Queus Point-to-point communication Participants need to exist at the same time Establish communication Participants need
More informationVirtual Synchrony. Ki Suh Lee Some slides are borrowed from Ken, Jared (cs ) and JusBn (cs )
Virtual Synchrony Ki Suh Lee Some slides are borrowed from Ken, Jared (cs6410 2009) and JusBn (cs614 2005) The Process Group Approach to Reliable Distributed CompuBng Ken Birman Professor, Cornell University
More informationMessage-Efficient Uniform Timed Reliable Broadcast Yu Ma and Scott D. Stoller 21 September Introduction In distributed database systems,
Message-Efficient Uniform Timed Reliable Broadcast Yu Ma and Scott D. Stoller 21 September 1998 1. Introduction In distributed database systems, atomic commitment protocols ensure that transactions leave
More informationSynchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors. Michel Raynal, Julien Stainer
Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors Michel Raynal, Julien Stainer Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors
More informationCOMMUNICATION IN DISTRIBUTED SYSTEMS
Distributed Systems Fö 3-1 Distributed Systems Fö 3-2 COMMUNICATION IN DISTRIBUTED SYSTEMS Communication Models and their Layered Implementation 1. Communication System: Layered Implementation 2. Network
More informationTransactions. CS 475, Spring 2018 Concurrent & Distributed Systems
Transactions CS 475, Spring 2018 Concurrent & Distributed Systems Review: Transactions boolean transfermoney(person from, Person to, float amount){ if(from.balance >= amount) { from.balance = from.balance
More informationCprE Fault Tolerance. Dr. Yong Guan. Department of Electrical and Computer Engineering & Information Assurance Center Iowa State University
Fault Tolerance Dr. Yong Guan Department of Electrical and Computer Engineering & Information Assurance Center Iowa State University Outline for Today s Talk Basic Concepts Process Resilience Reliable
More informationOutline. Introduction. 2 Proof of Correctness. 3 Final Notes. Precondition P 1 : Inputs include
Outline Computer Science 331 Correctness of Algorithms Mike Jacobson Department of Computer Science University of Calgary Lectures #2-4 1 What is a? Applications 2 Recursive Algorithms 3 Final Notes Additional
More informationToday: Fault Tolerance
Today: Fault Tolerance Agreement in presence of faults Two army problem Byzantine generals problem Reliable communication Distributed commit Two phase commit Three phase commit Paxos Failure recovery Checkpointing
More informationInitial Assumptions. Modern Distributed Computing. Network Topology. Initial Input
Initial Assumptions Modern Distributed Computing Theory and Applications Ioannis Chatzigiannakis Sapienza University of Rome Lecture 4 Tuesday, March 6, 03 Exercises correspond to problems studied during
More informationData Consistency and Blockchain. Bei Chun Zhou (BlockChainZ)
Data Consistency and Blockchain Bei Chun Zhou (BlockChainZ) beichunz@cn.ibm.com 1 Data Consistency Point-in-time consistency Transaction consistency Application consistency 2 Strong Consistency ACID Atomicity.
More informationRecovering from a Crash. Three-Phase Commit
Recovering from a Crash If INIT : abort locally and inform coordinator If Ready, contact another process Q and examine Q s state Lecture 18, page 23 Three-Phase Commit Two phase commit: problem if coordinator
More informationEfficient Reductions for Wait-Free Termination Detection in Faulty Distributed Systems
Aachen Department of Computer Science Technical Report Efficient Reductions for Wait-Free Termination Detection in Faulty Distributed Systems Neeraj Mittal, S. Venkatesan, Felix Freiling and Lucia Draque
More informationConsistency. CS 475, Spring 2018 Concurrent & Distributed Systems
Consistency CS 475, Spring 2018 Concurrent & Distributed Systems Review: 2PC, Timeouts when Coordinator crashes What if the bank doesn t hear back from coordinator? If bank voted no, it s OK to abort If
More informationRemote Invocation. 1. Introduction 2. Remote Method Invocation (RMI) 3. RMI Invocation Semantics
Remote Invocation Nicola Dragoni Embedded Systems Engineering DTU Informatics 1. Introduction 2. Remote Method Invocation (RMI) 3. RMI Invocation Semantics From the First Lecture (Architectural Models)...
More informationCS 138: Practical Byzantine Consensus. CS 138 XX 1 Copyright 2017 Thomas W. Doeppner. All rights reserved.
CS 138: Practical Byzantine Consensus CS 138 XX 1 Copyright 2017 Thomas W. Doeppner. All rights reserved. Scenario Asynchronous system Signed messages s are state machines It has to be practical CS 138
More information6.852: Distributed Algorithms Fall, Class 21
6.852: Distributed Algorithms Fall, 2009 Class 21 Today s plan Wait-free synchronization. The wait-free consensus hierarchy Universality of consensus Reading: [Herlihy, Wait-free synchronization] (Another
More informationApplications of Paxos Algorithm
Applications of Paxos Algorithm Gurkan Solmaz COP 6938 - Cloud Computing - Fall 2012 Department of Electrical Engineering and Computer Science University of Central Florida - Orlando, FL Oct 15, 2012 1
More informationShared Memory Seif Haridi
Shared Memory Seif Haridi haridi@kth.se Real Shared Memory Formal model of shared memory No message passing (No channels, no sends, no delivers of messages) Instead processes access a shared memory Models
More informationThe Alpha of Indulgent Consensus
The Computer Journal Advance Access published August 3, 2006 Ó The Author 2006. Published by Oxford University Press on behalf of The British Computer Society. All rights reserved. For Permissions, please
More informationRuminations on Domain-Based Reliable Broadcast
Ruminations on Domain-Based Reliable Broadcast Svend Frølund Fernando Pedone Hewlett-Packard Laboratories Palo Alto, CA 94304, USA Abstract A distributed system is no longer confined to a single administrative
More informationConcepts. Techniques for masking faults. Failure Masking by Redundancy. CIS 505: Software Systems Lecture Note on Consensus
CIS 505: Software Systems Lecture Note on Consensus Insup Lee Department of Computer and Information Science University of Pennsylvania CIS 505, Spring 2007 Concepts Dependability o Availability ready
More informationHigh Throughput Total Order Broadcast for Cluster Environments
High Throughput Total Order Broadcast for Cluster Environments Rachid Guerraoui IC EPFL, Switzerland CSAIL MIT, USA Ron R. Levy IC EPFL, Switzerland Bastian Pochon IC EPFL, Switzerland Vivien Quéma INRIA,
More informationThe objective. Atomic Commit. The setup. Model. Preserve data consistency for distributed transactions in the presence of failures
The objective Atomic Commit Preserve data consistency for distributed transactions in the presence of failures Model The setup For each distributed transaction T: one coordinator a set of participants
More informationRun-Time Switching Between Total Order Algorithms
Run-Time Switching Between Total Order Algorithms José Mocito and Luís Rodrigues University of Lisbon {jmocito,ler}@di.fc.ul.pt Abstract. Total order broadcast protocols are a fundamental building block
More informationLast time. Distributed systems Lecture 6: Elections, distributed transactions, and replication. DrRobert N. M. Watson
Distributed systems Lecture 6: Elections, distributed transactions, and replication DrRobert N. M. Watson 1 Last time Saw how we can build ordered multicast Messages between processes in a group Need to
More information