How can one get around FLP? Around FLP in 80 Slides. How can one get around FLP? Paxos. Weaken the problem. Constrain input values

Size: px
Start display at page:

Download "How can one get around FLP? Around FLP in 80 Slides. How can one get around FLP? Paxos. Weaken the problem. Constrain input values"

Transcription

1 How can one get around FLP? Around FLP in 80 Slides Weaken termination Weaken the problem use randomization to terminate with arbitrarily high probability guarantee termination only during periods of synchrony Weaken agreement ε - agreement real-valued inputs and outputs agreement within real-valued small positive tolerance ε k-set agreement Agreement: In any execution, there is a subset W of the set of input values, W =k, s.t. all decision values are in W Validity: In any execution, any decision value for any process is the input value of some process How can one get around FLP? Constrain input values Characterize the set of input values for which agreement is possible Paxos Strengthen the system model Introduce failure detectors to distinguish between crashed processes and very slow processes

2 The Part-Time Parliament Government 101 Parliament determines laws by passing sequence of numbered decrees Direct democracy: Citizens/ Legislators leave and enter the chamber at arbitrary times No centralized records: each legislator carries a ledger recording the approved decrees No two ledgers contain contradictory information If a majority of legislators are in the Chamber and no one enters or leaves the Chamber for a sufficiently long time, then any decree proposed by a legislator is eventually passed any passed decree appears on the ledger of every legislator Funky equipment! messengers! ledger In a world... pen with indelible ink hourglass Political intrigue! Mysterious characters " " " apple apple!! "! apple µ! apple"" and more! Back to the future A protocol for state machine replication in an asynchronous environment that admits crash failures (key ideas already present in earlier work on Viewstamped Replication by Oki and Liskov) Messages: between correct endpoints are eventually received can be lost and duplicated, but not corrupted

3 The big picture The big picture client client-specific command identifier client <, cid, op> <cid, result> Replica Server Replica Server The big picture The big picture client client f +1 Replica 1 Replica 2 Replica 3 Replica 4 Replica 5 f +1 Replica 1 Replica 2 Replica 3 Replica 4 Replica 5

4 The big picture The big picture Replica 1 Replica 2 Replica 3 Replica 4 Replica 5 Replica 1 Replica 2 Replica 3 Replica 4 Replica The big picture Replicas Replica 1 Replica 2 Replica 3 Replica 4 Replica Receive client requests Propose command for lowest unused slot to leaders Upon decision, execute commands in slot order Return result to clients Not necessarily identical at any time! Each replica maintains four variables:.state: the application state.slot num : next slot for which " does not know a decision.proposals: set of <slot number, command> pairs for past proposals.decisions : set of <slot number, command> pairs for decided slots

