Algebraic Topology and Decidability in Distributed Computing Maurice
Algebraic Topology and Decidability in Distributed Computing Maurice Herlihy Brown University Joint work with Sergio Rajsbaum, Nir Shavit, and Mark Tuttle
Overview • Applications of algebraic topology – to fault-tolerant computing – especially decidability issues • Known results – focus on techniques 9/18/2020 2
Decision Tasks Before: private inputs 9/18/2020 After: private outputs 3
Example: 3 -Consensus Before: private inputs 9/18/2020 After: agree on one input 4
Example: (3, 2)-Consensus Before: private inputs 9/18/2020 After: agree on 1 or 2 inputs 5
A Vertex Point in high-dimensional Euclidean Space 9/18/2020 6
Simplexes 0 -simplex (vertex) 2 -simplex (solid triangle) 9/18/2020 1 -simplex (edge) 3 -simplex (solid tetrahedron) 7
Simplicial Complex 9/18/2020 8
Simplicial Maps • Vertex-to-vertex map • carrying simplexes to simplexes • induces piece-wise linear map 9/18/2020 9
Vertex = Process State Process id (color) 7 9/18/2020 Value (input or output) 10
Simplex = Global State 9/18/2020 11
Complex = Global States 9/18/2020 12
Initial States for Consensus 0 0 1 9/18/2020 • Processes: blue, red, green. • Independently assign 0 or 1 • Isomorphic to 2 sphere • the input complex 13
Final States for Consensus • Processes agree on 0 or 1 • Two disjoint nsimplexes • the output complex 0 0 0 1 9/18/2020 1 1 14
Problem Specification • For each input simplex S • relation D(S) – defines corresponding set of legal outputs – carries input simplex – to output subcomplex 9/18/2020 15
Consensus Specification 0 0 0 1 Simplex 9/18/2020 of all-zero inputs 1 1 16
Consensus Specification 0 0 0 1 Simplex 9/18/2020 of all-one inputs 1 1 17
Consensus Specification 0 0 0 1 Mixed-input simplex 9/18/2020 1 1 18
Protocols • • Finite program starts with input values behavior depends on model. . . halts with decision value 9/18/2020 19
Protocol Complex • Each protocol defines a complex – vertex: my view of computation – simplex: everyone’s view • Protocol complex – depends on model of computation – what did you expect? 9/18/2020 20
Simple Model: Synchronous Message-Passing 9/18/2020 Round 1 21
Failures: Fail-Stop Partial broadcast 9/18/2020 22
Single Input: Round Zero 0 0 9/18/2020 0 • No messages sent • vertexes labeled with input values • isomorphic to input simplex 23
Round Zero Protocol Complex 0 0 1 9/18/2020 • No messages sent • vertexes labeled with input values • isomorphic to input complex 24
Single Input: Round One red fails 00 00 green fails 000 000 blue fails 9/18/2020 00 00 no one fails 25
Protocol Complex: Round One 9/18/2020 26
Protocol Complex Evolution zero 9/18/2020 two one 27
Observation • Decision map • is a simplicial map – vertexes to vertexes, but also – simplexes to simplexes – respects specification relation D 9/18/2020 28
Summary d Protocol complex Input 9/18/2020 complex D Output complex 29
New Model: Asynchronous Failures ? ? ? 9/18/2020 ? ? ? 30
What We Know already • Impossibility results • Algorithms • in various models – k-Consensus – (n, k)-consensus – renaming, etc. 9/18/2020 31
Decidability Results • Biran, Moran, & Zaks 88 – one-resilient message-passing decidable • Gafni & Koutsoupias 96 – t-resilient read/write undecidable • Herlihy & Rajsbaum 97 – lots of other models 9/18/2020 32
Robot Rendez-Vous (formerly loop agreement) • Complex • loop • three vertexes (rendez-vous points) 9/18/2020 33
One Rendez-Vous Point output input 9/18/2020 34
Two Rendez-Vous Points output input 9/18/2020 35
Three Rendez-Vous Points output input 9/18/2020 36
Contractibility contractible not contractible 9/18/2020 37
Theorem • The Robot Rendez-Vous problem – in the asynchronous – message-passing model • has a solution – if and only if – loop is contractible 9/18/2020 38
Solvable implies Contractible • Theorem: – any protocol complex • in the asynchronous message-passing model • where more than one process can fail – is connected and simply connected • path between any two vertexes • any loop is contractible – trust me! • or consult [Herlihy, Rajsbaum, Tuttle 98] 9/18/2020 39
Solvable implies Contractible d Protocol Complex 9/18/2020 v 0 All inputs v 0 Output Complex 40
Solvable implies Contractible v 0 d v 1 d All inputs 9/18/2020 v 1 41
Solvable implies Contractible d All inputs 9/18/2020 v 0 or v 1 42
Solvable implies Contractible d 9/18/2020 43
Solvable implies Contractible Protocol complex is simply connected d 9/18/2020 D E Q 44
Contractible implies Solvable f Map f is continuous 9/18/2020 45
Contractible implies Solvable f Take simplicial approximation 9/18/2020 46
Contractible implies Solvable f Approximate agreement 9/18/2020 D E Q 47
Decidability • Contractibility is undecidable – even for finite complexes – [Novikov 1955] • Reduces to – the word problem for – finitely-presented groups 9/18/2020 48
Decidability • Asynchronous message-passing – decidable for one failure – undecidable otherwise • But wait, there’s more. . . 9/18/2020 49
Decidability Results Weird or what? 9/18/2020 50
Conclusions • Decidability still an open area – word problem is actually solvable for most reasonable classes of groups – do these classes correspond to reasonable models of computation? 9/18/2020 51
Clip Art 9/18/2020 52
- Slides: 52