algebraic topology and distributed computingcs.brown.edu/courses/csci2951-s/ch02.pdfdistributed...

116
Two-Process Systems Companion slides for Distributed Computing Through Combinatorial Topology Maurice Herlihy & Dmitry Kozlov & Sergio Rajsbaum Distributed Computing through Combinatorial Topology

Upload: others

Post on 06-Jun-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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

Presenter
Presentation Notes
It is remarkable that to obtain the characterization of two-process task solvability, we need only a few notions from graph theory, namely, maps between graphs and connectivity.
Page 3: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

A Vertex

Distributed Computing through Combinatorial Topology

5

Presenter
Presentation Notes
From a purely combinatorial point of view, a vertex is just an element from some domain. It is often convenient to visualize a vertex as a point in some Euclidean space.
Page 6: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

A Vertex Combinatorial: an element of a set.

Distributed Computing through Combinatorial Topology

6

Presenter
Presentation Notes
From a purely combinatorial point of view, a vertex is just an element from some domain. It is often convenient to visualize a vertex as a point in some Euclidean space.
Page 7: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

A Vertex Combinatorial: an element of a set.

Geometric: a point in Euclidean Space

Distributed Computing through Combinatorial Topology

7

Presenter
Presentation Notes
From a purely combinatorial point of view, a vertex is just an element from some domain. It is often convenient to visualize a vertex as a point in some Euclidean space.
Page 8: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

An Edge

8

Presenter
Presentation Notes
A pair of vertices can be linked by an edge. An edge is just a set of two vertices.
Page 9: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

An Edge Combinatorial: a set of two vertexes.

9

Presenter
Presentation Notes
A pair of vertices can be linked by an edge. An edge is just a set of two vertices.
Page 10: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

An Edge Combinatorial: a set of two vertexes.

Geometric: line segment joining two points

10

Presenter
Presentation Notes
A pair of vertices can be linked by an edge. An edge is just a set of two vertices.
Page 11: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

A Graph

Distributed Computing through Combinatorial Topology

11

Presenter
Presentation Notes
Informally, a graph is a set of vertices with some pairs linked by edges. This definition is standard.
Page 12: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

A Graph Combinatorial: a set of sets of vertices.

Distributed Computing through Combinatorial Topology

12

Presenter
Presentation Notes
Informally, a graph is a set of vertices with some pairs linked by edges. This definition is standard.
Page 13: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

A Graph Combinatorial: a set of sets of vertices.

Geometric: points joined by line segments

Distributed Computing through Combinatorial Topology

13

Presenter
Presentation Notes
Informally, a graph is a set of vertices with some pairs linked by edges. This definition is standard.
Page 14: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

Graphs

finite set V with a collection G of subsets of V,

Distributed Computing through Combinatorial Topology

14

Presenter
Presentation Notes
Formally, a graph is given by a set V of vertices, and a collection of subsets of vertices, satisfying certain properties.
Page 15: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

Graphs

simplices (singular: simplex)

finite set V with a collection G of subsets of V,

vertices

Distributed Computing through Combinatorial Topology

15

Presenter
Presentation Notes
The set V is called the set of vertices, and the subsets are called simplices, sing: simplex.
Page 16: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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

Presenter
Presentation Notes
A graph is a set of sets of vertices, satisfying [animation]
Page 17: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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

Presenter
Presentation Notes
A graph is a set of sets of vertices, satisfying [animation]
Page 18: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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

Presenter
Presentation Notes
The singleton set containing each vertex is in the graph. Usually we will be casual about the distinction between a vertex and its singleton set.
Page 19: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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

Presenter
Presentation Notes
Graphs are closed under inclusion. If X is a simplex in \cG, and Y is a subset of X, then X is also in \cG. For graphs, this just says that if an edge is in the graph, so are its two vertices.
Page 20: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

Dimension

dim(X) = |X|-1.

dimension 0

dimension 1

Distributed Computing through Combinatorial Topology

20

Presenter
Presentation Notes
A vertex has dimension zero, an edge has dimension one. The dimension of a simplex is one less than its cardinality. We will revisit this later when we introduce simplices of higher dimension.
Page 21: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

Pure Graphs

pure of dim 0

pure of dim 1

Distributed Computing through Combinatorial Topology

21

