Download presentation
Presentation is loading. Please wait.
1
Task Solvability in Different Models
Companion slides for Distributed Computing Through Combinatorial Topology Maurice Herlihy & Dmitry Kozlov & Sergio Rajsbaum Distributed Computing though Combinatorial Topology TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAA 1
2
Carrier Maps and Shellable Complexes
Road Map Shellability Examples Pseudospheres Carrier Maps and Shellable Complexes Applications
3
Carrier Maps and Shellable Complexes
Road Map Shellability Examples Pseudospheres Carrier Maps and Shellable Complexes Applications
4
Shellable Complexes
5
C is shellable if its facets can be arranged in a linear shelling order Á0, …, Ák …
Á1 … Ák-1 Ák … Át 12-Jan-19
6
C is shellable if its facets can be arranged in a linear shelling order Á0, …, Ák …
Á1 … Ák-1 Ák … Át 12-Jan-19
7
C is shellable if its facets can be arranged in a linear shelling order Á0, …, Ák …
Á1 … Ák-1 Ák … Át For 0 · k · t, … 12-Jan-19
8
C is shellable if its facets can be arranged in a linear shelling order Á0, …, Ák …
( Á0 [ Á1 [ … [ Ák-1 ) Ák … Át … For 0 · k · t, … 12-Jan-19
9
C is shellable if its facets can be arranged in a linear shelling order Á0, …, Ák …
( Á0 [ Á1 [ … [ Ák-1 ) \ Ák … Át … For 0 < k · t, … 12-Jan-19
10
Equals union of (dim Ák -1)-faces of Ák
C is shellable if its facets can be arranged in a linear shelling order Á0, …, Ák … … … ( Á0 [ Á1 [ … [ Ák-1 ) \ Ák … Át … For 0 < k · t, … Equals union of (dim Ák -1)-faces of Ák 12-Jan-19
11
Is union of (dim Ák - 1)-faces of Ák.
Shellable Complexes C is shellable if its facets can be arranged in a linear shelling order … Á0, …, Át, so that for 0 < k · t … Is union of (dim Ák - 1)-faces of Ák. 12-Jan-19
12
Topological Aside Spanning simplex 12-Jan-19
13
Topological Aside Contract to sphere Contract to point 12-Jan-19
14
Topological Aside Shellable complex is homotopic to wedge of spheres, one per spanning simplex 12-Jan-19
15
Fact If C is shellable … and each facet has dim ¸ k …
then C is (k-1)-connected. Yet another way to prove connectivity 12-Jan-19
16
Alternative Formulation
K has facets Á0, …, Át, Á0 … … … … Át 12-Jan-19
17
Alternative Formulation
K has facets Á0, …, Át, Á0 … … … … Át … Ái Ák Áj In the picture, k > i, but it could be < i. 8 j, 0 < j · t … 8 i < j… 9 k, 0 · k < j … 12-Jan-19
18
K is shellable if and only if Ák is …
Á0 … … … … Át … Ái Ák Áj In the picture, k > i, but it could be < i. Absorbing: Ái Å Áj µ Ák Å Áj Maximal: |ÁjnÁk| = 1 12-Jan-19
19
Carrier Maps and Shellable Complexes
Road Map Shellability Examples Pseudospheres Carrier Maps and Shellable Complexes Applications
20
Sphere
21
Spheres are Shellable Attach along 1 edge Attach along 2 edges
Spanning simplex
22
Not Shellable 12-Jan-19
23
Face Ordering Let ¾ = {s0, …, sn} Let ¿ µ ¾ 12-Jan-19
24
Bit Map Representation
¾ = 0000 0 means present ¿ = 0001 12-Jan-19
25
Face Ordering < 0000 < 0001 < 0001 < 0100 12-Jan-19
26
If ¾ is an n-simplex, then skelk(¾) is shellable
Theorem If ¾ is an n-simplex, then skelk(¾) is shellable Proof Show the face order is a shelling order … 12-Jan-19
27
Áj = 011100… Ái = 001110… Let Ái < Áj be two k-faces of ¾.
sm 2 ÁinÁj (because dim Ái = dim Áj ) Áj = … Construct Ák by swapping Vertexes into Áj Ái = … sl 2 ÁjnÁi (because Ái < Áj ) Where l < m … 12-Jan-19
28
Check shellability conditions:
Áj = … Ák < Áj Ák = … First difference 12-Jan-19
29
Áj = 011100… Ák = 001110… Check shellability conditions:
Maximal:|ÁjnÁk| = 1 Áj = … Ák = … Only vertex in Áj but not in Ák 12-Jan-19
30
Check shellability conditions:
Absorbing: Ái Å Áj µ Ák Å Áj Áj = … Only vertex in Áj but not in Ák also not in Ái Ák = … Ái = … QED 12-Jan-19
31
Carrier Maps and Shellable Complexes
Road Map Shellability Examples Pseudospheres Carrier Maps and Shellable Complexes Applications
32
Independently assigning {0,1} to n+1 processes yields an n-sphere
Spheres 1 Independently assigning {0,1} to n+1 processes yields an n-sphere 12-Jan-19
33
Assigning {0,1, 2} to n+1 processes?
1 1 2 12-Jan-19 very like a sphere …
34
Pseudosphere Complex Set of n+1 process names Sequence of n+1 sets
Let’s review pseudospheres. Set of n+1 process names Sequence of n+1 sets 12-Jan-19
35
Pseudosphere Complex Element from Vi Vertexes: ( Pi, v )
Process name from U 12-Jan-19
36
Distinct process names from U
Pseudosphere Complex Elements from Vi Vertex: ( Pi, s ) Simplex: {h Pi0, v0 i , …, h Pik, vk i } Distinct process names from U 12-Jan-19
37
Shelling Order for Pseudospheres
total order < on elements of [i Vi Induces shelling order … 12-Jan-19
38
Shelling Order on Facets
Facet Á0 = {hP0, v0i , …, hPn, vni} Á0 = v0v1…vn Á1 = v0u1…un If u1 < v1 then Á1 < Á0 12-Jan-19
39
Let Ái < Áj be facets of ª(U, V0, … Vn).
Áj = v0v1v2… Ái = v0u1u2… u1 < v1 (because Ái < Áj ) 12-Jan-19
40
QED Ák < Áj Áj = v0v1v2… Ák := v0u1v2… Ái = v0u1u2…
Let Ái < Áj be facets of ª(U, V0, … Vn). Áj = v0v1v2… Ák := v0u1v2… Ái = v0u1u2… Check shellability conditions: u1 < v1 Ák < Áj QED (shellability) Maximal:|Áj n Ák| = 1 Absorbing: Ái Å Áj µ Ák Å Áj 12-Jan-19
41
Singleton Sets ) Single Simplex
ª(U,{v0}, …, {vm}) {v0, …, vm} 12-Jan-19
42
ª(U \ {Pj}, V0, …, Vj-1, Vj+1, …, Vm)
Simplification Rule ª(U,V0, …, Vj-1, ;, Vj+1, …, Vm) = ª(U \ {Pj}, V0, …, Vj-1, Vj+1, …, Vm) Discard owner Discard empty simplex 12-Jan-19
43
Example ª({P, Q, R}, V0, ;, V2) ª({P, R}, V0, V2) 12-Jan-19
44
Intersections of Pseudospheres
ª(U,V0, …, Vm) Å ª(U, W0, …, Wm Simplex: {h P0, v0 i , …, h Pk, vk i } from Vi from Wi from Vi Å Wi 12-Jan-19
45
Intersections of Pseudospheres
ª(U,V0, …, Vm) Å ª(U, W0, …, Wm) ª(U,V0ÅW0, …, VmÅWm) 12-Jan-19
46
Carrier Maps and Shellable Complexes
Road Map Shellability Examples Pseudospheres Carrier Maps and Shellable Complexes Applications
47
Terminology Review An n-complex K is pure if all facets have dimension n. An m-simplex ¾ has codimension n-m in K 12-Jan-19
48
Nerve Lemma Review Let {Ki | i 2 I} be a cover for K
For J ½ I, let KJ = j 2 J Kj If each KJ is (k-|J|+1)-connected or empty … then K is k-connected … iff nerve N(Ki | i 2 I) is also k-connected 12-Jan-19
49
Nerve Lemma Special Case
Let K, L be complexes …. K is k-connected, L is k-connected, and K Å L is (k-1)-connected, then K [ L is k-connected, 12-Jan-19
50
Definition Let K, L be simplicial complexes, such that K is pure
a carrier map ©: K 2 L is a q-connected carrier map if © is rigid and strict, and 8 ¾ 2 K, ©(¾) is (q - codim ¾)-connected 12-Jan-19
51
©(¾) is (q-1)-connected
for n-simplexes ¾ 2 K, ©(¾) is q-connected for (n-1)-simplexes ¾ 2 K, ©(¾) is (q-1)-connected for (n-q)-simplexes ¾ 2 K, ©(¾) is 0-connected for (n-q-1)-simplexes ¾ 2 K, ©(¾) is non-empty
52
©: K ! 2L a q-connected carrier map …
Theorem If K is a pure shellable n-complex … ©: K ! 2L a q-connected carrier map … then ©(K) is q-connected.. 12-Jan-19
53
©(Á0) is (k –1)-connected by hypothesis
Proof Let K = [i=0tÁi, where Á0, …, Át is a shelling order Argue by induction on t Base: t = 0 ©(Á0) is (k –1)-connected by hypothesis 12-Jan-19
54
L = [i=0t-1 ©(Ái) = ©([i=0t-1 Á i)
Induction Step K = L [ M where … L = [i=0t-1 ©(Ái) = ©([i=0t-1 Á i) M = ©(Át) q-connected enough to show: K = L Å M is (q-1)-connected 12-Jan-19
55
L Å M = © ([i=0t-1 Ái) Å ©(Át)
by strictness L Å M = ©(Át Å [i=0t-1 Ái) L Å M = ©([i=0t-1 (Ái Å Át)) 12-Jan-19
56
Ái Å Át ½ Áj Å Át … L Å M = ©([i=0t-1 (Ái Å Át))
by shellability, for all Ái, there is a Áj such that Ái Å Át ½ Áj Å Át … and Ãi = Áj Å Át is a face of Át of codim 1 12-Jan-19
57
ÃJ face of Át of codim |J|
L Å M = [ i 2 I ©(Ãi) Ãi face of Át of codim 1 I is some index set For any J µ I define ÃJ = Åi2J Ãi ÃJ face of Át of codim |J| 12-Jan-19
58
each ÃJ is a face of Át of codim |J| so …
each ©(ÃJ ) is (q-1-|J|+1)-connected the {©(Ãi) | i 2 I} form a cover for K Å L so K Å L is (q-1)-connected iff the nerve complex N(©(Ái | i2J)) is (q-1)-connected 12-Jan-19
59
Ãj Át Ãi Ãij Observation If |J| · q+1, ÃJ has codim · q
If |J| · q+1, ©(ÃJ) is non-empty 12-Jan-19
60
There are |I| vertices {Á i | i 2 I}
The Nerve! There are |I| vertices {Á i | i 2 I} If |J| · q+1, ©(ÃJ) is non-empty Every set of · q+1 vertices is a simplex the nerve is the q-skeleton of an |I|-simplex which is (q-1)-connected, 12-Jan-19
61
so K Å L is (q-1)-connected iff
the nerve N(©(Ái | i2J)) is (q-1)-connected if |J| · q+1, ©(ÃJ) is non-empty so any set of q+1 nerve vertices … forms a nerve simplex, so … the nerve is the q-skeleton of an |I|-simplex which is (q-1)-connected, QED 12-Jan-19
62
Definition a carrier map ©: K 2 L is a shellable carrier map if
© is rigid and strict, and 8 ¾ 2 K, ©(¾) is shellable a shellable carrier map is an (n-1)-connected carrier map but not vice-versa 12-Jan-19
63
K0 ! K1 !K 2 Theorem ©0 ©1 Where … ©0 is a shellable carrier map …
©1 is a q-connected carrier map Then … ©0 ©1 is a q-connected carrier map 12-Jan-19
64
©1: ©0(¾) ! 2K1 a Apply earlier theorem
for ¾ 2 K0, ©0(¾) is a pure shellable n-complex … ©1: ©0(¾) ! 2K1 a (q - codim ¾)-connected carrier map … so ©1©0(¾) is q-connected.. 12-Jan-19
65
K0 ! K1 ! … !Kl+1 Inductive version of Theorem ©0 ©1 ©l Where …
©0 … Ál-1 shellable carrier maps … ©l is a q-connected carrier map Then … ©0 ©1 … ©l is a q-connected carrier map 12-Jan-19
66
The protocol complex is (n-1)-connected
Main Theorem given protocol (I, P, ¥) Where … I is shellable ¥ can be decomposed into … a sequence of layers ©0, …, © … where each ©i is a shellable carrier map … Then … The protocol complex is (n-1)-connected 12-Jan-19
67
Asynchronous Message-Passing
12-Jan-19
68
Adversary Delivers messages in FIFO order Fails no processes
On each layer, delivers all pending messages or none 12-Jan-19
69
Protocol !!! State[0] := input vertex On layer r: Broadcast state[r-1]
Wait for layer-r messages from survivor set In each layer, each process sends its state to every other process, waits until it has received messages sent in that layer from a survivor set, and undergoes a state transition. State[r]:= messages received 12-Jan-19
70
Protocol !!! Messages may not be delivered in the same layer…
State[0 ] := input vertex On layer r: But delivery is FIFO Broadcast state[r-1] OK to ignore late messages Wait for layer-r messages from survivor set In each layer, each process sends its state to every other process, waits until it has received messages sent in that layer from a survivor set, and undergoes a state transition. State[r]:= messages received 12-Jan-19
71
Layer Map ©a(¾) = ª(¾, {¿ µ ¾ | survivor set µ ¿})
Messages from a subset … ©a(¾) = ª(¾, {¿ µ ¾ | survivor set µ ¿}) containing a survivor set Each process receives … 12-Jan-19
72
©a(¾) is shellable Theorem For any input simplex ¾,
of dimension at least c - codim ¾ – 1. Proof If codim ¾ < c, then ©a(¾) is a (dim ¾)-pseudosphere, which is shellable if codim ¾ < c. Must check that dim ¾ ¸ c - codim ¾ - 1 12-Jan-19
73
Proof … Must check that … 12-Jan-19
74
Proof … Must check that … 12-Jan-19
75
Proof … Must check that … 12-Jan-19
76
Proof … Must check that … 12-Jan-19
77
Minimum core size cannot exceed number of processes
Proof … Must check that … Minimum core size cannot exceed number of processes 12-Jan-19
78
©a(¾) is shellable Theorem For any input simplex ¾,
of dimension at least c - codim ¾ – 1. About single layer … Corollary There is no asynchronous message-passing protocol for (c-2)-set agreement against an adversary with minimum core size c. About any execution… 12-Jan-19
79
©a(¾) is shellable Theorem For any input simplex ¾,
of dimension at least c - codim ¾ – 1. This bound is tight: Fix a core C of minimal size c, Decide any value sent by P 2 C Why does this work? 12-Jan-19
80
Synchronous Message-Passing
12-Jan-19
81
To postpone k-set agreement …
May or may not deliver messages from failed processes Adversary To postpone k-set agreement … fail exactly k < c processes each layer 12-Jan-19
82
Protocol !!! State[0] := input vertex On layer r: Broadcast state[r-1]
In each layer, each process sends its state to every other process, waits until it has received messages sent in that layer from a survivor set, and undergoes a state transition. Receive layer-r messages State[r]:= messages received 12-Jan-19
83
12-Jan-19
84
May also hear from faulty
Must hear from non-faulty May also hear from faulty 12-Jan-19
85
For each set of Non-Faulty Processes
¿ µ ¾ face of non-faulty processes Independently hear from processes between ¿ and ¾ 12-Jan-19
86
©s (¾) = codim ¿ = k ª(¿, [¿, ¾])
Layer Map For each set of n-k+1 non-faulty processes ©s (¾) = codim ¿ = k ª(¿, [¿, ¾]) Each non-faulty process receives messages … from all non-faulty and perhaps some faulty processes 12-Jan-19
87
©s(¾) is shellable Theorem If n > 2k, then for any input simplex ¾,
of dimension at least k - codim ¾. Proof All facets of ©s(¾) have dimension n-k ¸ (k - codim ¾). Need to find shelling order … 12-Jan-19
88
(> maximal, ¾ minimal)
P0 P1 P2 P3 (P0, ¿0) 2 ª(¿, [¿, ¾]) ½ ©s(¾) (P2, ¿2) (P3, ¿3) Lexicographic order (> maximal, ¾ minimal) Signature: ¿0>¿2¿3 12-Jan-19
89
Áj = … ¿l … Ái = … ½l … Let Ái < Áj be facets of ©s(¾) ½l < ¿l
¾ minimal ½l > > maximal l is index of first difference
90
Case: ¿l > Áj = … ¿l … Replace ¿l with ¾
91
Ák := (Áj n (Pl ¿ l )) [ (Pl ¾)
Case: ¿l > Áj = … ¿l … Replace ¿l with ¾ Ák := (Áj n (Pl ¿ l )) [ (Pl ¾) Ák 2 ©s(¾)? ¾ 2 [¿, ¾] Ák < Áj? ½l < ¿l |Ák n Áj| = 1? one vertex change |Ái Å Áj| µ |Ák Å Áj|? 12-Jan-19
92
¾ > Áj = …>…¿m… Ái = …½l …>… Case: ¿l => Same dimension
12-Jan-19
93
Ák := in Áj replace ½l with ¾ and m with >
Áj = …>…¿m… Ái = …½l …>… Ák := in Áj replace ½l with ¾ and m with > Ák 2 ©a(¾)? Áj 2 ª(¿j, [¿j, ¾]) Ái 2 ª(¿i, [¿i, ¾]) ¿k := in ¿j add sl and delete sm Ák 2 ª(¿k, [¿k, ¾]) because ¾ 2 [¿, ¾] 12-Jan-19
94
Ák := in Áj replace l with ¾ and m with >
Áj = …>…¿m… Ái = …½ …>… Ák := in Áj replace l with ¾ and m with > Ák < Áj? Áj = …>…¿m… ¾ < > Ák = …¾…>… 12-Jan-19
95
Ák := in Áj replace l with ¾ and m with >
Áj = …>…¿m… Ái = …½l…>… Ák := in Áj replace l with ¾ and m with > |ÁjnÁk| = 1? Áj = …>…¿m… Only vertex in Áj not in Ák also not in Ái Ái = …½l…>… Ák = …¾…>… 12-Jan-19
96
©s(¾) is shellable Theorem If n > 2k, then for any input simplex ¾,
of dimension at least k - codim ¾. Proof This completes the proof. 12-Jan-19
97
©s(¾) is shellable Theorem For any input simplex ¾,
of dimension at least k - codim ¾ – 1. Corollary There is no synchronous message-passing protocol for k-set agreement in fewer than b (c-1)/k c + 1 layers against an adversary with minimum core size c. 12-Jan-19
98
This bound is tight: n = 5 k = 2 Core (c = 4) dc/ke dc/ke 12-Jan-19
99
This bound is tight: Consensus Consensus in dc/ke in dc/ke layers
12-Jan-19
100
Asynchronous Read-Write Memory
12-Jan-19
101
Adversary In each layer, each process writes … Fails no processes
then takes snapshot sometime later in that layer Not immediate snapshot! 12-Jan-19
102
Possible snapshot orders
Write order time Possible snapshot orders
103
Every process sees own write …
time Every process sees own write … and maybe later writes
104
snapshots ordered by inclusion
time snapshots ordered by inclusion
105
time Possible snapshots
106
Survivor Chain for ¾ ¾ ½ … ½ Survivor set All of ¾ Notation for chain
Set of all chains
107
= suffix containing Pi
108
Pick element of survivor chain containing self
For each execution … No failures Pick element of survivor chain containing self 12-Jan-19
109
©m(¾) = ¾ 2 Chains(¾) ª(¾; ¾0, …, ¾n)
Layer Map ©m(¾) = ¾ 2 Chains(¾) ª(¾; ¾0, …, ¾n) union over all chains 12-Jan-19
110
For any ¾ containing a survivor set, ©m(¾) is shellable of dimension
Theorem For any ¾ containing a survivor set, ©m(¾) is shellable of dimension at least (c - codim ¾ - 1). Proof Each facet of ©m(¾) has dimension dim ¾ ¸ c - codim ¾ - 1. Need to find shelling order … 12-Jan-19
111
Áj = … ¿l … Ái = … ½l … Let Ái < Áj be facets of ©m(¾) ½l < ¿l
¿ ¾ ¾ minimal l is index of first difference
112
Áj = … ¿l … Replace ¿l with ¾
113
Ák := (Áj n (Pl ¿ )) [(Pl ¾)
Áj = … ¿l … Replace ¿l with ¾ Ák := (Áj n (Pl ¿ )) [(Pl ¾) Ák 2 ©a(¾)? Ák < Áj? ¾ < ¿l |Ák n Áj| = 1? one vertex change |Ái Å Áj| µ |Ák Å Áj|? 12-Jan-19
114
For any ¾ containing a survivor set, ©m(¾) is shellable of dimension
Theorem For any ¾ containing a survivor set, ©m(¾) is shellable of dimension at least (c - codim ¾ - 1). Corollary There is no asynchronous read-write protocol for (c-2)-set agreement against an adversary with minimum core size c. 12-Jan-19
115
Fix a core C of minimal size c. Decide any value written by P 2 C
This bound is tight: Fix a core C of minimal size c. Decide any value written by P 2 C Some process in C eventually writes. 12-Jan-19
116
Semi-Synchronous Message-Passing
12-Jan-19
117
Model d0 ds = d1 / d0 d1 dm min step time max step time
In this model, a set \Pi of n+1 processes exchange messages, but the time between two consecutive process steps is at least d_0 and at most d_1, and the time to deliver a message is at most d_m, where d_m \gg d_0. Because d_m is much larger than d_0, we will assume d_m is an exact multiple of d_0 to avoid tedious layer-off calculations. The values d_0, d_1, and d_m are known constants. Let $d_s = d_1/d_0$. dm max message time 12-Jan-19
118
Fast Executions d0 d0 d0 run as fast as possible 12-Jan-19
119
max message delivery time
Microlayer d0 d0 d0 dm max message delivery time 12-Jan-19
120
Microlayer … ¹ steps per microlayer (assumed integer) 12-Jan-19
121
messages delivered at microlayer boundary
… dm messages delivered at microlayer boundary 12-Jan-19
122
Failure Pattern … P0 F(0) = 0 P1 F(1) = ¹ 12-Jan-19
123
Failure Pattern Observed
… P0 P1 12-Jan-19
124
Failure Pattern Observed
… P0 P1 12-Jan-19
125
Failure Pattern Ordering
F = … fl … G = …gl … l is index of first difference F < G F[l] > G[l] if and only if note reversed comparison
126
Minimal Failure Pattern
~ F (i) = ¹ for 0 · i · n no failures observed 12-Jan-19
127
Special Failure Pattern
F(¿,m) all processes not in ¿ fail in microlayer m every non-faulty Pi in ¿ sees those failures all in microlayer m, or all in microlayer m+1 12-Jan-19
128
Fast Adversary All faulty processes fail in same microlayer m
Only fast executions Fail exactly k processes each layer Each non-faulty process observes all failures at m or m+1 12-Jan-19
129
Layer Map for F(¿,m) ©(¿, m) = ª(¿, {F(¿, m), F(¿, m+1}) ª(¿, {0,1})
Each non-faulty process observes all failures at m or m+1 ©(¿, m) = ª(¿, {F(¿, m), F(¿, m+1}) ª(¿, {0,1}) Single-layer execution under failure pattern F(¿,m) combinatorial sphere 12-Jan-19
130
patterns
131
Layer Map ©(¿) = m = 0 ¹ ©(¿, m) Single-layer executions
where processes in ¿ do not fail 12-Jan-19
132
concat
133
Union over all (n-k)-faces of ¾
Layer Map ©(¾) = ©(¿) Union over all (n-k)-faces of ¾ 12-Jan-19
134
… … F(¿3) ¿3 ¿1 F(¿1) ¿2 ¿0 F(¿0,¹) Rss … F(¿2) F(¿0) F(¿0,¹-1) …
135
Long Story Short K0 ! K1 !... !K N Lemma ©0 ©1 ©N-1
for 0 · i · N, ©i is a shellable carrier map Proof sketch Ki = ©k-1(Kk-1) is a union of pseudospheres … pure and shellable. 12-Jan-19
136
Theorem Let N < n/k. If (I,P,¥) is an
N-layer wait-free semi-synch protocol … Then 8 ¾ 2 I, ¥(¾) is (k codim ¾)-connected and P is (k-1)-connected. 12-Jan-19
137
Corollary If N < n/k, then no N-layer protocol
can solve k-set agreement in time N ¢ dm against a wait-free adversary. That’s a weak lower bound! 12-Jan-19
138
No new messages received, still no k-set agreement
No k-set agreement messages layer N layer N+1 No new messages received, still no k-set agreement epsilon time
139
Looks like fast execution to P, still no k-set agreement
fail all but P Looks like fast execution to P, still no k-set agreement fast N slow N+1 No k-set agreement slow (N+1)dm-² Ndm+dsdm-² time
140
Theorem There is no semi-synch message-passing protocol
for k-set agreement against an adversary with minimum core size c = (N+1)k+1 that runs in time less than N dm + ds dm. 12-Jan-19
141
This bound is almost tight:
k = 2 Core (c = 4) dc/ke dc/ke 12-Jan-19
142
This bound is almost tight:
Consensus in time 2b(c-1)/k c + ds ¢ dm Consensus in time 2b(c-1)/k c + ds ¢ dm 12-Jan-19
143
This work is licensed under a Creative Commons Attribution-Noncommercial 3.0 Unported License.
144
Ãj Át Ãi This bound is almost tight: If |J| · q+1, ÃJ has codim · q
If |J| · q+1, ©(ÃJ) is non-empty 12-Jan-19
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.