algebraic topology and distributed computingcs.brown.edu/courses/cs2951s/ch02.pdftwo-process systems...
TRANSCRIPT
![Page 1: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/1.jpg)
Two-Process Systems
Companion slides for Distributed Computing
Through Combinatorial Topology Maurice Herlihy & Dmitry Kozlov & Sergio Rajsbaum
Distributed Computing through Combinatorial Topology
![Page 2: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/2.jpg)
Two-Process Systems
Two-process systems can be captured by elementary
graph theory gentle introduction to more general structures needed
later for larger systems Distributed Computing through
Combinatorial Topology 2
![Page 3: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/3.jpg)
Road Map Elementary Graph Theory
Tasks
Models of Computation
Approximate Agreement
Task Solvability Distributed Computing through
Combinatorial Topology 3
![Page 4: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/4.jpg)
Road Map Elementary Graph Theory
Tasks
Models of Computation
Approximate Agreement
Task Solvability Distributed Computing through
Combinatorial Topology 4
![Page 5: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/5.jpg)
A Vertex
Distributed Computing through Combinatorial Topology
5
![Page 6: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/6.jpg)
A Vertex Combinatorial: an element of a set.
Distributed Computing through Combinatorial Topology
6
![Page 7: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/7.jpg)
A Vertex Combinatorial: an element of a set.
Geometric: a point in Euclidean Space
Distributed Computing through Combinatorial Topology
7
![Page 8: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/8.jpg)
An Edge
8
![Page 9: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/9.jpg)
An Edge Combinatorial: a set of two vertexes.
9
![Page 10: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/10.jpg)
An Edge Combinatorial: a set of two vertexes.
Geometric: line segment joining two points
10
![Page 11: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/11.jpg)
A Graph
Distributed Computing through Combinatorial Topology
11
![Page 12: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/12.jpg)
A Graph Combinatorial: a set of sets of vertices.
Distributed Computing through Combinatorial Topology
12
![Page 13: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/13.jpg)
A Graph Combinatorial: a set of sets of vertices.
Geometric: points joined by line segments
Distributed Computing through Combinatorial Topology
13
![Page 14: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/14.jpg)
Graphs
finite set V with a collection G of subsets of V,
Distributed Computing through Combinatorial Topology
14
![Page 15: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/15.jpg)
Graphs
simplices (singular: simplex)
finite set V with a collection G of subsets of V,
vertices
Distributed Computing through Combinatorial Topology
15
![Page 16: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/16.jpg)
Graphs
Distributed Computing through Combinatorial Topology
(1) If X 2 G, then |X| · 2
finite set V with a collection G of subsets of V,
16
![Page 17: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/17.jpg)
Graphs
Distributed Computing through Combinatorial Topology
(1) If X 2 G, then |X| · 2
finite set V with a collection G of subsets of V,
vertex: |X| = 1 edge: |X|= 2
17
![Page 18: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/18.jpg)
Graphs
(1) If X 2 G, then |X| · 2 (2) for all v 2 V, {v} 2 G
finite set V with a collection G of subsets of V,
18
![Page 19: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/19.jpg)
Graphs
(1) If X 2 G, then |X| · 2 (2) for all v 2 V, {v} 2 G
(3) for all X 2 G, and Y ½ X, Y 2 G
finite set V with a collection G of subsets of V,
19
![Page 20: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/20.jpg)
Dimension
dim(X) = |X|-1.
dimension 0
dimension 1
Distributed Computing through Combinatorial Topology
20
![Page 21: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/21.jpg)
Pure Graphs
pure of dim 0
pure of dim 1
Distributed Computing through Combinatorial Topology
21
![Page 22: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/22.jpg)
Graph Coloring
Distributed Computing through Combinatorial Topology
22
![Page 23: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/23.jpg)
Graph Coloring
Â: G ! C
Distributed Computing through Combinatorial Topology
23
![Page 24: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/24.jpg)
Graph Coloring
Â: G ! C for each edge (s0, s1) 2 G, Â(s0) ≠ Â(s1).
Distributed Computing through Combinatorial Topology
24
![Page 25: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/25.jpg)
Graph Coloring
Â: G ! C for each edge (s0, s1) 2 G, Â(s0) ≠ Â(s1).
usually process names chromatic graphs
Distributed Computing through Combinatorial Topology
25
![Page 26: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/26.jpg)
Graph Labeling
1 0
0
1
Distributed Computing through Combinatorial Topology
26
![Page 27: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/27.jpg)
Graph Labeling
1 0
0
1 f: G ! L
Distributed Computing through Combinatorial Topology
27
![Page 28: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/28.jpg)
Graph Labeling
1 0
0
1 f: G ! L usually values from some domain
Distributed Computing through Combinatorial Topology
28
![Page 29: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/29.jpg)
Labeled Chromatic Graph
0 1
1
0
name(s) = Â(s) view(s) = f(s)
Distributed Computing through Combinatorial Topology
29
![Page 30: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/30.jpg)
Simplicial Maps
Vertex-to-vertex map …
that also sends edges to edges.
Distributed Computing through Combinatorial Topology
30
![Page 31: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/31.jpg)
Rigid Simplicial Maps
A simplicial map can send an edge to a vertex …
Distributed Computing through Combinatorial Topology
31
![Page 32: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/32.jpg)
Rigid Simplicial Maps
A simplicial map can send an edge to a vertex …
A simplicial map that sends distinct vertices to distinct vertices is rigid.
Distributed Computing through Combinatorial Topology
32
![Page 33: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/33.jpg)
A Path Between two Vertices
Distributed Computing through Combinatorial Topology
33
![Page 34: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/34.jpg)
A Path Between two Vertices
A graph is connected if there is a path between every pair of vertices
Distributed Computing through Combinatorial Topology
34
![Page 35: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/35.jpg)
Not Connected
A graph is connected if there is a path between every pair of vertices
Distributed Computing through Combinatorial Topology
35
![Page 36: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/36.jpg)
Theorem
Distributed Computing through Combinatorial Topology
Theorem
Á
The image of a connected graph under a simplicial map is connected.
36
![Page 37: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/37.jpg)
Carrier Maps
Distributed Computing through Combinatorial Topology
©: G ! 2H
For graphs G, H, a carrier map
Carries each simplex of G to a subgraph of H …
©
satisfying monotonicity: for all ¾,¿2G, if ¾µ¿, then ©(¾)µ©(¿).
37
![Page 38: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/38.jpg)
Monotonicity
Strict Carrier Maps
Distributed Computing through Combinatorial Topology
For all ¾,¿2G, if ¾µ¿, then ©(¾)µ©(¿).
Equivalent to … ©(¾Å¿) µ ©(¾) Å ©(¿)
Definition © is strict if ©(¾Å¿) = ©(¾) Å ©(¿)
38
![Page 39: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/39.jpg)
Road Map Elementary Graph Theory
Tasks
Models of Computation
Approximate Agreement
Task Solvability Distributed Computing through
Combinatorial Topology 39
![Page 40: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/40.jpg)
Two Processes
Distributed Computing through Combinatorial Topology
Hello! I’m Alice
Hello! I’m Bob
40
![Page 41: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/41.jpg)
Informal Task Definition
Distributed Computing through Combinatorial Topology
Processes start with input values …
They communicate …
They halt with output values …
legal for those inputs.
41
![Page 42: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/42.jpg)
Formal Task Definition
Distributed Computing through Combinatorial Topology
Input graph I all possible assignments of input values
42
![Page 43: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/43.jpg)
Formal Task Definition
Distributed Computing through Combinatorial Topology
Input graph I all possible assignments of input values
Output graph O all possible assignments of output values
43
![Page 44: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/44.jpg)
Formal Task Definition
Distributed Computing through Combinatorial Topology
Input graph I all possible assignments of input values
Output graph O all possible assignments of output values
Carrier map ¢: I ! 2O
all possible assignments of output values for each input
44
![Page 45: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/45.jpg)
Task Input Graph: Consensus
Distributed Computing through Combinatorial Topology
1
1 0
0
I
45
![Page 46: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/46.jpg)
Task Input Graph
Distributed Computing through Combinatorial Topology
0 1
1 0
I
46
![Page 47: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/47.jpg)
Task Input Graph
Distributed Computing through Combinatorial Topology
1 1
0 0
Pure
Colored by process names
Labeled by input values
47
![Page 48: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/48.jpg)
Task Output Graph
Distributed Computing through Combinatorial Topology
1 1
0 0
O
48
![Page 49: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/49.jpg)
Task Carrier Map
Distributed Computing through Combinatorial Topology
1 1
0 0
1 1
0 0
¢: I ! 2O I O
49
![Page 50: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/50.jpg)
Task Carrier Map
Distributed Computing through Combinatorial Topology
1 1
0 0
1 1
0 0
¢: I ! 2O I O
If Bob runs alone with input 1 …
then he decides output 1. 50
![Page 51: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/51.jpg)
Task Carrier Map
Distributed Computing through Combinatorial Topology
1 1
0 0
1 1
0 0
¢: I ! 2O I O
If Bob and Alice both have input 1 …
then they both decide output 1. 51
![Page 52: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/52.jpg)
Task Carrier Map
Distributed Computing through Combinatorial Topology
1 1
0 0
1 1
0 0
¢: I ! 2O I O
If Bob has 1 and Alice 0 …
then they must agree, on either one. 52
![Page 53: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/53.jpg)
Example: Coordinated Attack
53
Alice and Bob win If they both attack
together
Alice Bob
Distributed Computing through Combinatorial Topology
Enemy
![Page 54: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/54.jpg)
Indifferent
Attack at dawn! Attack at noon!
Input Graph
Distributed Computing through Combinatorial Topology
I
54
![Page 55: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/55.jpg)
Output Graph
Distributed Computing through Combinatorial Topology
dawn! noon!
failed!
O
55
![Page 56: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/56.jpg)
Carrier Map
Distributed Computing through Combinatorial Topology
¢
I
O 56
![Page 57: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/57.jpg)
Carrier Map
Distributed Computing through Combinatorial Topology
¢
dawn! failed!
dawn! I
O 57
![Page 58: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/58.jpg)
Carrier Map
Distributed Computing through Combinatorial Topology
¢
noon! failed!
noon! I
O 58
![Page 59: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/59.jpg)
Carrier Map
Distributed Computing through Combinatorial Topology
¢
dawn!
dawn! I
O 59
![Page 60: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/60.jpg)
Example: Coordinated Attack
60
Alice Bob
Distributed Computing through Combinatorial Topology
Enemy
![Page 61: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/61.jpg)
Example: Coordinated Attack
61
Alice Bob
Distributed Computing through Combinatorial Topology
Enemy
Alice and Bob realize that they do not need to agree
on an exact time …
![Page 62: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/62.jpg)
Example: Coordinated Attack
62
Alice Bob
Distributed Computing through Combinatorial Topology
Enemy
Alice and Bob realize that they do not need to agree
on an exact time … they will win if attack times
are sufficiently close.
![Page 63: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/63.jpg)
0 1
0 1/5 2/5 3/5 4/5 1
Coordinated Attack Graphs
Distributed Computing through Combinatorial Topology
¢
I
O 63
![Page 64: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/64.jpg)
0 1
0 1/5 2/5 3/5 4/5 1
Coordinated Attack Graphs
Distributed Computing through Combinatorial Topology
¢
I
O 64
![Page 65: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/65.jpg)
0 1
0 1/5 2/5 3/5 4/5 1
Coordinated Attack Graphs
Distributed Computing through Combinatorial Topology
¢
I
O 65
![Page 66: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/66.jpg)
0 1
0 1/5 2/5 3/5 4/5 1
Coordinated Attack Graphs
Distributed Computing through Combinatorial Topology
¢
I
O 66
![Page 67: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/67.jpg)
Road Map Elementary Graph Theory
Tasks
Models of Computation
Approximate Agreement
Task Solvability Distributed Computing through
Combinatorial Topology 67
![Page 68: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/68.jpg)
Protocols
Distributed Computing through Combinatorial Topology
Models of Computation
68
![Page 69: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/69.jpg)
Alice’s Protocol
69
shared mem array 0..1 of Value view: Value := my input value; for i: int := 0 to L do mem[A] := view; view := view + mem[A] + mem[B]; return δ(view)
Finite program
Bob’s protocol is symmetric
Distributed Computing through Combinatorial Topology
![Page 70: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/70.jpg)
shared mem array 0..1 of Value view: Value := my input value; for i: int := 0 to L do mem[A] := view; view := view + mem[B]; return δ(view)
Alice’s Protocol
70 Distributed Computing through Combinatorial Topology
shared two-element memory
![Page 71: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/71.jpg)
shared mem array 0..1 of Value view: Value := my input value; for i: int := 0 to L do mem[A] := view; view := view + mem[B]; return δ(view)
Alice’s Protocol
71 Distributed Computing through Combinatorial Topology
Start with input value
![Page 72: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/72.jpg)
shared mem array 0..1 of Value view: Value := my input value; for i: int := 0 to L do mem[A] := view; view := view + mem[B]; return δ(view)
Alice’s Protocol
72 Distributed Computing through Combinatorial Topology
Run for L layers
![Page 73: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/73.jpg)
shared mem array 0..1 of Value view: Value := my input value; for i: int := 0 to L do mem[A] := view; view := view + mem[B]; return δ(view)
Alice’s Protocol
73 Distributed Computing through Combinatorial Topology
Alice writes her value, read Bob’s value, and concatenate it to my view
![Page 74: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/74.jpg)
shared mem array 0..1 of Value view: Value := my input value; for i: int := 0 to L do mem[A] := view; view := view + mem[B]; return δ(view)
Alice’s Protocol
74 Distributed Computing through Combinatorial Topology
Alice writes her value, read Bob’s value, and concatenate it to my view
![Page 75: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/75.jpg)
shared mem array 0..1 of Value view: Value := my input value; for i: int := 0 to L do mem[A] := view; view := view + mem[B]; return δ(view)
Alice’s Protocol
75 Distributed Computing through Combinatorial Topology
finally, apply task-specific decision map to view
![Page 76: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/76.jpg)
Formal Protocol Definition
Distributed Computing through Combinatorial Topology
Input graph I all possible assignments of input values
76
![Page 77: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/77.jpg)
Formal Protocol Definition
Distributed Computing through Combinatorial Topology
Input graph I all possible assignments of input values
Protocol graph P all possible process views after execution
77
![Page 78: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/78.jpg)
Formal Protocol Definition
Distributed Computing through Combinatorial Topology
Input graph I all possible assignments of input values
Protocol graph P all possible process views after execution
Carrier map ¥: I ! 2O
all possible assignments of views
78
![Page 79: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/79.jpg)
One-Round Protocol Graph
Distributed Computing through Combinatorial Topology
1 0
0? 01 01 ?1
¥
I
P 79
![Page 80: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/80.jpg)
One-Round Protocol Graph
Distributed Computing through Combinatorial Topology
0? 01 01 ?1
Colored by process names
Labeled with final views
P
80
![Page 81: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/81.jpg)
One-Round Protocol Graph
Distributed Computing through Combinatorial Topology
0? 01 01 ?1
Alice finishes before Bob starts, doesn’t see his value
P
81
![Page 82: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/82.jpg)
One-Round Protocol Graph
Distributed Computing through Combinatorial Topology
0? 01 01 ?1
Alice and Bob run together, she sees his value.
P
82
![Page 83: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/83.jpg)
One-Round Protocol Graph
Distributed Computing through Combinatorial Topology
0? 01 01 ?1
Alice finishes, then Bob starts
P
83
![Page 84: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/84.jpg)
One-Round Protocol Graph
Distributed Computing through Combinatorial Topology
0? 01 01 ?1
Alice and Bob run together
P
84
![Page 85: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/85.jpg)
One-Round Protocol Graph
Distributed Computing through Combinatorial Topology
0? 01 01 ?1
Bob can’t tell whether Alice saw him
P
85
![Page 86: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/86.jpg)
Execution Carrier Map
Distributed Computing through Combinatorial Topology
1 0
0? 01 01 ?1
¥
I
P 86
![Page 87: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/87.jpg)
Execution Carrier Map
Distributed Computing through Combinatorial Topology
1 0
0? 01 01 ?1
¥
I
P
¥: I ! 2P
strict carrier map ¥(¾) Å ¥(¿) = ¥(¾ Å ¿) 87
![Page 88: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/88.jpg)
Output graph 0 2/3 1/3 1
0? 01 01 ?1 Protocol graph
δ
The Decision Map
Distributed Computing through Combinatorial Topology
δ
88
![Page 89: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/89.jpg)
All Together
Distributed Computing through Combinatorial Topology
0 1
0 2/3 1/3 1
0? 01 01 ?1 ¢
δ
I
P
O
¥
89
![Page 90: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/90.jpg)
Definition
Distributed Computing through Combinatorial Topology
Decision map δ is carried by carrier map ¢ if
for each input vertex s,
for each input edge ¾,
δ(¥(s)) µ ¢(s)
δ(¥(¾)) µ ¢(¾).
90
![Page 91: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/91.jpg)
Definition
Solving a Task
Distributed Computing through Combinatorial Topology
The protocol (I,P,¥) solves the task (I, O, ¢)
91
![Page 92: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/92.jpg)
Definition
Solving a Task
Distributed Computing through Combinatorial Topology
The protocol (I,P,¥) solves the task (I, O, ¢)
if there is …
92
![Page 93: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/93.jpg)
Definition
Solving a Task
Distributed Computing through Combinatorial Topology
The protocol (I,P,¥) solves the task (I, O, ¢)
if there is …
a simplicial decision map δ:P ! O
93
![Page 94: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/94.jpg)
Definition
Solving a Task
Distributed Computing through Combinatorial Topology
The protocol (I,P,¥) solves the task (I, O, ¢)
if there is …
a simplicial decision map δ:P ! O
94
such that δ is carried by ¢. (δ agrees with ¢)
![Page 95: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/95.jpg)
Layered Read-Write Model
95
![Page 96: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/96.jpg)
Layered Read-Write Protocol
Distributed Computing through Combinatorial Topology
96
shared mem array 0..1,0..L of Value view: Value := my input value; for i: int := 0 to L do mem[i][A] := view; view := view + mem[A] + mem[B]; return δ(view)
![Page 97: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/97.jpg)
shared mem array 0..1,0..L of Value view: Value := my input value; for i: int := 0 to L do mem[i][A] := view; view := view + mem[A] + mem[B]; return δ(view)
As before, run for L layers
Layered Read-Write Protocol
Distributed Computing through Combinatorial Topology
97
![Page 98: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/98.jpg)
shared mem array 0..1,0..L of Value view: Value := my input value; for i: int := 0 to L do mem[i][A] := view; view := view + mem[A] + mem[B]; return δ(view)
Layered Read-Write Protocol
Distributed Computing through Combinatorial Topology
Each layer uses a distinct, “clean” memory
98
![Page 99: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/99.jpg)
Layered R-W Protocol Graph
Distributed Computing through Combinatorial Topology
1 0
0? 01 01 ?1
¥
I
P 99
![Page 100: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/100.jpg)
Layered R-W Protocol Graph
Distributed Computing through Combinatorial Topology
¥
P is always a subdivision of I
I P
100
![Page 101: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/101.jpg)
Road Map Elementary Graph Theory
Tasks
Models of Computation
Approximate Agreement
Task Solvability Distributed Computing through
Combinatorial Topology 101
![Page 102: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/102.jpg)
Alice’s 1/3-Agreement Protocol
Distributed Computing through Combinatorial Topology
mem[A] := 0 other := mem[B] if other == ? then decide 0 else decide 1/3
102
![Page 103: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/103.jpg)
Alice’s 1/3-Agreement Protocol
Distributed Computing through Combinatorial Topology
mem[A] := 0 if mem[B] == ? then decide 0 else decide 1/3
Alice writes her value to memory
103
![Page 104: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/104.jpg)
Alice’s 1/3-Agreement Protocol
Distributed Computing through Combinatorial Topology
mem[A] := 0 if mem[B] == ? then decide 0 else decide 1/3
If she doesn’t see Bob’s value, decide her own.
104
![Page 105: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/105.jpg)
Alice’s 1/3-Agreement Protocol
Distributed Computing through Combinatorial Topology
mem[A] := 0 if mem[B] == ? then decide 0 else decide 1/3
If she see’s Bob’s value, jump to the middle
105
![Page 106: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/106.jpg)
0 2/3 1/3 1
0 2/3 1/3 1
0 2/3 1/3 1
Distributed Computing through Combinatorial Topology
106
![Page 107: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/107.jpg)
One-Layer 1/3-Agreement Protocol
Distributed Computing through Combinatorial Topology
0 1
0 2/3 1/3 1
0? 01 01 ?1
δ
I
P
O
¥
107
![Page 108: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/108.jpg)
No 1-Layer 1/5-Agreement Protocol
Distributed Computing through Combinatorial Topology
0 1
1/5 3/5 2/5 4/5
0? 01 01 ?1
δ
P
O
¥
1 0
(no map possible)
I
108
![Page 109: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/109.jpg)
1 0
0 1/5 2/5 3/5 4/5 1
¥
0? 01 01 ?1
2-Layer 1/5-Agreement
Distributed Computing through Combinatorial Topology
¥
I
O
layer 1
layer 2
δ
109
![Page 110: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/110.jpg)
Fact
Distributed Computing through Combinatorial Topology
In the layered read-write model,
The 1/K-Agreement Task
Has a dlog3 Ke–layer protocol
110
![Page 111: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/111.jpg)
Road Map Elementary Graph Theory
Tasks
Models of Computation
Approximate Agreement
Task Solvability Distributed Computing through
Combinatorial Topology 111
![Page 112: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/112.jpg)
Fact
Distributed Computing through Combinatorial Topology
The protocol graph for any L-layer protocol with input graph I is a subdivision of I, where each edge is subdivided 3L times.
112
![Page 113: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/113.jpg)
Main Theorem
Distributed Computing through Combinatorial Topology
The two-process task (I, O, ¢) is solvable in the layered read-write model if and only if there exists a connected carrier map ©: I ! 2O carried by ¢.
113
![Page 114: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/114.jpg)
Corollary
Distributed Computing through Combinatorial Topology
The consensus task has no layered read-write protocol
114
![Page 115: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/115.jpg)
Corollary
Distributed Computing through Combinatorial Topology
Any ²–agreement task has a layered read-write protocol
115
![Page 116: Algebraic Topology and Distributed Computingcs.brown.edu/courses/cs2951s/Ch02.pdfTwo-Process Systems Two-process systems can be captured by elementary graph theory gentle introduction](https://reader036.vdocuments.us/reader036/viewer/2022070714/5ed6bde738e2c27beb27cacb/html5/thumbnails/116.jpg)
116
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
• You are free: – to Share — to copy, distribute and transmit the work – to Remix — to adapt the work
• Under the following conditions: – Attribution. You must attribute the work to “Distributed Computing through
Combinatorial Topology” (but not in any way that suggests that the authors endorse you or your use of the work).
– Share Alike. If you alter, transform, or build upon this work, you may distribute the resulting work only under the same, similar or a compatible license.
• For any reuse or distribution, you must make clear to others the license terms of this work. The best way to do this is with a link to
– http://creativecommons.org/licenses/by-sa/3.0/. • Any of the above conditions can be waived if you get permission from
the copyright holder. • Nothing in this license impairs or restricts the author's moral rights.
Distributed Computing through Combinatorial Topology