Wait-Free Consensus with Infinite Arrivals James Aspnes Gauri Shah Jatin Shah Yale University STOC 2002.

Slides:



Advertisements
Similar presentations
ON THE COMPLEXITY OF ASYNCHRONOUS GOSSIP Presented by: Tamar Aizikowitz, Spring 2009 C. Georgiou, S. Gilbert, R. Guerraoui, D. R. Kowalski.
Advertisements

The Contest between Simplicity and Efficiency in Asynchronous Byzantine Agreement Allison Lewko The University of Texas at Austin TexPoint fonts used in.
CS 603 Process Synchronization: The Colored Ticket Algorithm February 13, 2002.
Impossibility of Distributed Consensus with One Faulty Process
N-Consensus is the Second Strongest Object for N+1 Processes Eli Gafni UCLA Petr Kuznetsov Max Planck Institute for Software Systems.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
The weakest failure detector question in distributed computing Petr Kouznetsov Distributed Programming Lab EPFL.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Consensus Steve Ko Computer Sciences and Engineering University at Buffalo.
1 Randomized Concurrent Algorithms Based on slides by Dan Alistarh Giuliano Losa.
Distributed Computing 8. Impossibility of consensus Shmuel Zaks ©
Sliding window protocol The sender continues the send action without receiving the acknowledgements of at most w messages (w > 0), w is called the window.
Distributed Algorithms – 2g1513 Lecture 10 – by Ali Ghodsi Fault-Tolerance in Asynchronous Networks.
CS 425 / ECE 428 Distributed Systems Fall 2014 Indranil Gupta (Indy) Lecture 13: Impossibility of Consensus All slides © IG.
Distributed Computing 8. Impossibility of consensus Shmuel Zaks ©
Consensus problem Agreement. All processes that decide choose the same value. Termination. All non-faulty processes eventually decide. Validity. The common.
Max Registers, Counters, and Monotone Circuits James Aspnes, Yale University Hagit Attiya, Technion Keren Censor, Technion PODC 2009.
 Idit Keidar, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Lecture 7: Failure Detectors.
Randomized and Quantum Protocols in Distributed Computation Michael Ben-Or The Hebrew University Michael Rabin’s Birthday Celebration.
What Can Be Implemented Anonymously ? Paper by Rachid Guerraui and Eric Ruppert Presentation by Amir Anter 1.
Randomized Protocols for Asynchronous Consensus James Aspnes Distributed Computing (2003) 16:
Distributed systems Module 2 -Distributed algorithms Teaching unit 1 – Basic techniques Ernesto Damiani University of Bozen Lesson 2 – Distributed Systems.
 Idit Keidar, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Lecture 6: Impossibility.
CPSC 668Set 11: Asynchronous Consensus1 CPSC 668 Distributed Algorithms and Systems Fall 2006 Prof. Jennifer Welch.
Chapter Resynchsonous Stabilizer Chapter 5.1 Resynchsonous Stabilizer Self-Stabilization Shlomi Dolev MIT Press, 2000 Draft of Jan 2004, Shlomi.
CPSC 668Set 11: Asynchronous Consensus1 CPSC 668 Distributed Algorithms and Systems Fall 2009 Prof. Jennifer Welch.
 Idit Keidar, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Lecture 12: Impossibility.
 Idit Keidar, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Lecture 7: Failure Detectors.