Presenter
Presentation Notes
A graph is pure if either no vertex is in an edge, or they all are. The first is pure of dimension 0, and the second is pure of dimension 1.
Page 22: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

Graph Coloring

Distributed Computing through Combinatorial Topology

22

Presenter
Presentation Notes
Assume $C$ is a~set. A \emph{coloring} of a graph $\cG$ is a~function $\chi:~V(\cG)~\rightarrow C$, such that for each edge $\set{s_0,s_1}$ of $\cG$, $\chi(s_0) \neq \chi(s_1)$. We say that a graph is \emph{chromatic}, or that it is \emph{colored by $C$}, if it is equipped with a~coloring $\chi:V(\cG)\rightarrow C$. Often we will color vertices with just two colors: $C=\set{A,B}$, where $A$ and $B$ are the names of the two processes.
Page 23: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

Graph Coloring

Â: G ! C

Distributed Computing through Combinatorial Topology

23

Presenter
Presentation Notes
Assume $C$ is a~set. A \emph{coloring} of a graph $\cG$ is a~function $\chi:~V(\cG)~\rightarrow C$, such that for each edge $\set{s_0,s_1}$ of $\cG$, $\chi(s_0) \neq \chi(s_1)$. We say that a graph is \emph{chromatic}, or that it is \emph{colored by $C$}, if it is equipped with a~coloring $\chi:V(\cG)\rightarrow C$. Often we will color vertices with just two colors: $C=\set{A,B}$, where $A$ and $B$ are the names of the two processes.
Page 24: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

Graph Coloring

Â: G ! C for each edge (s0, s1) 2 G, Â(s0) ≠ Â(s1).

Distributed Computing through Combinatorial Topology

24

Presenter
Presentation Notes
Assume $C$ is a~set. A \emph{coloring} of a graph $\cG$ is a~function $\chi:~V(\cG)~\rightarrow C$, such that for each edge $\set{s_0,s_1}$ of $\cG$, $\chi(s_0) \neq \chi(s_1)$. We say that a graph is \emph{chromatic}, or that it is \emph{colored by $C$}, if it is equipped with a~coloring $\chi:V(\cG)\rightarrow C$. Often we will color vertices with just two colors: $C=\set{A,B}$, where $A$ and $B$ are the names of the two processes.
Page 25: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

Graph Coloring

Â: G ! C for each edge (s0, s1) 2 G, Â(s0) ≠ Â(s1).

usually process names chromatic graphs

Distributed Computing through Combinatorial Topology

25

Presenter
Presentation Notes
Assume $C$ is a~set. A \emph{coloring} of a graph $\cG$ is a~function $\chi:~V(\cG)~\rightarrow C$, such that for each edge $\set{s_0,s_1}$ of $\cG$, $\chi(s_0) \neq \chi(s_1)$. We say that a graph is \emph{chromatic}, or that it is \emph{colored by $C$}, if it is equipped with a~coloring $\chi:V(\cG)\rightarrow C$. Often we will color vertices with just two colors: $C=\set{A,B}$, where $A$ and $B$ are the names of the two processes.
Page 26: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

Graph Labeling

1 0

0

1

Distributed Computing through Combinatorial Topology

26

Presenter
Presentation Notes
More generally, given a set $L$, an \emph{$L$-labeling} of $\cG$ is defined as a function $f$ that assigns to each vertex an element of $L$, without any further conditions imposed by the existence of edges. We say the graph is \emph{labeled} by~$L$. A coloring is a labeling, but not vice-versa.
Page 27: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

Graph Labeling

1 0

0

1 f: G ! L

Distributed Computing through Combinatorial Topology

27

Presenter
Presentation Notes
More generally, given a set $L$, an \emph{$L$-labeling} of $\cG$ is defined as a function $f$ that assigns to each vertex an element of $L$, without any further conditions imposed by the existence of edges. We say the graph is \emph{labeled} by~$L$. A coloring is a labeling, but not vice-versa.
Page 28: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

Graph Labeling

1 0

0

1 f: G ! L usually values from some domain

Distributed Computing through Combinatorial Topology

28

Presenter
Presentation Notes
More generally, given a set $L$, an \emph{$L$-labeling} of $\cG$ is defined as a function $f$ that assigns to each vertex an element of $L$, without any further conditions imposed by the existence of edges. We say the graph is \emph{labeled} by~$L$. A coloring is a labeling, but not vice-versa.
Page 29: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

