Task Solvability in Different Models

Slides:



Advertisements
Similar presentations
Min-Max Relations, Hall’s Theorem, and Matching-Algorithms Graphs & Algorithms Lecture 5 TexPoint fonts used in EMF. Read the TexPoint manual before you.
Advertisements

Minimum Clique Partition Problem with Constrained Weight for Interval Graphs Jianping Li Department of Mathematics Yunnan University Jointed by M.X. Chen.
N-Consensus is the Second Strongest Object for N+1 Processes Eli Gafni UCLA Petr Kuznetsov Max Planck Institute for Software Systems.
Introduction to Algorithms
The Byzantine Generals Problem Leslie Lamport, Robert Shostak, Marshall Pease Distributed Algorithms A1 Presented by: Anna Bendersky.
Parallel Scheduling of Complex DAGs under Uncertainty Grzegorz Malewicz.
Byzantine Generals Problem: Solution using signed messages.
Structure of Consensus 1 The Structure of Consensus Consensus touches upon the basic “topology” of distributed computations. We will use this topological.
Coloring the edges of a random graph without a monochromatic giant component Reto Spöhel (joint with Angelika Steger and Henning Thomas) TexPoint fonts.
1 Fault-Tolerant Consensus. 2 Failures in Distributed Systems Link failure: A link fails and remains inactive; the network may get partitioned Crash:
Approximation Algorithms
Bit Complexity of Breaking and Achieving Symmetry in Chains and Rings.
Distributed systems Module 2 -Distributed algorithms Teaching unit 1 – Basic techniques Ernesto Damiani University of Bozen Lesson 4 – Consensus and reliable.
Deriving an Algorithm for the Weak Symmetry Breaking Task Armando Castañeda Sergio Rajsbaum Universidad Nacional Autónoma de México.
On the Cost of Fault-Tolerant Consensus When There are no Faults Idit Keidar & Sergio Rajsbaum Appears in SIGACT News; MIT Tech. Report.
Two-Process Systems TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A AA Companion slides for Distributed Computing.
Distributed Consensus Reaching agreement is a fundamental problem in distributed computing. Some examples are Leader election / Mutual Exclusion Commit.
Manifold Protocols TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A AA Companion slides for Distributed Computing.
1 © P. Kouznetsov A Note on Set Agreement with Omission Failures Rachid Guerraoui, Petr Kouznetsov, Bastian Pochon Distributed Programming Laboratory Swiss.
Edge-disjoint induced subgraphs with given minimum degree Raphael Yuster 2012.
Greedy Algorithms and Matroids Andreas Klappenecker.
Sliding window protocol The sender continues the send action without receiving the acknowledgements of at most w messages (w > 0), w is called the window.
Replication predicates for dependent-failure algorithms Flavio Junqueira and Keith Marzullo University of California, San Diego Euro-Par Conference, Lisbon,
1 Approximation algorithms Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij TexPoint fonts used in EMF. Read the TexPoint manual.
Alternating Bit Protocol S R ABP is a link layer protocol. Works on FIFO channels only. Guarantees reliable message delivery with a 1-bit sequence number.
Fault tolerance and related issues in distributed computing Shmuel Zaks GSSI - Feb
C&O 355 Lecture 19 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A A A A A A A A.
Center for Graphics and Geometric Computing, Technion 1 Computational Geometry Chapter 9 Line Arrangements.
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS
Lap Chi Lau we will only use slides 4 to 19
When Is Agreement Possible
Creating a cell complex = CW complex
Advanced Algorithms Analysis and Design
Topics in Algorithms Lap Chi Lau.
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS
Colorless Wait-Free Computation
Algebraic Topology and Distributed Computing part two
Byzantine-Resilient Colorless Computaton
Elements of Combinatorial Topology
Algebraic Topology and Distributed Computing
Elements of Combinatorial Topology
Solvability of Colorless Tasks in Different Models
Wait-Free Computability for General Tasks
CS 154, Lecture 6: Communication Complexity
Additive Combinatorics and its Applications in Theoretical CS
Alternating Bit Protocol
Distributed Consensus
Distributed Algorithms (22903)
Agreement Protocols CS60002: Distributed Systems
Depth Estimation via Sampling
Analysis of Algorithms
Simulations and Reductions
Combinatorial Topology and Distributed Computing
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS
Algebraic Topology and Decidability in Distributed Computing
Renaming and Oriented Manifolds
Combinatorial Topology and Distributed Computing
Global State Collection
Algebraic Topology and Distributed Computing part three
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS
CUBE MATERIALIZATION E0 261 Jayant Haritsa
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS
Computational Geometry
V12 Menger’s theorem Borrowing terminology from operations research
Elementary Sorting Algorithms
Combinatorial Topology and Distributed Computing
Combinatorial Topology and Distributed Computing
Data Structures and Algorithms
Presentation transcript:

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