Distributed Consensus Reaching agreement is a fundamental problem in distributed computing. Some examples are Leader election / Mutual Exclusion Commit.
Distributed Consensus Reaching agreement is a fundamental problem in distributed computing. Some examples are Leader election / Mutual Exclusion Commit.
Faster than Optimal Snapshots (for a While) James Aspnes, Yale University Hagit Attiya, Technion Keren Censor-Hillel, MIT Faith Ellen, University of Toronto.
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS Fall 2011 Prof. Jennifer Welch CSCE 668 Set 11: Asynchronous Consensus 1.
Consensus and Its Impossibility in Asynchronous Systems.
Atomic Snapshots. Abstract Data Types Abstract representation of data & set of methods (operations) for accessing it Implement using primitives on base.
Ch11 Distributed Agreement. Outline Distributed Agreement Adversaries Byzantine Agreement Impossibility of Consensus Randomized Distributed Agreement.
1 Lectures on Parallel and Distributed Algorithms COMP 523: Advanced Algorithmic Techniques Lecturer: Dariusz Kowalski Lectures on Parallel and Distributed.
Byzantine fault-tolerance COMP 413 Fall Overview Models –Synchronous vs. asynchronous systems –Byzantine failure model Secure storage with self-certifying.
1 Chapter 9 Synchronization Algorithms and Concurrent Programming Gadi Taubenfeld © 2014 Synchronization Algorithms and Concurrent Programming Synchronization.
6.852: Distributed Algorithms Spring, 2008 Class 13.
1 Chapter 10 Synchronization Algorithms and Concurrent Programming Gadi Taubenfeld © 2014 Synchronization Algorithms and Concurrent Programming Synchronization.
CS603 Clock Synchronization February 4, What is the best we can do? Lundelius and Lynch ‘84 Assumptions: –No failures –No drift –Fully connected.
Wait-Free Consensus CPSC 661 Fall 2003 Supervised by: Lisa Higham Presented by: Wei Wei Zheng Nuha Kamaluddeen.
Common2 extended to stacks and unbound concurrency By:Yehuda Afek Eli Gafni Adam Morrison May 2007 Presentor: Dima Liahovitsky 1.
O(log n / log log n) RMRs Randomized Mutual Exclusion Danny Hendler Philipp Woelfel PODC 2009 Ben-Gurion University University of Calgary.
Sliding window protocol The sender continues the send action without receiving the acknowledgements of at most w messages (w > 0), w is called the window.
Max Registers, Counters, and Monotone Circuits Keren Censor, Technion Joint work with: James Aspnes, Yale University Hagit Attiya, Technion (Slides
Impossibility of Distributed Consensus with One Faulty Process By, Michael J.Fischer Nancy A. Lynch Michael S.Paterson.
Asynchronous Exclusive Selection Bogdan Chlebus, U. Colorado Darek Kowalski, U. Liverpool.
Chapter 21 Asynchronous Network Computing with Process Failures By Sindhu Karthikeyan.
1 Fault tolerance in distributed systems n Motivation n robust and stabilizing algorithms n failure models n robust algorithms u decision problems u impossibility.
Alternating Bit Protocol S R ABP is a link layer protocol. Works on FIFO channels only. Guarantees reliable message delivery with a 1-bit sequence number.
Fault tolerance and related issues in distributed computing Shmuel Zaks GSSI - Feb
“Towards Self Stabilizing Wait Free Shared Memory Objects” By:  Hopeman  Tsigas  Paptriantafilou Presented By: Sumit Sukhramani Kent State University.
Distributed Algorithms (22903) Lecturer: Danny Hendler The Atomic Snapshot Object The Renaming Problem This presentation is based on the book “Distributed.
Atomic snapshots in O(log³ n) steps using randomized helping James Aspnes, Yale Keren Censor-Hillel, Technion 1.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
CSE 486/586 CSE 486/586 Distributed Systems Consensus Steve Ko Computer Sciences and Engineering University at Buffalo.
Atomic snapshots in O(log³ n) steps 1. Snapshot Objects p1p1 p1p1 p2p2 p2p2 pnpn pnpn … … update( v ) scan 2 update your location read all locations.
Randomized Algorithms for Distributed Agreement Problems Peter Robinson.
© 2007 P. Kouznetsov On the Weakest Failure Detector Ever Petr Kouznetsov (Max Planck Institute for SWS) Joint work with: Rachid Guerraoui (EPFL) Maurice.
The Concurrency Hierarchy and Algorithms for Unbounded Concurrency Eli Gafni Michael Merritt Gadi Taubenfeld.
Wait-Free Consensus CPSC 661 Fall 2003 Supervised by: Lisa Higham
The consensus problem in distributed systems
When Is Agreement Possible
O(log n / log log n) RMRs Randomized Mutual Exclusion
O(log n / log log n) RMRs Randomized Mutual Exclusion
Alternating Bit Protocol
Randomized Algorithms
(Slides were added to Keren’s original presentation. DH.)
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS
(Slides were added to Keren’s original presentation. DH.)
Presentation transcript:

Wait-Free Consensus with Infinite Arrivals James Aspnes Gauri Shah Jatin Shah Yale University STOC 2002

Consensus (1) Get collection of processes to agree on a value s.t. Consensus Protocol Agreement: all processes give same output.

Wait-Free Termination: finite work done by any process

Why do we care about consensus? Universal Construction (Herlihy 1991) Wait-free implementation of any linearizable shared object using consensus n-processor Consensus Object Linearized operations

Impossibility of Consensus* *Deterministic, asynchronous, with 1 failure: Message-passing model (Fischer, Lynch, Paterson ’85) Shared-memory model (Loui, Abu-Amara ’87) Algorithms for randomized consensus: Ben-Or (1983) and many others Possible using: Randomization

So far... Consensus with n processes is possible using randomization What happens if we don’t know n? What if we have infinitely many processes?

Infinite Arrivals Model (Gafni, Merritt, Taubenfeld 2001) Concurrency birthdeath alive Countably infinite collection of processes Communicate using atomic shared R/W registers R/W registers asleep

Infinite Arrivals Model RW----R---R---W---W R---R---R---W R----R Concurrency: number of processes alive at any time Unbounded, Bounded, b-Bounded Adversary controls scheduling of processes.

Algorithms for the model Snapshot like collect, but all registers read simultaneously. Collect update i (d): write d to register i. scan i :equivalent to reading all nonempty registers one at a time.

A Randomized Binary Consensus Protocol (Based on Chandra 1996) Slow processes adopt leader’s preference: Race between processes with and : No agreement of leaders: flip global coin c

Shared Coin Processes toss own coins and take majority of all values. Strong adversary can selectively kill processes about to write votes for values he does not like Votes Cast

Voting with n processes Strong adversary can shift total by n-1 votes by killing processes carrying selected votes. Then take majority of votes to get constant probability of unbiased outcome. -(n-1) 0 (n-1) Sum of votes Probability Processes repeatedly vote to get total of votes

But with infinitely many processes... Adversary can hide infinitely many votes! Sum of votes Adversary can shift the majority to get any outcome desired. 0 Probability

Convergent Voting Let vote of process i be weighted by i th term of convergent series Vote of i i Adversary can shift majority only by constant amount! Gives shared coin Binary Consensus With few additions: Expected work of process i: (T: Number of operations for one collect)

So we have… Consensus for infinitely many processes with: Binary input values Process identities What about: Arbitrarily many input values? No identities?

Infinitary Consensus (Based on adaptive mutual exclusion of Attiya, Bortnikov 2000) Time taken by process with value k = O(T log k) [T = time for single execution of binary consensus protocol] Binary Consensus Protocol

Naming: Lazy Clock (with b-bounded concurrency) Issue identities to anonymous processes. Then use regular shared coin. Returns < duplicates of c. Choose ID from large range to separate duplicates. b registers c := max of all b registers + 1 max=28 c=29 reg[c mod b] := c 29

Weak adversary (b-bounded concurrency) Shared coin: Write local coin tosses to registers and take majority vote. Each (anonymous) process takes: O(b log b) time. registers 0 Adversary can select votes but can’t see them. 0 0

Summary of Results (for strong adversary) ConcurrencyAnonymityOperations for process UnboundedNo BoundedNo YesUnbounded b-bounded, b>1No YesUnbounded 1-boundedYes * Corresponding lower bound exists T = number of operations for one collect *

Summary of Results (for weak adversary) ConcurrencyAnonymityOperations per process BoundedYesO(b log b) b-bounded, b>1YesO(b log b)

The big open question Is it possible to do consensus with Unbounded Concurrency and Anonymity? Cannot build shared coin for above conditions with strong adversary! Design a protocol without a shared coin?