Labeled Chromatic Graph

0 1

1

0

name(s) = Â(s) view(s) = f(s)

Distributed Computing through Combinatorial Topology

29

Presenter
Presentation Notes
For distributed computing, if $s$ is a vertex in a labeled chromatic graph, we denote by $\name(s)$ the value $\chi(s)$, and by $\view(s)$ the value $f(s)$. Moreover, we assume that each vertex in a labeled chromatic graph is uniquely identified by its values of $\name(\cdot)$ and $\view(\cdot)$.
Page 30: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

Simplicial Maps

Vertex-to-vertex map …

that also sends edges to edges.

Distributed Computing through Combinatorial Topology

30

Presenter
Presentation Notes
Given two graphs $\cG$ and $\cH$, a \emph{vertex map} $\mu:~V(\cG)~\rightarrow~V(\cH)$ carries each vertex of $\cG$ to a vertex of $\cH$. However, for the map to preserve structure, it must also carry edges to edges. The vertex map $\mu$ is a \emph{simplicial map} if it also carries simplices to simplices: that is, if $\set{\vs_0,\vs_1}$ is a simplex in $\cG$, then $\set{\mu(\vs_0),\mu(\vs_1)}$ is a simplex of $\cH$. Notice that $\mu(\vs_0)$ and $\mu(\vs_1)$ need not be distinct: the image of an edge may be a vertex.
Page 31: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

Rigid Simplicial Maps

A simplicial map can send an edge to a vertex …

Distributed Computing through Combinatorial Topology

31

Presenter
Presentation Notes
Notice that $\mu(\vs_0)$ and $\mu(\vs_1)$ need not be distinct: the image of an edge may be a vertex. If, for $\vs_0 \neq \vs_i$, $\mu(\vs_0) \neq \mu(\vs_1)$, then the map is said to be \emph{rigid}. In the terminology of graph theory, a~rigid simplicial map is called a~\emph{graph homomorphism}.
Page 32: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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

Presenter
Presentation Notes
Notice that $\mu(\vs_0)$ and $\mu(\vs_1)$ need not be distinct: the image of an edge may be a vertex. If, for $\vs_0 \neq \vs_i$, $\mu(\vs_0) \neq \mu(\vs_1)$, then the map is said to be \emph{rigid}. In the terminology of graph theory, a~rigid simplicial map is called a~\emph{graph homomorphism}.
Page 33: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

A Path Between two Vertices

Distributed Computing through Combinatorial Topology

33

Page 34: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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

Presenter
Presentation Notes
A graph is connected if there is a path between every pair of vertices.
Page 35: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

Not Connected

A graph is connected if there is a path between every pair of vertices

Distributed Computing through Combinatorial Topology

35

Presenter
Presentation Notes
Here is an example of a graph that is not connected.
Page 36: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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

Presenter
Presentation Notes
While a simplicial map carries simplices to simplices, it is also useful in the context of distributed computing to define maps that carry simplices to subgraphs.
Page 38: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

Task Input Graph: Consensus

Distributed Computing through Combinatorial Topology

1

1 0

0

I

45

Presenter
Presentation Notes
$\cI$ is a pure chromatic \emph{input graph} of dimension~$1$ colored by $\set{A,B}$ and labeled by $\Vin$;
Page 46: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

Task Input Graph

Distributed Computing through Combinatorial Topology

0 1

1 0

I

46

Presenter
Presentation Notes
$\cI$ is a pure chromatic \emph{input graph} of dimension~$1$ colored by $\set{A,B}$ and labeled by $\Vin$;
Page 47: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

Task Input Graph

Distributed Computing through Combinatorial Topology

1 1

0 0

Pure

Colored by process names

Labeled by input values

47

Presenter
Presentation Notes
$\cI$ is a pure chromatic \emph{input graph} of dimension~$1$ colored by $\set{A,B}$ and labeled by $\Vin$;
Page 48: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

Task Output Graph

Distributed Computing through Combinatorial Topology

1 1

0 0

O

48

Presenter
Presentation Notes
$\cO$ is a pure chromatic \emph{output graph} of dimension~$1$ colored by $\set{A,B}$ and labeled by $\Vout$;
Page 49: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

