Download presentation
Presentation is loading. Please wait.
1
Wait-Free Consensus with Infinite Arrivals James Aspnes Gauri Shah Jatin Shah Yale University STOC 2002
2
Consensus (1) Get collection of processes to agree on a value s.t. Consensus Protocol Agreement: all processes give same output.
3
Wait-Free Termination: finite work done by any process
4
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
5
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
6
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?
7
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
8
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.
9
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.
10
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
11
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. 0 0 1 0 0 1 0 0 1 Votes Cast 0 1 0 0 1
12
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
13
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
14
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)
15
So we have… Consensus for infinitely many processes with: Binary input values Process identities What about: Arbitrarily many input values? No identities?
16
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] 1 23 7456 8 9 10 11 12 13 14 15 Binary Consensus Protocol
17
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 12 19 2 21 28 23 c := max of all b registers + 1 max=28 c=29 reg[c mod b] := c 29
18
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
19
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 *
20
Summary of Results (for weak adversary) ConcurrencyAnonymityOperations per process BoundedYesO(b log b) b-bounded, b>1YesO(b log b)
21
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?
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.