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