Indifferent

Attack at dawn! Attack at noon!

Input Graph

Distributed Computing through Combinatorial Topology

I

54

Presenter
Presentation Notes
Here is how to consider this problem using the combinatorial approach, encompassing all possible scenarios in a single geometric object, a graph. Alice has two possible initial states: she intends to attack either at dawn, or at noon the next day. Each such state is a black vertex. Bob has only one possible initial state: he await's Alice's order. This state is the white vertex linking the two edges, representing Bob's uncertainty whether he is in a world where Alice intends to attack at dawn, on the left, or in a world where she intends to attack at noon, on the right.
Page 55: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

Output Graph

Distributed Computing through Combinatorial Topology

dawn! noon!

failed!

O

55

Page 56: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

Carrier Map

Distributed Computing through Combinatorial Topology

¢

I

O 56

Page 57: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

Carrier Map

Distributed Computing through Combinatorial Topology

¢

dawn! failed!

dawn! I

O 57

Page 58: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

Carrier Map

Distributed Computing through Combinatorial Topology

¢

noon! failed!

noon! I

O 58

Page 59: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

Carrier Map

Distributed Computing through Combinatorial Topology

¢

dawn!

dawn! I

O 59

Page 60: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

Example: Coordinated Attack

60

Alice Bob

Distributed Computing through Combinatorial Topology

Enemy

Page 61: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

0 1

0 1/5 2/5 3/5 4/5 1

Coordinated Attack Graphs

Distributed Computing through Combinatorial Topology

¢

I

O 63

Presenter
Presentation Notes
If they both run, then any edge in the output graph is acceptable.
Page 64: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

0 1

0 1/5 2/5 3/5 4/5 1

Coordinated Attack Graphs

Distributed Computing through Combinatorial Topology

¢

I

O 64

Presenter
Presentation Notes
If they both run, then any edge in the output graph is acceptable.
Page 65: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

0 1

0 1/5 2/5 3/5 4/5 1

Coordinated Attack Graphs

Distributed Computing through Combinatorial Topology

¢

I

O 65

Presenter
Presentation Notes
If they both run, then any edge in the output graph is acceptable.
Page 66: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

0 1

0 1/5 2/5 3/5 4/5 1

Coordinated Attack Graphs

Distributed Computing through Combinatorial Topology

¢

I

O 66

Presenter
Presentation Notes
If they both run, then any edge in the output graph is acceptable.
Page 67: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

Protocols

Distributed Computing through Combinatorial Topology

Models of Computation

68

Presenter
Presentation Notes
Now consider a protocol execution in which the processes exchange information through the channels (message-passing, read-write memory, or other) provided by the model. At the end of the execution, each process has its own view (final state). The set of all possible final views themselves form a chromatic graph. Each vertex is a pair $(P,p)$, where $P$ is a process name, and $p$ is $P$'s view (final state) at the end of some execution. A pair of such vertices $\set{(A,a),(B,b)}$ is an edge if there is some execution where $A$ halts with view $a$ and $B$ halts with view $b$. This graph is called the \emph{protocol graph}.
Page 69: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

One-Round Protocol Graph

Distributed Computing through Combinatorial Topology

1 0

0? 01 01 ?1

¥

I

P 79

Presenter
Presentation Notes
Here is the one-round protocol graph for two processes, where each process writes to memory, reads the other’s value, and then halts. Let’s take a closer look at the protocol graph.
Page 80: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

One-Round Protocol Graph

Distributed Computing through Combinatorial Topology

0? 01 01 ?1

Colored by process names

Labeled with final views

P

80

Presenter
Presentation Notes
Here is the one-round protocol graph for two processes, where each process writes to memory, reads the other’s value, and then halts. Let’s take a closer look at the protocol graph.
Page 81: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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

Presenter
Presentation Notes
Each vertex represents a view. Alice has two possible views. Of course, in a longer execution, she would have many more views.
Page 82: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

One-Round Protocol Graph

Distributed Computing through Combinatorial Topology

0? 01 01 ?1

Alice and Bob run together, she sees his value.

P

82

Presenter
Presentation Notes
Each vertex represents a view. Alice has two possible views. Of course, in a longer execution, she would have many more views.
Page 83: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

One-Round Protocol Graph

Distributed Computing through Combinatorial Topology

