Title: An Axiomatic Approach to Computing the Connectivity of Synchronous and Asynchronous Systems
1An Axiomatic Approach to Computing the
Connectivity of Synchronous and Asynchronous
Systems
- Maurice Herlihy
- Microsoft Research Brown University
- Joint work with Sergio Rajsbaum Mark Tuttle
2Consensus Each Thread has a Private Input
19
32
21
3They Communicate
4They Agree on One Threads Input
19
19
19
5Generalization 2-Consensus
19
21
19
6History of k-Consensus
- Proposed Chaudhuri 90
- Impossible in R/W memory if failures can occur
- Borowsky Gafni STOC 93
- Herlihy Shavit STOC 93, JACM 1999
- Saks Zaharoglou STOC 93, SIAM 2000
7First Model Synchronous Message-Passing
Round 0
Round 1
8Failures Fail-Stop
Partial broadcast
9Second Model Asynchronous Message-Passing
10Failures Fail-Stop
Partial broadcast
11Impossibility Results fork-Consensus
- Synchronous Model
- Impossible in lt (f/k)1 rounds
- Asynchronous Model
- Impossible always
- Whats wrong? No unified picture
- Technical details quite different
- Obscures underlying similarity
12Our 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
13Initial States
0
- Vertex process (color) and input value
- Simplex one initial state
- Complex set of initial states
0
1
0
1
14Final States
- Vertex process (color) and final value
- Simplex one final state
- Complex set of final states
15Protocol 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
16Example Synchronous Protocol Complexes
start
one round
two rounds
17Theorem
- 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 Sperners Lemma
18Reasoning About Connectivity
If C0 is k-connected
and C1 is k-connected
19Reasoning About Connectivity
and C0 ? C1 is (k-1)-connected
20Reasoning About Connectivity
then C0 ? C1 is (k-1)-connected
21Mayer-Vietoris
- Reason about connectivity in a purely
combinatorial way - Challenge is to decompose complex so that
Mayer-Vietoris applies inductively
22Round 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
23Axioms
- 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?
24Round Operator
Qf(S)
25Round Operator
Round operator name
Qf(S)
26Round Operator
Round operator name
Qf(S)
Number of failures
27Round Operator
Round operator name
Qf(S)
Starting simplex (or complex)
Number failures
28Round Operator
Qf(S)
Set of simplexes
29Round Operator
Qf(S)
Set of simplexes
Simplicial Complex
30Axiom One
If f g
Qf(S) ? Qg(S)
Possible states with fewer failures
Contained in possible states with more failures
31Example of Axiom One
zero failures
1 failures
32Nearby Starting States
Qf(S0)
f failures
Intersection?
f failures
Qf(S1)
33Intersections
processes that cant tell whether they started
in S0 or S1
Qf(S0)?Qf(S1)
34Nearby Starting States
S0
S0-
Processes that can tell
S1
S1-
35Nearby Starting States
f-1 failures
S0-
S1-
f-1 failures
36Axiom Two
Qf(S0)?Qf(S1)
Run with c fewer failures
Qf-c(S0?S1)
Discard c processes not in intersection
37Axiom 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
38Computing Connectivity
39Computing Connectivity
k-connected
k-connected
40Computing Connectivity
Problem indivudual intersections have different
dimensions
41Observation
small intersections
42Observation
absorbed by larger intersections
small intersections
43Absorbing POSet
- Simplexes (partially) ordered
- Small intersections with later simplexes
absorbed by large intersections
Warning definition used in paper is a little
more technical
44Absorbing POSet
- Similar to shellable complex
- Same basic idea, but
- Some technical differences
45Theorem
Composition of round operators With k failures
per round
Input complex (absorbing POSet)
Qk(A) is (k-1)-connected
46Model-Specific Round Operators
- Synchronous Model
- Round with k failures
- Asynchronous Model
- All but k deliver messages to all
- Rest do partial broadcast (dont crash)
47Corollaries
- Synchronous Model
- k-consensus requires (f/k)1 rounds
- Asynchronous Model
- k-consensus is impossible
- Proofs
- Verify that round operators satisfy the three
axioms
48Our 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!