1 / 21

Wait-Free Consensus with Infinite Arrivals

Wait-Free Consensus with Infinite Arrivals. James Aspnes Gauri Shah Jatin Shah Yale University STOC 2002. Consensus Protocol. Consensus (1). Get collection of processes to agree on a value s.t. Agreement: all processes give same output. Consensus (2).

anitra
Download Presentation

Wait-Free Consensus with Infinite Arrivals

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  3. Consensus (2) Validity: if inputs agree, output=input. Consensus Protocol Wait-Free Termination:finite work done by any process

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

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

  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) birth death alive asleep Concurrency R/W registers Countably infinite collection of processes Communicate using atomic shared R/W registers

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

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

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

  11. 0 0 0 0 0 0 1 0 0 1 0 1 1 1 Votes Cast 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.

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

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

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

  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 2 3 4 5 6 7 Binary Consensus Protocol 8 9 10 11 12 13 14 15

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

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

  19. Summary of Results(for strong adversary) * *Corresponding lower bound existsT = number of operations for one collect

  20. Summary of Results(for weak adversary)

  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?

More Related