0? 01 01 ?1

Alice finishes, then Bob starts

P

83

Presenter
Presentation Notes
Each edge represents an execution. A vertex on the boundary of two edges is a view that can’t distinguish which execution actually happened.
Page 84: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

One-Round Protocol Graph

Distributed Computing through Combinatorial Topology

0? 01 01 ?1

Alice and Bob run together

P

84

Presenter
Presentation Notes
Each edge represents an execution. A vertex on the boundary of two edges is a view that can’t distinguish which execution actually happened.
Page 85: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

One-Round Protocol Graph

Distributed Computing through Combinatorial Topology

0? 01 01 ?1

Bob can’t tell whether Alice saw him

P

85

Presenter
Presentation Notes
Here is the one-round protocol graph for two processes, where each process writes to memory, reads the other’s value, and then halts. Let’s take a closer look at the protocol graph.
Page 86: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

Execution Carrier Map

Distributed Computing through Combinatorial Topology

1 0

0? 01 01 ?1

¥

I

P 86

Presenter
Presentation Notes
Here is the one-round protocol graph for two processes, where each process writes to memory, reads the other’s value, and then halts. Let’s take a closer look at the protocol graph.
Page 87: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

Execution Carrier Map

Distributed Computing through Combinatorial Topology

1 0

0? 01 01 ?1

¥

I

P

¥: I ! 2P

strict carrier map ¥(¾) Å ¥(¿) = ¥(¾ Å ¿) 87

Presenter
Presentation Notes
There is a strict carrier map $\Xi$ from $\cI$ to $\cP$, called the \emph{execution carrier map}, that carries each input simplex to a subgraph of the protocol graph. $\Xi$ carries each input vertex $(P,v)$ to the solo execution in which $P$ finishes the protocol without hearing from the other process. It carries each input edge $\set{(A,a),(B,b)}$ to the subgraph of executions where $A$ starts with input $a$ and $B$ with $b$.
Page 88: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

Output graph 0 2/3 1/3 1

0? 01 01 ?1 Protocol graph

δ

The Decision Map

Distributed Computing through Combinatorial Topology

δ

88

Presenter
Presentation Notes
The protocol graph is related to the output graph by a \emph{decision map} $\delta$ that sends each protocol graph vertex $(P,p)$ to an output graph vertex $(P,w)$, labeled with the same name. Operationally, this map should be understood as follows: if there is a protocol execution in which $P$ finishes with view $p$ and then chooses output $w$, then $(P,p)$ is a vertex in the protocol graph, $(P,w)$ a vertex in the output graph, and $\delta((P,p)) = (P,w)$. It is easy to see that $\delta$ is a simplicial map, carrying edges to edges, because any pair of mutually compatible final views yields a pair of mutually compatible decision values.
Page 89: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

All Together

Distributed Computing through Combinatorial Topology

0 1

0 2/3 1/3 1

0? 01 01 ?1 ¢

δ

I

P

O

¥

89

Presenter
Presentation Notes
Here is how the various graphs and maps fit together.
Page 90: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

Layered Read-Write Model

95

Page 96: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

Layered R-W Protocol Graph

Distributed Computing through Combinatorial Topology

1 0

0? 01 01 ?1

¥

I

P 99

Presenter
Presentation Notes
As we have already seen, the one-round layered read-write protocol for a single input simplex is a subdivision of that simplex.
Page 100: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

Layered R-W Protocol Graph

Distributed Computing through Combinatorial Topology

¥

P is always a subdivision of I

I P

100

Presenter
Presentation Notes
twoGenerals-protocolGraph-carrier
Page 101: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

0 2/3 1/3 1

0 2/3 1/3 1

0 2/3 1/3 1

Distributed Computing through Combinatorial Topology

106

Presenter
Presentation Notes
Here is why this works: one process must see the other, and jump to the middle. If each one sees the other, and jumps, they are still within 1/3 of one anpther.
Page 107: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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

Presenter
Presentation Notes
Here is how the various graphs and maps fit together.
Page 108: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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

Presenter
Presentation Notes
5approx.pdf
Page 110: Algebraic Topology and Distributed Computingcs.brown.edu/courses/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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/csci2951-s/Ch02.pdfDistributed Computing through Combinatorial Topology 22 . ... Distributed Computing through Combinatorial

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