Carrier Maps and Shellable Complexes Road Map Shellability Examples Pseudospheres Carrier Maps and Shellable Complexes Applications

Carrier Maps and Shellable Complexes Road Map Shellability Examples Pseudospheres Carrier Maps and Shellable Complexes Applications

Shellable Complexes

C is shellable if its facets can be arranged in a linear shelling order Á0, …, Ák … Á1 … Ák-1 Ák … Át 12-Jan-19

C is shellable if its facets can be arranged in a linear shelling order Á0, …, Ák … Á1 … Ák-1 Ák … Át 12-Jan-19

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

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

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

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

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

Topological Aside Spanning simplex 12-Jan-19

Topological Aside Contract to sphere Contract to point 12-Jan-19

Topological Aside Shellable complex is homotopic to wedge of spheres, one per spanning simplex 12-Jan-19

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

Alternative Formulation K has facets Á0, …, Át, Á0 … … … … Át 12-Jan-19

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

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

Carrier Maps and Shellable Complexes Road Map Shellability Examples Pseudospheres Carrier Maps and Shellable Complexes Applications

Sphere

Spheres are Shellable Attach along 1 edge Attach along 2 edges Spanning simplex

Not Shellable 12-Jan-19

Face Ordering Let ¾ = {s0, …, sn} Let ¿ µ ¾ 12-Jan-19

Bit Map Representation ¾ = 0000 0 means present ¿ = 0001 12-Jan-19

Face Ordering < 0000 < 0001 < 0001 < 0100 12-Jan-19

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

Áj = 011100… Ái = 001110… Let Ái < Áj be two k-faces of ¾. sm 2 ÁinÁj (because dim Ái = dim Áj ) Áj = 011100… Construct Ák by swapping Vertexes into Áj Ái = 001110… sl 2 ÁjnÁi (because Ái < Áj ) Where l < m … 12-Jan-19

Check shellability conditions: Áj = 011100… Ák < Áj Ák = 001110… First difference 12-Jan-19

Áj = 011100… Ák = 001110… Check shellability conditions: Maximal:|ÁjnÁk| = 1 Áj = 011100… Ák = 001110… Only vertex in Áj but not in Ák 12-Jan-19

Check shellability conditions: Absorbing: Ái Å Áj µ Ák Å Áj Áj = 011100… Only vertex in Áj but not in Ák also not in Ái Ák = 001110… Ái = 001110… QED 12-Jan-19

Carrier Maps and Shellable Complexes Road Map Shellability Examples Pseudospheres Carrier Maps and Shellable Complexes Applications

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

Assigning {0,1, 2} to n+1 processes? 1 1 2 12-Jan-19 very like a sphere …

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

Pseudosphere Complex Element from Vi Vertexes: ( Pi, v ) Process name from U 12-Jan-19

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

Shelling Order for Pseudospheres total order < on elements of [i Vi Induces shelling order … 12-Jan-19

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

Let Ái < Áj be facets of ª(U, V0, … Vn). Áj = v0v1v2… Ái = v0u1u2… u1 < v1 (because Ái < Áj ) 12-Jan-19

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

Singleton Sets ) Single Simplex ª(U,{v0}, …, {vm})  {v0, …, vm} 12-Jan-19

