1 / 48

An Axiomatic Approach to Computing the Connectivity of Synchronous and Asynchronous Systems

An Axiomatic Approach to Computing the Connectivity of Synchronous and Asynchronous Systems. Maurice Herlihy Microsoft Research & Brown University Joint work with Sergio Rajsbaum & Mark Tuttle. Consensus: Each Thread has a Private Input. 19. 32. 21. They Communicate.

jshafer
Télécharger la présentation

An Axiomatic Approach to Computing the Connectivity of Synchronous and Asynchronous Systems

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. An Axiomatic Approach to Computing the Connectivity of Synchronous and Asynchronous Systems Maurice Herlihy Microsoft Research & Brown University Joint work with Sergio Rajsbaum & Mark Tuttle

  2. Consensus: Each Thread has a Private Input 19 32 21

  3. They Communicate

  4. They Agree on One Thread’s Input 19 19 19

  5. Generalization: 2-Consensus 19 21 19

  6. History of k-Consensus • Proposed Chaudhuri 90 • Impossible in R/W memory if failures can occur • Borowsky GafniSTOC 93 • Herlihy ShavitSTOC 93, JACM 1999 • Saks ZaharoglouSTOC 93, SIAM 2000

  7. First Model: Synchronous Message-Passing Round 0 Round 1

  8. Failures: Fail-Stop Partial broadcast

  9. Second Model: Asynchronous Message-Passing

  10. Failures: Fail-Stop Partial broadcast

  11. Impossibility Results fork-Consensus • Synchronous Model • Impossible in < (f/k)+1 rounds • Asynchronous Model • Impossible always • What’s wrong? No unified picture • Technical details quite different • Obscures underlying similarity

  12. Our Contribution • Model-independent part (once) • Abstract round operator • Satisfies simple combinatorial axioms • Model-specific part (once per model) • Identify model-specific round operator • Prove that it satisfies axioms

  13. Initial States 0 • Vertex: process (color) and input value • Simplex: one initial state • Complex: set of initial states 0 1 0 1

  14. 0 0 0 1 1 1 Final States • Vertex: process (color) and final value • Simplex: one final state • Complex: set of final states

  15. Protocol & Protocol Complex • Finite program • Processes send and receive messages • Each process decides after fixed number of steps • Vertex: process and history of messages it sent & received • Simplex: one final state • Complex: set of final states

  16. Example: Synchronous Protocol Complexes start one round two rounds

  17. Theorem • Cannot solve k-consensus if the protocol complex is (k-1)-connected • In dimension k-1 and lower: • No “holes” • Spheres contractible • Homotopy groups trivial • Related to Sperner’s Lemma

  18. Reasoning About Connectivity If C0is k-connected … and C1is k-connected …

  19. Reasoning About Connectivity and C0 C1 is (k-1)-connected …

  20. Reasoning About Connectivity then C0 C1 is (k-1)-connected

  21. Mayer-Vietoris • Reason about connectivity in a purely combinatorial way • Challenge is to decompose complex so that Mayer-Vietoris applies inductively

  22. Round Operator • Computation as sequence of rounds • Natural in synchronous model • Also works in asynchronous model • Inductive reasoning • If complex is (k-1)-connected before • Then it remains (k-1)-connected after

  23. Axioms • How does the number of failures affect the round operator? • How does the operator work on neighboring simplexes? • How does the operator work on a single simplex?

  24. Round Operator Qf(S)

  25. Round Operator Round operator name Qf(S)

  26. Round Operator Round operator name Qf(S) Number of “failures”

  27. Round Operator Round operator name Qf(S) Starting simplex (or complex) Number “failures”

  28. Round Operator Qf(S) Set of simplexes

  29. Round Operator |Qf(S)| Set of simplexes Simplicial Complex

  30. Axiom One If f ≤ g Qf(S)  Qg(S) Possible states with fewer failures Contained in possible states with more failures

  31. Example of Axiom One zero failures ≤ 1 failures

  32. S0 S1 Nearby Starting States |Qf(S0)| ≤f failures Intersection? ≤f failures |Qf(S1)|

  33. Intersections processes that “can’t tell” whether they started in S0 or S1 |Qf(S0)||Qf(S1)| =

  34. Nearby Starting States S0-{ } S0 Processes that can tell S1-{ } S1

  35. Nearby Starting States ≤f-1 failures S0-{ } S1-{ } ≤f-1 failures

  36. Axiom Two |Qf(S0)||Qf(S1)| Run with c fewer failures = |Qf-c(S0S1)| Discard c processes not in intersection

  37. Axiom Two |Qf(S0)||Qf(S1)| Warning: axiom used in paper slightly more technical Run with c fewer failures = |Qf-c(S0S1)| Discard c processes not in intersection

  38. Computing Connectivity

  39. Computing Connectivity k-connected k-connected

  40. Computing Connectivity Problem: indivudual intersections have different dimensions

  41. Observation small intersections

  42. Observation …absorbed by larger intersections small intersections

  43. Absorbing POSet • Simplexes (partially) ordered • “Small” intersections with later simplexes absorbed by “large” intersections Warning: definition used in paper is a little more technical

  44. Absorbing POSet • Similar to “shellable complex” • Same basic idea, but • Some technical differences

  45. Theorem Composition of round operators With ≥ k failures per round Input complex (absorbing POSet) |Qk*(A)| is (k-1)-connected

  46. Model-Specific Round Operators • Synchronous Model • Round with k failures • Asynchronous Model • All but k deliver messages to all • Rest do partial broadcast (don’t crash)

  47. Corollaries • Synchronous Model • k-consensus requires (f/k)+1 rounds • Asynchronous Model • k-consensus is impossible • Proofs • Verify that round operators satisfy the three axioms

  48. Our Ambitions • We conjecture that this axiomatic approach can be extended to other models • Did we pick the right axioms for a Grand Unified Theory? • Find out at GETCO 2005!

More Related