480 likes | 494 Vues
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.
E N D
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
They Agree on One Thread’s Input 19 19 19
Generalization: 2-Consensus 19 21 19
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
First Model: Synchronous Message-Passing Round 0 Round 1
Failures: Fail-Stop Partial broadcast
Failures: Fail-Stop Partial broadcast
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
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
Initial States 0 • Vertex: process (color) and input value • Simplex: one initial state • Complex: set of initial states 0 1 0 1
0 0 0 1 1 1 Final States • Vertex: process (color) and final value • Simplex: one final state • Complex: set of final states
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
Example: Synchronous Protocol Complexes start one round two rounds
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
Reasoning About Connectivity If C0is k-connected … and C1is k-connected …
Reasoning About Connectivity and C0 C1 is (k-1)-connected …
Reasoning About Connectivity then C0 C1 is (k-1)-connected
Mayer-Vietoris • Reason about connectivity in a purely combinatorial way • Challenge is to decompose complex so that Mayer-Vietoris applies inductively
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
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?
Round Operator Qf(S)
Round Operator Round operator name Qf(S)
Round Operator Round operator name Qf(S) Number of “failures”
Round Operator Round operator name Qf(S) Starting simplex (or complex) Number “failures”
Round Operator Qf(S) Set of simplexes
Round Operator |Qf(S)| Set of simplexes Simplicial Complex
Axiom One If f ≤ g Qf(S) Qg(S) Possible states with fewer failures Contained in possible states with more failures
Example of Axiom One zero failures ≤ 1 failures
S0 S1 Nearby Starting States |Qf(S0)| ≤f failures Intersection? ≤f failures |Qf(S1)|
Intersections processes that “can’t tell” whether they started in S0 or S1 |Qf(S0)||Qf(S1)| =
Nearby Starting States S0-{ } S0 Processes that can tell S1-{ } S1
Nearby Starting States ≤f-1 failures S0-{ } S1-{ } ≤f-1 failures
Axiom Two |Qf(S0)||Qf(S1)| Run with c fewer failures = |Qf-c(S0S1)| Discard c processes not in intersection
Axiom Two |Qf(S0)||Qf(S1)| Warning: axiom used in paper slightly more technical Run with c fewer failures = |Qf-c(S0S1)| Discard c processes not in intersection
Computing Connectivity k-connected k-connected
Computing Connectivity Problem: indivudual intersections have different dimensions
Observation small intersections
Observation …absorbed by larger intersections small intersections
Absorbing POSet • Simplexes (partially) ordered • “Small” intersections with later simplexes absorbed by “large” intersections Warning: definition used in paper is a little more technical
Absorbing POSet • Similar to “shellable complex” • Same basic idea, but • Some technical differences
Theorem Composition of round operators With ≥ k failures per round Input complex (absorbing POSet) |Qk*(A)| is (k-1)-connected
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)
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
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!