5 process Replica(leaders, initial state) var state:=initial state, slot num:=1,proposals:=;; decisions:=; switch receive() case <request, p> : propose(p); case <decision, s, p> : decisions:=decisions [ {(s, p)} while 9p 0 : hslot num, p 0 i2decisions do if 9p 00 : hslot num, p 00 i2proposals ^ p 00 6= p 0 propose(p 00 ); perform(p 0 ); end while then Replica function perform(happle,cid,opi) if 9s : s<slotnum ^ hs, happle,cid,opii 2 decisionsthen hnext, resulti:=op(state); atomic state:=next; end atomic send(apple, hresponse,cid,resulti); process Replica(leaders, initial state) var state:=initial state, slot num:=1,proposals:=;; decisions:=; switch receive() case <request, p> : propose(p); case <decision, s, p> : decisions:=decisions [ {(s, p)} while 9p 0 : hslot num, p 0 i2decisions do if 9p 00 : hslot num, p 00 i2proposals ^ p 00 6= p 0 then propose(p 00 ); perform(p 0 ); end while Replica function perform(happle,cid,opi) if 9s : s<slotnum ^ hs, happle,cid,opii 2 decisionsthen hnext, resulti:=op(state); atomic state:=next; end atomic send(apple, hresponse,cid,resulti); function propose(p) : hs, pi 2decisions then s 0 := min{s s 2 N + 0 : hs, p 0 i2proposal [ decisions}; proposals := proposals [ {(s 0,p)}; 8 2 leaders : send(, h propose,s 0,pi); R4. For each, the variable.slot num never decreases function propose(p) : hs, pi 2decisions then s 0 := min{s s 2 N + 0 : hs, p 0 i2proposal [ decisions}; proposals := proposals [ {(s 0,p)}; 8 2 leaders : send(, h propose,s 0,pi); R3. For all replicas,.state is the result of applying the operations in.decisions to the initial state in increasing order of slot number s : 1apples<slot num process Replica(leaders, initial state) var state:=initial state, slot num:=1,proposals:=;; decisions:=; switch receive() case <request, p> : propose(p); case <decision, s, p> : decisions:=decisions [ {(s, p)} while 9p 0 : hslot num, p 0 i2decisions do if 9p 00 : hslot num, p 00 i2proposals ^ p 00 6= p 0 then propose(p 00 ); perform(p 0 ); end while Replica function perform(happle,cid,opi) if 9s : s<slotnum ^ hs, happle,cid,opii 2 decisionsthen hnext, resulti:=op(state); atomic state:=next; end atomic send(apple, hresponse,cid,resulti); process Replica(leaders, initial state) var state:=initial state, slot num:=1,proposals:=;; decisions:=; switch receive() case <request, p> : propose(p); case <decision, s, p> : decisions:=decisions [ {(s, p)} while 9p 0 : hslot num, p 0 i2decisions do if 9p 00 : hslot num, p 00 i2proposals ^ p 00 6= p 0 then propose(p 00 ); perform(p 0 ); end while Replica function perform(happle,cid,opi) if 9s : s<slotnum ^ hs, happle,cid,opii 2 decisionsthen hnext, resulti:=op(state); atomic state:=next; end atomic send(apple, hresponse,cid,resulti); function propose(p) : hs, pi 2decisions then s 0 := min{s s 2 N + 0 : hs, p 0 i2proposal [ decisions}; proposals := proposals [ {(s 0,p)}; 8 2 leaders : send(, h propose,s 0,pi); R2. All commands up to slot num are in the set of decisions function propose(p) : hs, pi 2decisions then s 0 := min{s s 2 N + 0 : hs, p 0 i2proposal [ decisions}; proposals := proposals [ {(s 0,p)}; 8 2 leaders : send(, h propose,s 0,pi); R1. For any given slot, replicas decide the same command

6 Paxos: the basic idea Ballots Leaders compete to create a permanent mapping between slot numbers and proposals The mapping is recorded in Paxos memory at a set of state machines called acceptors Note: Though state machines, acceptors are NOT replicas of each other! A leader never proposes a map that may conflict with what is stored in Paxos memory A leader, before attempting to create a new map between a slot number for which it knows not a decision and a proposal, reads the Paxos memory to check whether such map may already exist Each leader has an infinite supply of ballots The set of ballots of different leaders are disjoint Once a leader learns that a new mapping has become permanent, it informs the replicas Ballots Acceptors Each leader has an infinite supply of ballots The set of ballots of different leaders are disjoint Ballots are lexicographically ordered pairs hseq no, LIdi Send messages only when prompted Can crash......but we assume no more than a minority will Need at least 2f +1 acceptors to tolerate f faults Each acceptor maintains two variables:.ballot num, initially?.accepted, a set of pvalues, initially empty A pvalue e=hb, s, pi is a triple b: ballot number s: slot number p: a proposal accepts e e 2.accepted adopts b.ballot num:=b

7 A mapping is forever......once it is accepted by a majority of acceptors it is then chosen accepts a pvalue only if it includes the ballot most recently adopted by To make mapping hs, pi permanent, needs a majority of acceptors to adopt the ballot of the pvalue that contains hs, pi A1. An acceptor can only adopt strictly increasing ballot numbers A2. An acceptor can only accept hb, s, pi if b = ballot num Acceptor process Acceptor() var ballot num :=?,accepted:= ;; case <p1a,,b> : On receiving <p1a,,b > if b>ballotnum then adopts b iff larger than ballot num ballot num := b; returns to all accepted pvalues send(, h p1b, self(), ballot num, acceptedi); case <p2a,, hb, s, pi> : if b ballot num then On receiving <p2a,, hb, s, pi> ballot num := b; adopts b iff larger than ballot num accepted:=accepted [ {hb, s, pi} accepts e if b equal to ballot num send(, h p2b, self(),ballot numi); returns to the current ballot num Invariants A3. An acceptor can not remove entries from.accepted A4. For a given b and s, at most one proposal can be under consideration by the acceptors: hb, s, pi 2.accepted ^ hb, s, p 0 i2 0.accepted =) p = p 0 Acceptor process Acceptor() var ballot num :=?,accepted:= ;; case <p1a,,b> : On receiving <p1a,,b > if b>ballotnum then adopts b iff larger than ballot num ballot num := b; send(, h p1b, self(), ballot num, acceptedi); returns to all accepted pvalues case <p2a,, hb, s, pi> : if b ballot num then On receiving <p2a,, hb, s, pi> ballot num := b; adopts b iff larger than ballot num accepted:=accepted [ {hb, s, pi} accepts e if b equal to ballot num send(, h p2b, self(),ballot numi); returns to the current ballot num Invariants A5. Suppose a majority of acceptors has hb, s, pi 2.accepted.. If b 0 >b and hb 0,s,p 0 i2 0.accepted, then p = p 0 Commander A leader holding ballot num = b and trying to map slot s to proposal p spawns a new commander thread for hb, s, pi A commander s mission has two possible outcomes: success: the leader learns that the proposed mapping has been permanently established failure: the leader learns that b may no longer be acceptable to a majority of acceptors

8 Commander invariants C1. For any b and s, at most one commander is spawned A4. For a given b and s, at most one proposal can be under consideration by the acceptors process Commander(, acceptors, replicas, hb, s, pi) var waitfor := acceptors, pvalues := ; 8 2 acceptors : send(, h p2a, self (), hb, s, pi); case <p2b,, b0 > : if b0 = b then waitfor := waitfor { }; R1. For any given slot, replicas if waitfor < acceptors /2 then decide the same command 8 2 replicas : send (, h decision, s, pi); ; A5. Suppose a majority of acceptors has send (, hpreempted, b0 i) hb, s, pi 2.accepted. If b0 > b and hb0, s, p0 i 2 0.accepted, then p = p0 Commander Must enforce C2. Suppose a majority of acceptors has hb, s, pi 2.accepted. If a commander is 0 spawned for hb0, s, p0 i : b0 > b, then p = p Commander invariants C2. Suppose a majority of acceptors has hb, s, pi 2.accepted. If a commander is spawned for hb0, s, p0 i : b0 > b, then p = p0 A5. Suppose a majority of acceptors has hb, s, pi 2.accepted. If b0 > b and hb0, s, p0 i 2 0.accepted, then p = p0 process Commander(, acceptors, replicas, hb, s, pi) var waitfor := acceptors, pvalues := ; 8 2 acceptors : send(, h p2a, self (), hb, s, pi); case <p2b,, b0 > : if b0 = b then waitfor := waitfor { }; if waitfor < acceptors /2 then 8 2 replicas : send (, h decision, s, pi); A higher ballot b0 is active: a ; majority of acceptors may no send (, hpreempted, b0 i) longer be willing to accept b Commander

9 process Commander(,acceptors,replicas,hb, s, pi) var waitfor:=acceptors,pvalues:=; 8 2 acceptors : send(, hp2a, self (), hb, s, pi); case <p2b,,b 0 > : if b 0 = b then waitfor :=waitfor { }; if waitfor < acceptors /2 then 8 2 replicas : send(, h decision,s,pi); ; send(, h preempted,b 0 i) Commander Notify the leader and exit Scout Before spawning commanders for ballot b, leader invokes a scout Scouts read the Paxos memory to help leaders propose mappings that satisfy C2. A scout s mission has two possible outcomes: success: the leader learns that the proposed ballot has been adopted by a majority of acceptors and receives all pvalues accepted by that majority failure: the leader learns that b may no longer be acceptable to a majority of acceptors process Scout(, acceptors,b) var waitfor:=acceptors,pvalues:=; 8 2 acceptors : send(, hp1a, self (),b); case <p1b,,b 0,r> : if b 0 = b then pvalues :=pvalues [ r; waitfor :=waitfor { }; if waitfor < acceptors /2 then send(, h adopted,b,pvaluesi); ; send(, h preempted,b 0 i) Scout Scout gets a majority of acceptors to adopt collects all pvalues that acceptors have accepted while adopting ballots no larger than b b process Scout(, acceptors,b) var waitfor:=acceptors,pvalues:=; 8 2 acceptors : send(, hp1a, self (), hbi); case <p1b,,b 0,r> : if b 0 = b then pvalues :=pvalues [ r; waitfor :=waitfor { }; if waitfor < acceptors /2 then send(, h adopted,b,pvaluesi); ; send(, h preempted,b 0 i) Scout A higher ballot is active: a majority of acceptors may no longer be willing to accept b b 0

10 process Scout(, acceptors, b) var waitfor := acceptors, pvalues := ; 8 2 acceptors : send(, h p1a, self (), hbi); case <p1b,, b0, r > : if b0 = b then pvalues := pvalues [ r; waitfor := waitfor { }; if waitfor < acceptors /2 then send (, h adopted, b, pvaluesi); ; send (, hpreempted, b0 i) Notify Scout Leader Spawns a scout for initial ballot number Enters a loop waiting for one of three messages: the leader and exit h propose, s, pi from a replica Each leader variables: maintains three.ballot num, initially 0.active, boolean, initially false.proposals, an initially empty map hslot number, proposal i h adopted, ballot num, pvalsi from a scout Leader moves between active and passive mode h preempted, hr0, 0 ii from a commander or a scout in passive mode is waiting for hadopted, ballot num, pvalsi in active mode spawns commanders for each of the proposal it holds How a leader enforces C2 Suppose learns that a majority of acceptors has adopted its ballot b (hadopted, b, pvalsi) CASE 1: if for some slot s there is no value in pvals, then it is impossible that a permanent mapping for a smaller ballot already exists or will ever exist for s : any proposal by will satisfy C2 How a leader enforces C2 Suppose learns that a majority of acceptors has adopted its ballot b (hadopted, b, pvalsi) CASE 2: let hb0, s, pi be the pvalue with the maximum ballot number b0 for s. by induction, no pvalue other than p could have been chosen for s when hb0, s, pi was proposed since a majority of acceptors has adopted b, 0 no pvalues between b and b can be chosen by proposing p with ballot b, enforces C2

11 process Leader (acceptors, replicas) var ballot num := (0, self ()),active = false, proposals := ; spawn(scout(self (), acceptors, ballot num); case <propose, s, p > : : hs, p0 i 2 proposals then proposals := proposals [ {hs, pi} if active then spawn(commander(self (), acceptors, replicas, hballot num, s, pi); x y {hs, pi hs, pi 2 y _ (hs, pi 2 x : hs, p0 i 2 y)} end case pmax (pvals) {hs, pi 9b : hb, s, pi 2 pvals ^ case <adopted, ballot num, pvals > 8b0, p0 : hb0, s, p0 i 2 pvals ) b0 b} proposals = proposals pmax(pvals) 8hs, pi 2 proposals : spawn(commander(self (), acceptors, replicas, hballot num, s, pi); active := true end case case <preempted, r0, 0 > if (r0, 0 ) > ballot num then end case active := false; 0 ballot num := (r + 1, self ()); spawn(scout(self (), acceptors, ballot num); Leader Paxos and FLP Paxos is always safe despite asynchrony Once a leader is elected, Paxos is live. Ciao ciao FLP? To be live, Paxos requires a single leader Leader election is impossible in an asynchronous system (gotcha!) Given FLP, Paxos is the next best thing: always safe, and live during periods of synchrony The Big Picture The Triumph of Randomization Does randomization make for more powerful algorithms? Does randomization expand the class of problems solvable in polynomial time? Does randomization help compute problems fast in parallel in the PRAM model? You tell me!

12 The Triumph of Randomization? A simple randomized algorithm Well, at least for distributed computations! no deterministic 1-crash-resilient solution to Consensus f-resilient randomized solution to consensus ( f<n/2) for crash failures randomized solution for Consensus exists even for Byzantine failures! M. Ben Or. Another advantage of free choice: completely asynchronous agreement protocols (PODC 1983, pp ) exponential number of operations per process BUT more practical protocols exist down to O(nlog 2 n) expected operations/process n 1 resilient Weakening termination Consensus requires correct processes to decide always Ben Or s algorithm only requires termination with probability 1 They are not the same thing! The protocol s structure An infinite repetition of asynchronous rounds in round r, p only handles messages with timestamp r each round has two phases in the first, each p broadcasts an a-value which is a function of the b-values collected in the previous round (the first a-value is the input bit) in the second, each p broadcasts a b-value which is a function of the collected a-values decide stutters

13 Ben Or s Algorithm Validity 1: := input bit; r:= 1; a p 4: send (a p,r) to all 5: Let A be the multiset of the first n f a-values with 6: if ( v {0, 1} : a A : a = v) then := v 7: := b p 9: send (b p,r) to all timestamp rreceived 11: if ( v {0, 1} : b B : b = v) then decide(v); a p := v 12: if ( b B : b ) then := a p 13: := $ { $ is chosen uniformly at random a p b b p 4: send (aa p,r) to all 7:! b p :=... 12: if ( b B : b ) then a p := b 13: a p := $ { $ is chosen uniformly at random Validity A useful observation 4: send (aa p,r) to all 7:! b p :=... 12: if ( b B : b ) then a p := b 13: a p := $ { $ is chosen uniformly at random All identical inputs ( i) Each process set a-value := and broadcasts it to all Since at most f faulty, every correct process receives at least n f identical a-values in round 1 Every correct process sets b-value := i and broadcasts it to all Again, every correct process receives at least n f identical i b-values in round 1 and decides i 4: send (aa p,r) to all 7:! b p :=... 12: if ( b B : b ) then a p := b 13: a p := $ { $ is chosen uniformly at random Lemma For all r, either. b p,r {1, } for all p or. b p,r {0, } for all p

14 A useful observation Agreement 4: send (aa p,r) to all 7:! b p :=... 12: if ( b B : b ) then a p := b 13: a p := $ { $ is chosen uniformly at random Lemma For all r, either. b p,r {1, } for all p or. b p,r {0, } for all p Proof By contradiction. Suppose p and q at round r such that = 0 and = 1 b p,r b q,r From lines 6,7 p received n f distinct 0s, q received n f distinct 1s. Then, 2(n f) n, implying n 2f Contradiction Corollary It is impossible that two processes p and q decide on different values at round r 4: send (aa p,r) to all 7:! b p :=... 12: if ( b B : b ) then a p := b 13: a p := $ { $ is chosen uniformly at random Let r be the first round in which a decision is made Let p be a process that decides in r Agreement Termination I 4: send (aa p,r) to all 7:! b p :=... 12: if ( b B : b ) then a p := b 13: a p := $ { $ is chosen uniformly at random Let r be the first round in which a decision is made Let p be a process that decides in r By the Corollary, no other process can decide on a different value in r To decide, p must have received n f i from distinct processes every other correct process has received i from at least n 2f 1 By lines 11 and 12, every correct process sets its new a-value to for round r+1to i By the same argument used to prove Validity, every correct process that has not decided i in round r will do so by the end of round r+1 4: send (aa p,r) to all 7:! b p :=... 12: if ( b B : b ) then a p := b 13: a p := $ { $ is chosen uniformly at random Remember that by Validity, if all (correct) processes propose the same value i in phase 1 of round r., then every correct process decides i in round r. The probability of all processes proposing the same input value (a landslide) in round 1 is Pr[landslide in round 1] = 1/2. n What can we say about the following rounds?

15 Termination II 4: send (aa p,r) p to all 7:! b p :=... 12: if ( b B : b ) then a p := b 13: a p := $ { $ is chosen uniformly at random In round r > 1, the a-values are not necessarily chosen at random! By line 12, some process may set its a-value to a non-random value v By the Lemma, however, all non-random values are identical! Therefore, in every r there is a positive probability (at least 1/2 n ) for a landslide Hence, for any round r Pr[no lanslide at round r] 1 1/2 n. Since coin flips are independent: Pr[no lanslide for first k rounds] (1 1/2 n.) k When k =2 n, this value is about 1/e; then, if k = c2 n Pr[landslide within k rounds] 1 (1 1/2 n ) k 1 1/e c which converges quickly to 1 as c grows

Randomized Protocols for Asynchronous Consensus

Randomized Protocols for Asynchronous Consensus Randomized Protocols for Asynchronous Consensus Alessandro Panconesi DSI - La Sapienza via Salaria 113, piano III 00198 Roma, Italy One of the central problems in the Theory of (feasible) Computation is

More information

CS505: Distributed Systems

CS505: Distributed Systems Department of Computer Science CS505: Distributed Systems Lecture 10: Consensus Outline Consensus impossibility result Consensus with S Consensus with Ω Consensus Most famous problem in distributed computing

More information

AGREEMENT PROBLEMS (1) Agreement problems arise in many practical applications:

AGREEMENT PROBLEMS (1) Agreement problems arise in many practical applications: AGREEMENT PROBLEMS (1) AGREEMENT PROBLEMS Agreement problems arise in many practical applications: agreement on whether to commit or abort the results of a distributed atomic action (e.g. database transaction)

More information

Asynchronous Models For Consensus

Asynchronous Models For Consensus Distributed Systems 600.437 Asynchronous Models for Consensus Department of Computer Science The Johns Hopkins University 1 Asynchronous Models For Consensus Lecture 5 Further reading: Distributed Algorithms

More information

Implementing Uniform Reliable Broadcast with Binary Consensus in Systems with Fair-Lossy Links

Implementing Uniform Reliable Broadcast with Binary Consensus in Systems with Fair-Lossy Links Implementing Uniform Reliable Broadcast with Binary Consensus in Systems with Fair-Lossy Links Jialin Zhang Tsinghua University zhanggl02@mails.tsinghua.edu.cn Wei Chen Microsoft Research Asia weic@microsoft.com

More information

Agreement Protocols. CS60002: Distributed Systems. Pallab Dasgupta Dept. of Computer Sc. & Engg., Indian Institute of Technology Kharagpur

Agreement Protocols. CS60002: Distributed Systems. Pallab Dasgupta Dept. of Computer Sc. & Engg., Indian Institute of Technology Kharagpur Agreement Protocols CS60002: Distributed Systems Pallab Dasgupta Dept. of Computer Sc. & Engg., Indian Institute of Technology Kharagpur Classification of Faults Based on components that failed Program

More information

Unreliable Failure Detectors for Reliable Distributed Systems

Unreliable Failure Detectors for Reliable Distributed Systems Unreliable Failure Detectors for Reliable Distributed Systems A different approach Augment the asynchronous model with an unreliable failure detector for crash failures Define failure detectors in terms

More information

Early stopping: the idea. TRB for benign failures. Early Stopping: The Protocol. Termination

Early stopping: the idea. TRB for benign failures. Early Stopping: The Protocol. Termination TRB for benign failures Early stopping: the idea Sender in round : :! send m to all Process p in round! k, # k # f+!! :! if delivered m in round k- and p " sender then 2:!! send m to all 3:!! halt 4:!

More information

CS505: Distributed Systems

CS505: Distributed Systems Cristina Nita-Rotaru CS505: Distributed Systems. Required reading for this topic } Michael J. Fischer, Nancy A. Lynch, and Michael S. Paterson for "Impossibility of Distributed with One Faulty Process,

More information

Distributed Consensus

Distributed Consensus Distributed Consensus Reaching agreement is a fundamental problem in distributed computing. Some examples are Leader election / Mutual Exclusion Commit or Abort in distributed transactions Reaching agreement

More information

Coordination. Failures and Consensus. Consensus. Consensus. Overview. Properties for Correct Consensus. Variant I: Consensus (C) P 1. v 1.

Coordination. Failures and Consensus. Consensus. Consensus. Overview. Properties for Correct Consensus. Variant I: Consensus (C) P 1. v 1. Coordination Failures and Consensus If the solution to availability and scalability is to decentralize and replicate functions and data, how do we coordinate the nodes? data consistency update propagation

More information

On the weakest failure detector ever

On the weakest failure detector ever On the weakest failure detector ever The MIT Faculty has made this article openly available. Please share how this access benefits you. Your story matters. Citation As Published Publisher Guerraoui, Rachid

More information

Eventually consistent failure detectors

Eventually consistent failure detectors J. Parallel Distrib. Comput. 65 (2005) 361 373 www.elsevier.com/locate/jpdc Eventually consistent failure detectors Mikel Larrea a,, Antonio Fernández b, Sergio Arévalo b a Departamento de Arquitectura

More information

On the weakest failure detector ever

On the weakest failure detector ever Distrib. Comput. (2009) 21:353 366 DOI 10.1007/s00446-009-0079-3 On the weakest failure detector ever Rachid Guerraoui Maurice Herlihy Petr Kuznetsov Nancy Lynch Calvin Newport Received: 24 August 2007

More information

Consensus when failstop doesn't hold

Consensus when failstop doesn't hold Consensus when failstop doesn't hold FLP shows that can't solve consensus in an asynchronous system with no other facility. It can be solved with a perfect failure detector. If p suspects q then q has

More information

ROBUST & SPECULATIVE BYZANTINE RANDOMIZED CONSENSUS WITH CONSTANT TIME COMPLEXITY IN NORMAL CONDITIONS

ROBUST & SPECULATIVE BYZANTINE RANDOMIZED CONSENSUS WITH CONSTANT TIME COMPLEXITY IN NORMAL CONDITIONS ROBUST & SPECULATIVE BYZANTINE RANDOMIZED CONSENSUS WITH CONSTANT TIME COMPLEXITY IN NORMAL CONDITIONS Bruno Vavala University of Lisbon, Portugal Carnegie Mellon University, U.S. Nuno Neves University

More information

Failure Detectors. Seif Haridi. S. Haridi, KTHx ID2203.1x

Failure Detectors. Seif Haridi. S. Haridi, KTHx ID2203.1x Failure Detectors Seif Haridi haridi@kth.se 1 Modeling Timing Assumptions Tedious to model eventual synchrony (partial synchrony) Timing assumptions mostly needed to detect failures Heartbeats, timeouts,

More information

Byzantine Agreement. Gábor Mészáros. CEU Budapest, Hungary

Byzantine Agreement. Gábor Mészáros. CEU Budapest, Hungary CEU Budapest, Hungary 1453 AD, Byzantium Distibuted Systems Communication System Model Distibuted Systems Communication System Model G = (V, E) simple graph Distibuted Systems Communication System Model

More information

Section 6 Fault-Tolerant Consensus

Section 6 Fault-Tolerant Consensus Section 6 Fault-Tolerant Consensus CS586 - Panagiota Fatourou 1 Description of the Problem Consensus Each process starts with an individual input from a particular value set V. Processes may fail by crashing.

More information

(Leader/Randomization/Signature)-free Byzantine Consensus for Consortium Blockchains

(Leader/Randomization/Signature)-free Byzantine Consensus for Consortium Blockchains (Leader/Randomization/Signature)-free Byzantine Consensus for Consortium Blockchains Tyler Crain Vincent Gramoli, Mikel Larrea, Michel Raynal, University of Sydney, Australia {tyler.crain,vincent.gramoli}@sydney.edu.au

More information

Fault-Tolerant Consensus

Fault-Tolerant Consensus Fault-Tolerant Consensus CS556 - Panagiota Fatourou 1 Assumptions Consensus Denote by f the maximum number of processes that may fail. We call the system f-resilient Description of the Problem Each process

More information

Network Algorithms and Complexity (NTUA-MPLA) Reliable Broadcast. Aris Pagourtzis, Giorgos Panagiotakos, Dimitris Sakavalas

Network Algorithms and Complexity (NTUA-MPLA) Reliable Broadcast. Aris Pagourtzis, Giorgos Panagiotakos, Dimitris Sakavalas Network Algorithms and Complexity (NTUA-MPLA) Reliable Broadcast Aris Pagourtzis, Giorgos Panagiotakos, Dimitris Sakavalas Slides are partially based on the joint work of Christos Litsas, Aris Pagourtzis,

More information

Do we have a quorum?

Do we have a quorum? Do we have a quorum? Quorum Systems Given a set U of servers, U = n: A quorum system is a set Q 2 U such that Q 1, Q 2 Q : Q 1 Q 2 Each Q in Q is a quorum How quorum systems work: A read/write shared register

More information

Tolerating Permanent and Transient Value Faults

Tolerating Permanent and Transient Value Faults Distributed Computing manuscript No. (will be inserted by the editor) Tolerating Permanent and Transient Value Faults Zarko Milosevic Martin Hutle André Schiper Abstract Transmission faults allow us to

More information

Optimal Resilience Asynchronous Approximate Agreement

Optimal Resilience Asynchronous Approximate Agreement Optimal Resilience Asynchronous Approximate Agreement Ittai Abraham, Yonatan Amit, and Danny Dolev School of Computer Science and Engineering, The Hebrew University of Jerusalem, Israel {ittaia, mitmit,

More information

C 1. Recap: Finger Table. CSE 486/586 Distributed Systems Consensus. One Reason: Impossibility of Consensus. Let s Consider This

C 1. Recap: Finger Table. CSE 486/586 Distributed Systems Consensus. One Reason: Impossibility of Consensus. Let s Consider This Recap: Finger Table Finding a using fingers Distributed Systems onsensus Steve Ko omputer Sciences and Engineering University at Buffalo N102 86 + 2 4 N86 20 + 2 6 N20 2 Let s onsider This

More information

Shared Memory vs Message Passing

Shared Memory vs Message Passing Shared Memory vs Message Passing Carole Delporte-Gallet Hugues Fauconnier Rachid Guerraoui Revised: 15 February 2004 Abstract This paper determines the computational strength of the shared memory abstraction

More information

Finally the Weakest Failure Detector for Non-Blocking Atomic Commit

Finally the Weakest Failure Detector for Non-Blocking Atomic Commit Finally the Weakest Failure Detector for Non-Blocking Atomic Commit Rachid Guerraoui Petr Kouznetsov Distributed Programming Laboratory EPFL Abstract Recent papers [7, 9] define the weakest failure detector

More information

Generalized Consensus and Paxos

Generalized Consensus and Paxos Generalized Consensus and Paxos Leslie Lamport 3 March 2004 revised 15 March 2005 corrected 28 April 2005 Microsoft Research Technical Report MSR-TR-2005-33 Abstract Theoretician s Abstract Consensus has

More information

Consensus and Universal Construction"

Consensus and Universal Construction Consensus and Universal Construction INF346, 2015 So far Shared-memory communication: safe bits => multi-valued atomic registers atomic registers => atomic/immediate snapshot 2 Today Reaching agreement

More information

Impossibility of Distributed Consensus with One Faulty Process

Impossibility of Distributed Consensus with One Faulty Process Impossibility of Distributed Consensus with One Faulty Process Journal of the ACM 32(2):374-382, April 1985. MJ Fischer, NA Lynch, MS Peterson. Won the 2002 Dijkstra Award (for influential paper in distributed

More information

Lower Bounds for Achieving Synchronous Early Stopping Consensus with Orderly Crash Failures

Lower Bounds for Achieving Synchronous Early Stopping Consensus with Orderly Crash Failures Lower Bounds for Achieving Synchronous Early Stopping Consensus with Orderly Crash Failures Xianbing Wang 1, Yong-Meng Teo 1,2, and Jiannong Cao 3 1 Singapore-MIT Alliance, 2 Department of Computer Science,

More information

Byzantine Agreement. Gábor Mészáros. Tatracrypt 2012, July 2 4 Smolenice, Slovakia. CEU Budapest, Hungary

Byzantine Agreement. Gábor Mészáros. Tatracrypt 2012, July 2 4 Smolenice, Slovakia. CEU Budapest, Hungary CEU Budapest, Hungary Tatracrypt 2012, July 2 4 Smolenice, Slovakia Byzantium, 1453 AD. The Final Strike... Communication via Messengers The Byzantine Generals Problem Communication System Model Goal G

More information

How to solve consensus in the smallest window of synchrony

How to solve consensus in the smallest window of synchrony How to solve consensus in the smallest window of synchrony Dan Alistarh 1, Seth Gilbert 1, Rachid Guerraoui 1, and Corentin Travers 2 1 EPFL LPD, Bat INR 310, Station 14, 1015 Lausanne, Switzerland 2 Universidad

More information

Model Checking of Fault-Tolerant Distributed Algorithms

Model Checking of Fault-Tolerant Distributed Algorithms Model Checking of Fault-Tolerant Distributed Algorithms Part I: Fault-Tolerant Distributed Algorithms Annu Gmeiner Igor Konnov Ulrich Schmid Helmut Veith Josef Widder LOVE 2016 @ TU Wien Josef Widder (TU

More information

Dynamic Group Communication

Dynamic Group Communication Dynamic Group Communication André Schiper Ecole Polytechnique Fédérale de Lausanne (EPFL) 1015 Lausanne, Switzerland e-mail: andre.schiper@epfl.ch Abstract Group communication is the basic infrastructure

More information

Towards optimal synchronous counting

Towards optimal synchronous counting Towards optimal synchronous counting Christoph Lenzen Joel Rybicki Jukka Suomela MPI for Informatics MPI for Informatics Aalto University Aalto University PODC 5 July 3 Focus on fault-tolerance Fault-tolerant

More information

Distributed Computing in Shared Memory and Networks

Distributed Computing in Shared Memory and Networks Distributed Computing in Shared Memory and Networks Class 2: Consensus WEP 2018 KAUST This class Reaching agreement in shared memory: Consensus ü Impossibility of wait-free consensus 1-resilient consensus

More information

Early consensus in an asynchronous system with a weak failure detector*

Early consensus in an asynchronous system with a weak failure detector* Distrib. Comput. (1997) 10: 149 157 Early consensus in an asynchronous system with a weak failure detector* André Schiper Ecole Polytechnique Fe dérale, De partement d Informatique, CH-1015 Lausanne, Switzerland

More information

Valency Arguments CHAPTER7

Valency Arguments CHAPTER7 CHAPTER7 Valency Arguments In a valency argument, configurations are classified as either univalent or multivalent. Starting from a univalent configuration, all terminating executions (from some class)

More information

Weakening Failure Detectors for k-set Agreement via the Partition Approach

Weakening Failure Detectors for k-set Agreement via the Partition Approach Weakening Failure Detectors for k-set Agreement via the Partition Approach Wei Chen 1, Jialin Zhang 2, Yu Chen 1, Xuezheng Liu 1 1 Microsoft Research Asia {weic, ychen, xueliu}@microsoft.com 2 Center for

More information

Byzantine Agreement in Polynomial Expected Time

Byzantine Agreement in Polynomial Expected Time Byzantine Agreement in Polynomial Expected Time [Extended Abstract] Valerie King Dept. of Computer Science, University of Victoria P.O. Box 3055 Victoria, BC, Canada V8W 3P6 val@cs.uvic.ca ABSTRACT In

More information

Protocol for Asynchronous, Reliable, Secure and Efficient Consensus (PARSEC)

Protocol for Asynchronous, Reliable, Secure and Efficient Consensus (PARSEC) Protocol for Asynchronous, Reliable, Secure and Efficient Consensus (PARSEC) Pierre Chevalier, Bart lomiej Kamiński, Fraser Hutchison, Qi Ma, Spandan Sharma June 20, 2018 Abstract In this paper we present

More information

Benchmarking Model Checkers with Distributed Algorithms. Étienne Coulouma-Dupont

Benchmarking Model Checkers with Distributed Algorithms. Étienne Coulouma-Dupont Benchmarking Model Checkers with Distributed Algorithms Étienne Coulouma-Dupont November 24, 2011 Introduction The Consensus Problem Consensus : application Paxos LastVoting Hypothesis The Algorithm Analysis

More information

Failure detectors Introduction CHAPTER

Failure detectors Introduction CHAPTER CHAPTER 15 Failure detectors 15.1 Introduction This chapter deals with the design of fault-tolerant distributed systems. It is widely known that the design and verification of fault-tolerent distributed

More information

Synchrony Weakened by Message Adversaries vs Asynchrony Restricted by Failure Detectors

Synchrony Weakened by Message Adversaries vs Asynchrony Restricted by Failure Detectors Synchrony Weakened by Message Adversaries vs Asynchrony Restricted by Failure Detectors Michel RAYNAL, Julien STAINER Institut Universitaire de France IRISA, Université de Rennes, France Message adversaries

More information

Genuine atomic multicast in asynchronous distributed systems

Genuine atomic multicast in asynchronous distributed systems Theoretical Computer Science 254 (2001) 297 316 www.elsevier.com/locate/tcs Genuine atomic multicast in asynchronous distributed systems Rachid Guerraoui, Andre Schiper Departement d Informatique, Ecole

More information

6.852: Distributed Algorithms Fall, Class 10

6.852: Distributed Algorithms Fall, Class 10 6.852: Distributed Algorithms Fall, 2009 Class 10 Today s plan Simulating synchronous algorithms in asynchronous networks Synchronizers Lower bound for global synchronization Reading: Chapter 16 Next:

More information

On the Number of Synchronous Rounds Required for Byzantine Agreement

On the Number of Synchronous Rounds Required for Byzantine Agreement On the Number of Synchronous Rounds Required for Byzantine Agreement Matthias Fitzi 1 and Jesper Buus Nielsen 2 1 ETH Zürich 2 University pf Aarhus Abstract. Byzantine agreement is typically considered

More information

Distributed Systems Byzantine Agreement

Distributed Systems Byzantine Agreement Distributed Systems Byzantine Agreement He Sun School of Informatics University of Edinburgh Outline Finish EIG algorithm for Byzantine agreement. Number-of-processors lower bound for Byzantine agreement.

More information

The Weakest Failure Detector to Solve Mutual Exclusion

The Weakest Failure Detector to Solve Mutual Exclusion The Weakest Failure Detector to Solve Mutual Exclusion Vibhor Bhatt Nicholas Christman Prasad Jayanti Dartmouth College, Hanover, NH Dartmouth Computer Science Technical Report TR2008-618 April 17, 2008

More information

Faster Agreement via a Spectral Method for Detecting Malicious Behavior

Faster Agreement via a Spectral Method for Detecting Malicious Behavior Faster Agreement via a Spectral Method for Detecting Malicious Behavior Valerie King Jared Saia Abstract We address the problem of Byzantine agreement, to bring processors to agreement on a bit in the

More information

Easy Consensus Algorithms for the Crash-Recovery Model

Easy Consensus Algorithms for the Crash-Recovery Model Reihe Informatik. TR-2008-002 Easy Consensus Algorithms for the Crash-Recovery Model Felix C. Freiling, Christian Lambertz, and Mila Majster-Cederbaum Department of Computer Science, University of Mannheim,

More information

The Weighted Byzantine Agreement Problem

The Weighted Byzantine Agreement Problem The Weighted Byzantine Agreement Problem Vijay K. Garg and John Bridgman Department of Electrical and Computer Engineering The University of Texas at Austin Austin, TX 78712-1084, USA garg@ece.utexas.edu,

More information

6.852: Distributed Algorithms Fall, Class 24

6.852: Distributed Algorithms Fall, Class 24 6.852: Distributed Algorithms Fall, 2009 Class 24 Today s plan Self-stabilization Self-stabilizing algorithms: Breadth-first spanning tree Mutual exclusion Composing self-stabilizing algorithms Making

More information

DEXON Consensus Algorithm

DEXON Consensus Algorithm DEXON Consensus Algorithm Infinitely Scalable, Low-Latency Byzantine Fault Tolerant Blocklattice DEXON Foundation Aug 9 2018, v1.0 Abstract A blockchain system is a replicated state machine that must be

More information

Simple Bivalency Proofs of the Lower Bounds in Synchronous Consensus Problems

Simple Bivalency Proofs of the Lower Bounds in Synchronous Consensus Problems Simple Bivalency Proofs of the Lower Bounds in Synchronous Consensus Problems Xianbing Wang, Yong-Meng Teo, and Jiannong Cao Singapore-MIT Alliance E4-04-10, 4 Engineering Drive 3, Singapore 117576 Abstract

More information

The Weakest Failure Detector for Wait-Free Dining under Eventual Weak Exclusion

The Weakest Failure Detector for Wait-Free Dining under Eventual Weak Exclusion The Weakest Failure Detector for Wait-Free Dining under Eventual Weak Exclusion Srikanth Sastry Computer Science and Engr Texas A&M University College Station, TX, USA sastry@cse.tamu.edu Scott M. Pike

More information

Consensus. Consensus problems

Consensus. Consensus problems Consensus problems 8 all correct computers controlling a spaceship should decide to proceed with landing, or all of them should decide to abort (after each has proposed one action or the other) 8 in an

More information

CS3110 Spring 2017 Lecture 21: Distributed Computing with Functional Processes

CS3110 Spring 2017 Lecture 21: Distributed Computing with Functional Processes CS3110 Spring 2017 Lecture 21: Distributed Computing with Functional Processes Robert Constable Date for Due Date PS6 Out on April 24 May 8 (day of last lecture) 1 Introduction In the next two lectures,

More information

1 Introduction. 1.1 The Problem Domain. Self-Stablization UC Davis Earl Barr. Lecture 1 Introduction Winter 2007

1 Introduction. 1.1 The Problem Domain. Self-Stablization UC Davis Earl Barr. Lecture 1 Introduction Winter 2007 Lecture 1 Introduction 1 Introduction 1.1 The Problem Domain Today, we are going to ask whether a system can recover from perturbation. Consider a children s top: If it is perfectly vertically, you can

More information

Signature-Free Broadcast-Based Intrusion Tolerance: Never Decide a Byzantine Value

Signature-Free Broadcast-Based Intrusion Tolerance: Never Decide a Byzantine Value Signature-Free Broadcast-Based Intrusion Tolerance: Never Decide a Byzantine Value Achour Mostefaoui, Michel Raynal To cite this version: Achour Mostefaoui, Michel Raynal. Signature-Free Broadcast-Based

More information

Eventual Leader Election with Weak Assumptions on Initial Knowledge, Communication Reliability, and Synchrony

Eventual Leader Election with Weak Assumptions on Initial Knowledge, Communication Reliability, and Synchrony Eventual Leader Election with Weak Assumptions on Initial Knowledge, Communication Reliability, and Synchrony Antonio FERNÁNDEZ Ernesto JIMÉNEZ Michel RAYNAL LADyR, GSyC, Universidad Rey Juan Carlos, 28933

More information

The Extended BG-Simulation and the Characterization of t-resiliency

The Extended BG-Simulation and the Characterization of t-resiliency The Extended BG-Simulation and the Characterization of t-resiliency Eli Gafni November 17, 2008 Abstract A distributed task T on n processors is an input/output relation between a collection of processors

More information

Failure Detection and Consensus in the Crash-Recovery Model

Failure Detection and Consensus in the Crash-Recovery Model Failure Detection and Consensus in the Crash-Recovery Model Marcos Kawazoe Aguilera Wei Chen Sam Toueg Department of Computer Science Upson Hall, Cornell University Ithaca, NY 14853-7501, USA. aguilera,weichen,sam@cs.cornell.edu

More information

arxiv: v2 [cs.dc] 18 Feb 2015

arxiv: v2 [cs.dc] 18 Feb 2015 Consensus using Asynchronous Failure Detectors Nancy Lynch CSAIL, MIT Srikanth Sastry CSAIL, MIT arxiv:1502.02538v2 [cs.dc] 18 Feb 2015 Abstract The FLP result shows that crash-tolerant consensus is impossible

More information

Time. To do. q Physical clocks q Logical clocks

Time. To do. q Physical clocks q Logical clocks Time To do q Physical clocks q Logical clocks Events, process states and clocks A distributed system A collection P of N single-threaded processes (p i, i = 1,, N) without shared memory The processes in

More information

Time. Lakshmi Ganesh. (slides borrowed from Maya Haridasan, Michael George)

Time. Lakshmi Ganesh. (slides borrowed from Maya Haridasan, Michael George) Time Lakshmi Ganesh (slides borrowed from Maya Haridasan, Michael George) The Problem Given a collection of processes that can... only communicate with significant latency only measure time intervals approximately

More information

On Stabilizing Departures in Overlay Networks

On Stabilizing Departures in Overlay Networks On Stabilizing Departures in Overlay Networks Dianne Foreback 1, Andreas Koutsopoulos 2, Mikhail Nesterenko 1, Christian Scheideler 2, and Thim Strothmann 2 1 Kent State University 2 University of Paderborn

More information

Replication predicates for dependent-failure algorithms

Replication predicates for dependent-failure algorithms Replication predicates for dependent-failure algorithms Flavio Junqueira and Keith Marzullo Department of Computer Science and Engineering University of California, San Diego La Jolla, CA USA {flavio,

More information

The Heard-Of Model: Computing in Distributed Systems with Benign Failures

The Heard-Of Model: Computing in Distributed Systems with Benign Failures The Heard-Of Model: Computing in Distributed Systems with Benign Failures Bernadette Charron-Bost Ecole polytechnique, France André Schiper EPFL, Switzerland Abstract Problems in fault-tolerant distributed

More information

The Las-Vegas Processor Identity Problem (How and When to Be Unique)

The Las-Vegas Processor Identity Problem (How and When to Be Unique) The Las-Vegas Processor Identity Problem (How and When to Be Unique) Shay Kutten Department of Industrial Engineering The Technion kutten@ie.technion.ac.il Rafail Ostrovsky Bellcore rafail@bellcore.com

More information

Failure detection and consensus in the crash-recovery model

Failure detection and consensus in the crash-recovery model Distrib. Comput. (2000) 13: 99 125 c Springer-Verlag 2000 Failure detection and consensus in the crash-recovery model Marcos Kawazoe Aguilera 1, Wei Chen 2, Sam Toueg 1 1 Department of Computer Science,

More information

Combining Shared Coin Algorithms

Combining Shared Coin Algorithms Combining Shared Coin Algorithms James Aspnes Hagit Attiya Keren Censor Abstract This paper shows that shared coin algorithms can be combined to optimize several complexity measures, even in the presence

More information

On Equilibria of Distributed Message-Passing Games

On Equilibria of Distributed Message-Passing Games On Equilibria of Distributed Message-Passing Games Concetta Pilotto and K. Mani Chandy California Institute of Technology, Computer Science Department 1200 E. California Blvd. MC 256-80 Pasadena, US {pilotto,mani}@cs.caltech.edu

More information

CS505: Distributed Systems

CS505: Distributed Systems Cristina Nita-Rotaru CS505: Distributed Systems Ordering events. Lamport and vector clocks. Global states. Detecting failures. Required reading for this topic } Leslie Lamport,"Time, Clocks, and the Ordering

More information

Optimal and Player-Replaceable Consensus with an Honest Majority Silvio Micali and Vinod Vaikuntanathan

Optimal and Player-Replaceable Consensus with an Honest Majority Silvio Micali and Vinod Vaikuntanathan Computer Science and Artificial Intelligence Laboratory Technical Report MIT-CSAIL-TR-2017-004 March 31, 2017 Optimal and Player-Replaceable Consensus with an Honest Majority Silvio Micali and Vinod Vaikuntanathan

More information

On the Efficiency of Atomic Multi-Reader, Multi-Writer Distributed Memory

On the Efficiency of Atomic Multi-Reader, Multi-Writer Distributed Memory On the Efficiency of Atomic Multi-Reader, Multi-Writer Distributed Memory Burkhard Englert benglert@csulb.edu Nicolas Nicolaou nicolas@engr.uconn.edu (Regular Submission) Chryssis Georgiou chryssis@cs.ucy.ac.cy

More information

A Timing Assumption and two t-resilient Protocols for Implementing an Eventual Leader Service in Asynchronous Shared Memory Systems

A Timing Assumption and two t-resilient Protocols for Implementing an Eventual Leader Service in Asynchronous Shared Memory Systems A Timing Assumption and two t-resilient Protocols for Implementing an Eventual Leader Service in Asynchronous Shared Memory Systems Antonio Fernández, Ernesto Jiménez, Michel Raynal, Gilles Trédan To cite

More information

JASS 06 Report Summary. Circuit Complexity. Konstantin S. Ushakov. May 14, 2006

JASS 06 Report Summary. Circuit Complexity. Konstantin S. Ushakov. May 14, 2006 JASS 06 Report Summary Circuit Complexity Konstantin S. Ushakov May 14, 2006 Abstract Computer science deals with many computational models. In real life we have normal computers that are constructed using,

More information

On the Resilience and Uniqueness of CPA for Secure Broadcast

On the Resilience and Uniqueness of CPA for Secure Broadcast On the Resilience and Uniqueness of CPA for Secure Broadcast Chris Litsas, Aris Pagourtzis, Giorgos Panagiotakos and Dimitris Sakavalas School of Electrical and Computer Engineering National Technical

More information

THE chase for the weakest system model that allows

THE chase for the weakest system model that allows 1 Chasing the Weakest System Model for Implementing Ω and Consensus Martin Hutle, Dahlia Malkhi, Ulrich Schmid, Lidong Zhou Abstract Aguilera et al. and Malkhi et al. presented two system models, which

More information

Quantum Algorithms for Leader Election Problem in Distributed Systems

Quantum Algorithms for Leader Election Problem in Distributed Systems Quantum Algorithms for Leader Election Problem in Distributed Systems Pradeep Sarvepalli pradeep@cs.tamu.edu Department of Computer Science, Texas A&M University Quantum Algorithms for Leader Election

More information

THE WEAKEST FAILURE DETECTOR FOR SOLVING WAIT-FREE, EVENTUALLY BOUNDED-FAIR DINING PHILOSOPHERS. A Dissertation YANTAO SONG

THE WEAKEST FAILURE DETECTOR FOR SOLVING WAIT-FREE, EVENTUALLY BOUNDED-FAIR DINING PHILOSOPHERS. A Dissertation YANTAO SONG THE WEAKEST FAILURE DETECTOR FOR SOLVING WAIT-FREE, EVENTUALLY BOUNDED-FAIR DINING PHILOSOPHERS A Dissertation by YANTAO SONG Submitted to the Office of Graduate Studies of Texas A&M University in partial

More information

Symmetric Rendezvous in Graphs: Deterministic Approaches

Symmetric Rendezvous in Graphs: Deterministic Approaches Symmetric Rendezvous in Graphs: Deterministic Approaches Shantanu Das Technion, Haifa, Israel http://www.bitvalve.org/~sdas/pres/rendezvous_lorentz.pdf Coauthors: Jérémie Chalopin, Adrian Kosowski, Peter

More information

Byzantine behavior also includes collusion, i.e., all byzantine nodes are being controlled by the same adversary.

Byzantine behavior also includes collusion, i.e., all byzantine nodes are being controlled by the same adversary. Chapter 17 Byzantine Agreement In order to make flying safer, researchers studied possible failures of various sensors and machines used in airplanes. While trying to model the failures, they were confronted

More information

Byzantine Agreement. Chapter Validity 190 CHAPTER 17. BYZANTINE AGREEMENT

Byzantine Agreement. Chapter Validity 190 CHAPTER 17. BYZANTINE AGREEMENT 190 CHAPTER 17. BYZANTINE AGREEMENT 17.1 Validity Definition 17.3 (Any-Input Validity). The decision value must be the input value of any node. Chapter 17 Byzantine Agreement In order to make flying safer,

More information

Approximation of δ-timeliness

Approximation of δ-timeliness Approximation of δ-timeliness Carole Delporte-Gallet 1, Stéphane Devismes 2, and Hugues Fauconnier 1 1 Université Paris Diderot, LIAFA {Carole.Delporte,Hugues.Fauconnier}@liafa.jussieu.fr 2 Université

More information

Privacy and Fault-Tolerance in Distributed Optimization. Nitin Vaidya University of Illinois at Urbana-Champaign

Privacy and Fault-Tolerance in Distributed Optimization. Nitin Vaidya University of Illinois at Urbana-Champaign Privacy and Fault-Tolerance in Distributed Optimization Nitin Vaidya University of Illinois at Urbana-Champaign Acknowledgements Shripad Gade Lili Su argmin x2x SX i=1 i f i (x) Applications g f i (x)

More information

Atomic m-register operations

Atomic m-register operations Atomic m-register operations Michael Merritt Gadi Taubenfeld December 15, 1993 Abstract We investigate systems where it is possible to access several shared registers in one atomic step. We characterize

More information

Communication-Efficient Randomized Consensus

Communication-Efficient Randomized Consensus Communication-Efficient Randomized Consensus Dan Alistarh 1, James Aspnes 2, Valerie King 3, and Jared Saia 4 1 Microsoft Research, Cambridge, UK. Email: dan.alistarh@microsoft.com 2 Yale University, Department

More information

Simultaneous Consensus Tasks: A Tighter Characterization of Set-Consensus

Simultaneous Consensus Tasks: A Tighter Characterization of Set-Consensus Simultaneous Consensus Tasks: A Tighter Characterization of Set-Consensus Yehuda Afek 1, Eli Gafni 2, Sergio Rajsbaum 3, Michel Raynal 4, and Corentin Travers 4 1 Computer Science Department, Tel-Aviv

More information

Byzantine agreement with homonyms

Byzantine agreement with homonyms Distrib. Comput. (013) 6:31 340 DOI 10.1007/s00446-013-0190-3 Byzantine agreement with homonyms Carole Delporte-Gallet Hugues Fauconnier Rachid Guerraoui Anne-Marie Kermarrec Eric Ruppert Hung Tran-The

More information

arxiv:cs/ v1 [cs.dc] 29 Dec 2004

arxiv:cs/ v1 [cs.dc] 29 Dec 2004 Reductions in Distributed Computing Part I: Consensus and Atomic Commitment Tasks arxiv:cs/0412115v1 [cs.dc] 29 Dec 2004 Bernadette Charron-Bost Abstract We introduce several notions of reduction in distributed

More information

On Randomization versus Synchronization in Distributed Systems

On Randomization versus Synchronization in Distributed Systems On Randomization versus Synchronization in Distributed Systems Hagen Völzer Institut für Theoretische Informatik Universität zu Lübeck Germany July 14, 2004 ICALP 2004, Turku 0 Outline two new impossibility

More information

Computer Sciences Department

Computer Sciences Department Computer Sciences Department 1 Reference Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Computer Sciences Department 3 ADVANCED TOPICS IN C O M P U T A B I L I T Y

More information

Termination Detection in an Asynchronous Distributed System with Crash-Recovery Failures

Termination Detection in an Asynchronous Distributed System with Crash-Recovery Failures Termination Detection in an Asynchronous Distributed System with Crash-Recovery Failures Technical Report Department for Mathematics and Computer Science University of Mannheim TR-2006-008 Felix C. Freiling

More information

FAIRNESS FOR DISTRIBUTED ALGORITHMS

FAIRNESS FOR DISTRIBUTED ALGORITHMS FAIRNESS FOR DISTRIBUTED ALGORITHMS A Dissertation submitted to the Faculty of the Graduate School of Arts and Sciences of Georgetown University in partial fulfillment of the requirements for the degree

More information

Information-Theoretic Lower Bounds on the Storage Cost of Shared Memory Emulation

Information-Theoretic Lower Bounds on the Storage Cost of Shared Memory Emulation Information-Theoretic Lower Bounds on the Storage Cost of Shared Memory Emulation Viveck R. Cadambe EE Department, Pennsylvania State University, University Park, PA, USA viveck@engr.psu.edu Nancy Lynch

More information

(x 1 +x 2 )(x 1 x 2 )+(x 2 +x 3 )(x 2 x 3 )+(x 3 +x 1 )(x 3 x 1 ).

(x 1 +x 2 )(x 1 x 2 )+(x 2 +x 3 )(x 2 x 3 )+(x 3 +x 1 )(x 3 x 1 ). CMPSCI611: Verifying Polynomial Identities Lecture 13 Here is a problem that has a polynomial-time randomized solution, but so far no poly-time deterministic solution. Let F be any field and let Q(x 1,...,

More information