distributed computing through topology an introduction
play

Distributed Computing through Topology an introduction Sergio - PowerPoint PPT Presentation

Distributed Computing through Topology an introduction Sergio Rajsbaum Instituto de Matemticas UNAM From the book coauthored with Maurice Herlihy and Dmitry Kozlov to be published by Elsevier Sequential Computing Turing Machine


  1. Distributed Computing through Topology an introduction Sergio Rajsbaum Instituto de Matemáticas UNAM From the book coauthored with Maurice Herlihy and Dmitry Kozlov to be published by Elsevier

  2. Sequential Computing • Turing Machine • provides a precise • model of definition of a choice for "mechanical theory of procedure" computation Turing Year 2012 centenary of his birth The Imitation Game

  3. What about concurrency?

  4. Concurrency is everywhere Nearly every activity in our society works as a distributed system made • At a smaller scale, as processor feature up of human and sequential sizes shrink, they become harder to cool, computer processes manufacturers have given up trying to make processors faster. Instead, they have focused on making processors more parallel.

  5. Very different from sequential computing

  6. This revolution requires a fundamental change in how programs are written. Need new principles, algorithms, and tools - The Art of Multiprocessor Programming Herlihy & Shavit book

  7. Would not seem so according to traditional views • single-tape ≃ multi-tape • The TM wikipedia page mentions limitations: TM unbounded • interpreted as computation (OS) and sequential computing concurrent processes and distributed starting others computing differ in questions of efficiency, but not computability.

  8. Why concurrency is different ? Distributed systems are subject to failures and timing uncertainties, properties not captured by classical multi-tape models.

  9. Processes have partial information about the system state • Even if each process is more powerful than a Turing machine • and abstracting away the communication network (processes can directly talk to each other)

  10. Topology Placing together all these views yields a simplicial complex “Frozen” representation all possible interleavings and failure scenarios into a single, static, simplicial complex

  11. Topology Each simplex is an interleaving views label vertices of a simplex

  12. Topological invariants Preserved as computation unfolds Come from the nature of the faults and • , asynchrony in the system They determine what can be computed, and the complexity of the solutions

  13. Short History Discovered in PODC 1988 when only 1 process may crash (dimension=1) by Biran, Moran and Zaks, after consensus FLP impossibility of PODS 1983 Generalized in 1993: Three STOC papers by Herlihy, Shavit, Borowski, Gafni, Saks, Zaharoughlu and dual approach by Eric Goubault in 1993! Distributed Computing through Combinatorial Topology , Herlihy, Kozlov, Rajsbaum, Elsevier 2014

  14. What would a theory of distributed computing be?

  15. Distributed systems... • Individual sequential processes • Cooperate to solve some problem • By message passing, shared memory, or any other mechanism

  16. Many kinds • Multicore, various shared-memory systems • Internet • Interplanetary internet • Wireless and mobile • cloud computing, etc.

  17. ... and topology Many models, appear to have little in common besides the common concern with complexity, failures and timing. • , Combinatorial topology provides a common framework that unifies these models.

  18. Theory of distributed computing research • Models of distributed computing systems: communication, timing, failures, which models are central? • Distributed Problems: one-shot task, long-lived tasks, verification, graph problems, anonymous,… • Computability, complexity, decidability • Topological invariants: (a) how are related to failures, asynchrony, communication, and (b) techniques to prove them • Simulations and reductions

  19. A “universal” distributed computing model (a Turing Machine for DC)

  20. Ingredients of a model • processes • communication • failures

  21. Once we have a “universal” model, how to study it?

  22. single-reader/single-writer message passing multi-read/multi-writer t failures stronger objects failure detectors

  23. single-reader/single-writer message passing multi-read/multi-writer generic techniques, simulations and Iterated model reductions t failures stronger objects failure detectors

  24. Iterated shared memory ( a Turing Machine for DC ? )

  25. n Processes

  26. asynchronous, wait-free

  27. Unbounded sequence of read/write shared arrays

  28. • use each one once • in order

  29. write, then read 8

  30. 8,-,- 8

  31. 8 8,-,-

  32. 8 3 4 8,-,-

  33. 8,3,4 8,3,4 8 3 4 8,-,-

  34. 8 3 4 8,-,- 8,3,4 8,3,4

  35. Asynchrony- solo run 2 4 -,2,- -,4,- -,1,- 1

  36. every copy is new

  37. • arrive in arbitrary order • last one sees all

  38. 2 • arrive in arbitrary order • last one sees all

  39. 2 • arrive in -,2,- arbitrary order • last one sees all

  40. 2 3 -,2,3 • arrive in arbitrary order • last one sees all

  41. 1 2 3 • arrive in 1,2,3 arbitrary order • last one sees all

  42. 1 2 3 • arrive in 1,2,3 arbitrary order • last one sees all returns 1,2,3

  43. 1 2 3 • remaining 2 go to next memory

  44. 1 2 3 • remaining 2 go to next memory 2 -,2,-

  45. 1 2 3 • 3rd one returns -,2,3 2 3 -,2,3

  46. 1 2 3 • 2nd one goes alone 2 3

  47. 1 2 3 • returns -,2,- 2 3 2 -,2,- d

  48. so in this run, the views are 1,2,3 -,2,3 -,2,-

  49. another run

  50. 1 2 3 • arrive in arbitrary order

  51. 1 2 3 1,2,3 • all see all

  52. View graph

  53. indistinguishability • The most essential • Process does not know distributed computing if another process has issue is that a process input 0 or 1, a graph ?? has only a local 0 perspective of the world • Represent with a vertex labeled with id (green) 0 1 and a local state this perspective • E.g., its input is 0

  54. Indistinguishability graph for 2 processes

  55. • focus on 2 2 processes • there may be more that arrive after

  56. 2 -,2,- sees only itself

  57. 2 3 -,2,3 • green sees both -,2,- • but ...

  58. ?? 2 3 -,2,3 • green sees both -,2,- -,2,3 • but, doesn't know if seen by the other

  59. one round graph for 2 processes see see each other each other solo solo

  60. iterated runs for each run in round 1 there are the same 3 runs in the next round round 1: round 2:

  61. iterated runs sees solo both solo in both rounds round 2:

  62. iterated runs sees solo both sees both, round 2: then solo in 2nd

  63. iterated runs see each other in 1st round round 1: see each other in both round 2:

  64. More rounds round 1: round 2: round 3: Topological invariant: protocol graph after k rounds - longer - but always connected

  65. Wait-free theorem for 2 processes For any protocol in the iterated model, its graph after k rounds is - longer - but always connected

  66. Iterated approach: theorem holds in other models any number of message passing processes easy iterated proof : local, iterate any number of processes, any non-iterated model number of failures • Via known, generic simulation • Instead of ad hoc proofs (some known) for each case

  67. implications in terms of - solvability - complexity - computability

  68. Distributed problems binary consensus start with same input decide same output 0 0 0 0 Input/output relation different inputs, 1 1 1 1 agree on any Input Graph Output Graph

  69. Binary consensus is not solvable due to connectivity Each edge is an initial subdivided after 1 round decide configuration of the protocol no solution in 1 round no solution in k rounds 0 0 0 0 Input/output relation 1 1 1 1 decide Input Graph Output Graph

  70. corollaries: consensus impossible in the iterated model

  71. consensus impossibility holds in other models any number of message passing processes 2 process binary iterated any number of processes, any non-iterated model number of failures • Via known, generic simulation • Instead of ad hoc proofs for each case

  72. Decidability • Given a task for 2 processes, is it solvable in the iterated model? • Yes, there is an algorithm to decide: a graph connectivity problem • Then extend result to other models , via generic simulations, instead of ad hoc proofs

  73. Beyond 2 processes from 1 -dimensional graphs to n -dimensional complexes

  74. 2-dim simplex • three local states in some execution 0 • 2-dimensional simplex 1 2 • e.g. inputs 0,1,2

  75. 3-dim simplex • 4 local states in some execution 0 • 3-dim simplex 1 2 • e.g. inputs 0,1,2,3 3

  76. complexes Collection of simplexes closed under containment

  77. consensus task 3 processes 0 0 0 0 0 1 0 1 1 1 1 Input Complex Output Complex

  78. Iterated model One initial state

  79. Iterated model after 1 round all see each other

  80. Iterated model 2 don’t know if after 1 round other saw them

  81. Iterated model after 1 round 1 doesn't know if 2 other saw it

Recommend


More recommend