Combinatorial Topology and Distributed Computing TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
Part Two Elements of Combinatorial Topology 7-May-19
Overview Basic concepts of Combinatorial Topology How they model distributed & concurrent computation Duality between combinatorial & continuous mechanisms 7-May-19
A Vertex Combinatorial: an element of a set. Geometric: a point in high-dimensional Euclidean Space 7-May-19
Simplexes Combinatorial: a set of vertexes. Geometric: convex hull of points in general position 0-simplex 1-simplex dimension 3-simplex 2-simplex 7-May-19
Simplicial Complex Combinatorial: a set of simplexes close under inclusion. Geometric: simplexes “glued together” along faces … 7-May-19
Vertex-to-vertex map … Simplicial Maps Vertex-to-vertex map … 7-May-19
Simplicial Map Vertex-to-vertex map … that sends simplexes to simplexes piece-wise linear map on geometric simplexes 7-May-19
Preserves intersections: M (¾ Å ¿) = M (¾) Å M (¿) Carrier Map M Maps simplex … to subcomplex. Preserves intersections: M (¾ Å ¿) = M (¾) Å M (¿) 7-May-19
Value (input or output) Vertex = Process State Process ID (color) 7 Value (input or output) 7-May-19
Simplex = Global State 7-May-19
Complex = Global States 7-May-19
Input Complex for Binary Consensus All possible initial states 1 Processes: red, green, blue 1 Independently assigned 0 or 1 7-May-19
Output Complex for Binary Consensus 1 All possible final states Output values all 0 or all 1 Two disconnected simplexes 7-May-19
Carrier Map for Consensus All 0 outputs All 0 inputs 7-May-19
Carrier Map for Consensus All 1 inputs All 1 outputs 7-May-19
Carrier Map for Consensus All 0 outputs Mixed 0-1 inputs All 1 outputs 7-May-19
Task Specification (I, O, ¢) Carrier map Input complex Output complex 7-May-19
Protocol view = my input value; for (i = 0; i < r; i++) { broadcast view; view += messages received; } return δ(view) Finite program 7-May-19
Protocol view = my input value; for (i = 0; i < r; i++) { broadcast view; view += messages received; } return δ(view) Start with input value 7-May-19
Run for fixed number of rounds Protocol view = my input value; for (i = 0; i < r; i++) { broadcast view; view += messages received; } return δ(view) Run for fixed number of rounds 7-May-19
Send current view to others Protocol view = my input value; for (i = 0; i < r; i++) { broadcast view; view += messages received; } return δ(view) Send current view to others 7-May-19
Protocol view = my input value; for (i = 0; i < r; i++) { broadcast view; view += messages received; } return δ(view) Concatenate messages received to view (full-information protocol) 7-May-19
finally, apply task-specific decision map to view 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 7-May-19
Protocol Complex Vertex: process ID, view Complete log of messages sent & received Simplex: compatible set of views Each execution defines a simplex 7-May-19
Example: Synchronous Message-Passing Round 0 Round 1 7-May-19
Failures: Fail-Stop Partial broadcast 7-May-19
Single Input: Round Zero No messages sent View is input value Same as input simplex 7-May-19
Round Zero Protocol Complex 1 No messages sent View is input value Same as input complex 7-May-19
Single Input: Round One 7-May-19
Single Input: Round One no one fails 7-May-19
Single Input: Round One no one fails blue fails 7-May-19
Single Input: Round One red fails green fails no one fails blue fails 7-May-19
Protocol Complex: Round One 7-May-19
Protocol Complex: Round Two 7-May-19
Protocol Complex Evolution zero one two 7-May-19
Summary protocol complex d input complex output complex Δ 7-May-19
Simplicial map, sending simplexes to simplexes Decision Map d Simplicial map, sending simplexes to simplexes Protocol complex Output complex 7-May-19
Find topological “obstruction” to this simplicial map Lower Bound Strategy d Find topological “obstruction” to this simplicial map Protocol complex Output complex 7-May-19
Subcomplex of all-0 inputs Consensus Example Subcomplex of all-0 inputs Must map here d 1 1 Protocol Output 7-May-19
Subcomplex of all-1 inputs Consensus Example d 1 1 Subcomplex of all-1 inputs Must map here Protocol Output 7-May-19
Image under d must start here .. Consensus Example Image under d must start here .. d 1 1 Protocol Path from “all-0” to “all-1” Output and end here 7-May-19
Consensus Example path d ? 1 1 Output 7-May-19
Consensus Example d Image under d must start here .. But this “hole” is an obstruction d Protocol Path from “all-0” to “all-1” Output and end here 7-May-19
A protocol cannot solve consensus if its complex is path-connected Conjecture A protocol cannot solve consensus if its complex is path-connected Model-independent! 7-May-19
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 7-May-19
Another Conjecture A protocol cannot solve k-set agreement if its complex has “no holes” in dimensions < k Later! 7-May-19
This work is licensed under a Creative Commons Attribution-Noncommercial 3.0 Unported License.