ª(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

Example ª({P, Q, R}, V0, ;, V2)  ª({P, R}, V0, V2) 12-Jan-19

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

Intersections of Pseudospheres ª(U,V0, …, Vm) Å ª(U, W0, …, Wm)  ª(U,V0ÅW0, …, VmÅWm) 12-Jan-19

Carrier Maps and Shellable Complexes Road Map Shellability Examples Pseudospheres Carrier Maps and Shellable Complexes Applications

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

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

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

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

©(¾) 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

©: 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

©(Á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

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

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

Á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

Ã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

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

Ãj Át Ãi Ãij Observation If |J| · q+1, ÃJ has codim · q If |J| · q+1, ©(ÃJ) is non-empty 12-Jan-19

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

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

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

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

©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

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

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

Asynchronous Message-Passing 12-Jan-19

Adversary Delivers messages in FIFO order Fails no processes On each layer, delivers all pending messages or none 12-Jan-19

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

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

Layer Map ©a(¾) = ª(¾, {¿ µ ¾ | survivor set µ ¿}) Messages from a subset … ©a(¾) = ª(¾, {¿ µ ¾ | survivor set µ ¿}) containing a survivor set Each process receives … 12-Jan-19

©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

Proof … Must check that … 12-Jan-19

Proof … Must check that … 12-Jan-19

Proof … Must check that … 12-Jan-19

Proof … Must check that … 12-Jan-19

Minimum core size cannot exceed number of processes Proof … Must check that … Minimum core size cannot exceed number of processes 12-Jan-19

©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

©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

Synchronous Message-Passing 12-Jan-19

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

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

¿ ¾ 12-Jan-19

May also hear from faulty ¿ ¾ Must hear from non-faulty May also hear from faulty 12-Jan-19

For each set of Non-Faulty Processes ¿ µ ¾ face of non-faulty processes Independently hear from processes between ¿ and ¾ 12-Jan-19

©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

©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

(> 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

Áj = … ¿l … Ái = … ½l … Let Ái < Áj be facets of ©s(¾) ½l < ¿l ¾ minimal ½l  > > maximal l is index of first difference

Case: ¿l  > Áj = … ¿l … Replace ¿l with ¾

Á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

¾ > Áj = …>…¿m… Ái = …½l …>… Case: ¿l => Same dimension 12-Jan-19

Á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

Á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

Á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

©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

©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

This bound is tight: n = 5 k = 2 Core (c = 4) dc/ke dc/ke 12-Jan-19

This bound is tight: Consensus Consensus in dc/ke in dc/ke layers 12-Jan-19

Asynchronous Read-Write Memory 12-Jan-19

Adversary In each layer, each process writes … Fails no processes then takes snapshot sometime later in that layer Not immediate snapshot! 12-Jan-19

Possible snapshot orders Write order time Possible snapshot orders

Every process sees own write … time Every process sees own write … and maybe later writes

snapshots ordered by inclusion time snapshots ordered by inclusion

time ¾ Possible snapshots

Survivor Chain for ¾ ¾ ½ … ½ Survivor set All of ¾ Notation for chain Set of all chains

= suffix containing Pi ¾

Pick element of survivor chain containing self For each execution … No failures Pick element of survivor chain containing self 12-Jan-19

©m(¾) =  ¾ 2 Chains(¾) ª(¾; ¾0, …, ¾n) Layer Map ©m(¾) =  ¾ 2 Chains(¾) ª(¾; ¾0, …, ¾n) union over all chains 12-Jan-19

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

Áj = … ¿l … Ái = … ½l … Let Ái < Áj be facets of ©m(¾) ½l < ¿l ¿  ¾ ¾ minimal l is index of first difference

Áj = … ¿l … Replace ¿l with ¾

Á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

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

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

Semi-Synchronous Message-Passing 12-Jan-19

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

Fast Executions d0 d0 d0 run as fast as possible 12-Jan-19

max message delivery time Microlayer d0 d0 d0 dm max message delivery time 12-Jan-19

Microlayer … ¹ ¹ steps per microlayer (assumed integer) 12-Jan-19

messages delivered at microlayer boundary … ¹ dm messages delivered at microlayer boundary 12-Jan-19

Failure Pattern … ¹ P0 F(0) = 0 P1 F(1) = ¹ 12-Jan-19

Failure Pattern Observed … ¹ P0 failed @0 P1 12-Jan-19

Failure Pattern Observed … ¹ P0 failed @1 P1 12-Jan-19

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

Minimal Failure Pattern ~ F (i) = ¹ for 0 · i · n no failures observed 12-Jan-19

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

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

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

patterns

Layer Map ©(¿) =  m = 0 ¹ ©(¿, m) Single-layer executions where processes in ¿ do not fail 12-Jan-19

concat

Union over all (n-k)-faces of ¾ Layer Map ©(¾) =  ©(¿) Union over all (n-k)-faces of ¾ 12-Jan-19

… … F(¿3) ¿3 ¿1 F(¿1) ¿2 ¾ ¿0 F(¿0,¹) Rss … F(¿2) F(¿0) F(¿0,¹-1) …

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

Theorem Let N < n/k. If (I,P,¥) is an N-layer wait-free semi-synch protocol … Then 8 ¾ 2 I, ¥(¾) is (k - 1 - codim ¾)-connected and P is (k-1)-connected. 12-Jan-19

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

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

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

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

This bound is almost tight: k = 2 Core (c = 4) dc/ke dc/ke 12-Jan-19

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

          This work is licensed under a Creative Commons Attribution-Noncommercial 3.0 Unported License.

Ã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