Combinatorial Topology and Distributed Computing Part Two Elements
Combinatorial Topology and Distributed Computing
Part Two Elements of Combinatorial Topology 06 -Mar-21 2
Overview Basic concepts of Combinatorial Topology How they model distributed & concurrent computation Duality between combinatorial & continuous mechanisms 06 -Mar-21 3
A Vertex Combinatorial: an element of a set. Geometric: a point in highdimensional Euclidean Space 06 -Mar-21 4
Simplexes Combinatorial: a set of vertexes. Geometric: convex hull of points in general position 1 -simplex 0 -simplex dimension 2 -simplex 06 -Mar-21 3 -simplex 5
Simplicial Complex Combinatorial: a set of simplexes “glued close. Geometric: under inclusion. together” along faces … 06 -Mar-21 6
Simplicial Maps Vertex-to-vertex map … 06 -Mar-21 7
Simplicial Map Vertex-to-vertex map … that sends simplexes to simplexes piece-wise linear map on geometric simplexes 06 -Mar-21 8
Carrier Map M Maps simplex … to subcomplex. Preserves intersections: M (¾ Å ¿) = M (¾) Å M (¿) 06 -Mar-21 9
Vertex = Process State Process ID (color) 7 06 -Mar-21 Value (input or output) 10
Simplex = Global State 06 -Mar-21 11
Complex = Global States 06 -Mar-21 12
Input Complex for Binary Consensus 0 All possible initial states 0 1 Processes: red, green, blue 0 1 Independently assigned 0 or 1 06 -Mar-21 13
Output Complex for Binary Consensus All possible final states 0 0 0 1 1 Output values all 0 or all 1 1 Two disconnected simplexes 06 -Mar-21 14
Carrier Map for Consensus All 0 outputs All 0 inputs 06 -Mar-21 15
Carrier Map for Consensus All 1 inputs 06 -Mar-21 All 1 outputs 16
Carrier Map for Consensus All 0 outputs Mixed 0 -1 inputs All 1 outputs 06 -Mar-21 17
Task Specification (I, O, ¢) Carrier map Input complex Output complex 06 -Mar-21 18
Protocol view = my input value; for (i = 0; i < r; i++) { broadcast view; view += messages received; } return δ(view) Finite program 06 -Mar-21 19
Protocol view = my input value; for (i = 0; i < r; i++) { Start with input value broadcast view; view += messages received; } return δ(view) 06 -Mar-21 20
Protocol view = my input value; for (i = 0; i < r; i++) { broadcast view; Run for fixed number of rounds view += messages received; } return δ(view) 06 -Mar-21 21
Protocol view = my input value; for (i = 0; i < r; i++) { broadcast view; view += Send messages currentreceived; view to others } return δ(view) 06 -Mar-21 22
Protocol view = my input value; for (i = 0; i < r; i++) { broadcast view; view += messages received; } Concatenate messages return δ(view) received to view (full-information protocol) 06 -Mar-21 23
Protocol view = my input value; for (i = 0; i < r; i++) { broadcast view; view += messages received; } return δ(view) finally, apply task-specific decision map to view 06 -Mar-21 24
Protocol Complex Vertex: process ID, view Complete log of messages sent & received Simplex: compatible set of views Each execution defines a simplex 06 -Mar-21 25
Example: Synchronous Message-Passing 06 -Mar-21 Round 0 Round 1 26
Failures: Fail-Stop Partial broadcast 06 -Mar-21 27
Single Input: Round Zero No messages sent 0 View is input value 0 0 Same as input simplex 06 -Mar-21 28
Round Zero Protocol Complex 0 No messages sent 0 1 View is input value 0 1 Same as input complex 06 -Mar-21 29
Single Input: Round One 00 00 00 06 -Mar-21 000 00 00 30
Single Input: Round One 00 00 000 000 no one fails 00 06 -Mar-21 00 31
Single Input: Round One 00 00 000 blue fails 06 -Mar-21 000 no one fails 00 00 32
Single Input: Round One red fails 00 00 green fails 000 000 blue fails 06 -Mar-21 000 no one fails 00 00 33
Protocol Complex: Round One 06 -Mar-21 34
Protocol Complex: Round Two 06 -Mar-21 35
Protocol Complex Evolution zero 06 -Mar-21 one two 36
protocol complex Summary output complex input complex 06 -Mar-21 d Δ 37
Decision Map d Simplicial map, sending simplexes to simplexes Protocol complex 06 -Mar-21 Output complex 38
Lower Bound Strategy d Find topological “obstruction” to this simplicial map Protocol complex 06 -Mar-21 Output complex 39
Consensus Example Subcomplex of all-0 inputs Must map here 0 1 Protocol 06 -Mar-21 d 0 1 Output 40
Consensus Example 0 1 Protocol 06 -Mar-21 d Subcomplex of all-1 inputs 0 1 Must map here Output 41
Consensus Example Image under d must start here. . 0 1 Protocol Path from “all-0” to “all-1” 06 -Mar-21 0 d 1 and end here Output 42
Consensus Example path 0 d 1 0 ? 1 Output 06 -Mar-21 43
Consensus Example Image under d must start here. . But this “hole” is d an obstruction Protocol Path from “all-0” to “all-1” 06 -Mar-21 and end here Output 44
Conjecture A protocol cannot solve consensus if its complex is path-connected Model-independent! 06 -Mar-21 45
If Adversary keeps Protocol Complex path-connected … Forever … Consensus is impossible For r rounds … A round-complexity lower bound For time t … A time-complexity lower bound 06 -Mar-21 46
Another Conjecture A protocol cannot solve k-set agreement if its complex has “no holes” in dimensions < k Later! 06 -Mar-21 47
This work is licensed under a Creative Commons Attribution. Noncommercial 3. 0 Unported License. 48
- Slides: 48