deterministic distributed algorithms using covering
play

Deterministic distributed algorithms: using covering graphs for good - PowerPoint PPT Presentation

Deterministic distributed algorithms: using covering graphs for good and evil Jukka Suomela Helsinki Institute for Information Technology HIIT University of Helsinki, Finland 1 2 2 1 2 3 Braunschweig, 1 1 1 1 26 October 2010 2 3 1


  1. Deterministic distributed algorithms: using covering graphs for good and evil Jukka Suomela Helsinki Institute for Information Technology HIIT University of Helsinki, Finland 1 2 2 1 2 3 Braunschweig, 1 1 1 1 26 October 2010 2 3 1 2 2 1 1 2 2 1 1 1 3 2

  2. Running example: Vertex cover problem • Vertex cover C : • “covers” all edges of the graph • each edge has at least one endpoint in C 2

  3. Part I: Port-numbering model • Synchronous deterministic distributed algorithms in the port-numbering model 1 1 2 3 1 2 2 1 3

  4. Distributed algorithms • Communication graph G G • Node = computer • e.g., Turing machine, finite state machine • Edge = communication link • computers can exchange messages 4

  5. Distributed algorithms • All nodes are identical, run the same algorithm G • We can choose the algorithm • An adversary chooses the structure of G • Our algorithm must produce a correct output in any graph G 5

  6. Distributed algorithms • Usually, computational problems are related to G the structure of the communication graph G • example: find a vertex cover for G • the same graph is both the input and the system that tries to solve the problem... 6

  7. Port-numbering model • A node of degree d can 1 refer to its neighbours 1 2 3 1 by integers 1, 2, ..., d 2 2 • Port-numbering chosen 1 by adversary 1 2 2 1 1 3 1 2 7

  8. Synchronous distributed algorithms 1. Each node reads its 4 own local input 1 • Depends on the problem, 3 1 2 2 for example: 2 • node weight 1 1 1 3 • weights of 2 incident edges • May be empty 8

  9. Synchronous distributed algorithms 1. Each node reads its own local input 1 2. Repeat synchronous 2 2 communication rounds ... 1 1 1 3 2 9

  10. Synchronous distributed algorithms 1. Each node reads its own local input 1 0 2. Repeat synchronous 2 2 communication rounds 1 0 until all nodes 1 1 1 3 have announced 1 2 their local outputs • Solution of the problem 10

  11. Synchronous distributed algorithms 1. Each node reads its own local input 1 0 2. Repeat synchronous 2 2 communication rounds 1 0 until all nodes 1 1 1 3 have announced 1 2 their local outputs Example: Find a vertex cover C Local output of a node v indicates whether v ∈ C 11

  12. Synchronous distributed algorithms • Communication round: each node 1 1.sends a message 2 2 to each port 1 1 1 3 2 12

  13. Synchronous distributed algorithms • Communication round: each node 1 1.sends a message 2 2 to each port 1 1 (message propagation...) 1 3 2 13

  14. Synchronous distributed algorithms • Communication round: each node 1 1.sends a message 2 2 to each port 2.receives a message 1 1 1 3 from each port 2 14

  15. Synchronous distributed algorithms • Communication round: each node 1 1.sends a message 2 2 to each port 2.receives a message 1 1 1 3 from each port 2 3.updates its own state 15

  16. Synchronous distributed algorithms • Communication round: each node 1 0 1.sends a message 2 2 to each port 1 2.receives a message 1 1 1 3 from each port 2 3.updates its own state 4.possibly stops and announces its output 16

  17. Synchronous distributed algorithms • Communication rounds are repeated until all 1 0 nodes have stopped and 2 2 announced their outputs 0 1 • Running time = 1 1 1 3 number of rounds 1 2 • Worst-case analysis 17

  18. Part II: Computability in port-numbering model • Impossibility of symmetry breaking • Covering maps and covering graphs: tools for proving more impossibility results 18

  19. Symmetry can’t be broken • Input may be symmetric • symmetric graph 1 2 • symmetric port 2 numbering • identical local inputs 1 1 2 19

  20. Symmetry can’t be broken • Same input X • Same algorithm 1 X 2 2 • Same initial state X 1 1 2 20

  21. Symmetry can’t be broken • Same current state • Messages sent to port 1 1 are identical to each 2 2 other • Messages sent to port 2 1 1 are identical to each 2 other 21

  22. Symmetry can’t be broken 1 2 2 1 1 2 22

  23. Symmetry can’t be broken • Messages received from port 1 are identical to 1 each other 2 2 • Messages received from port 2 are identical to 1 1 each other 2 23

  24. Symmetry can’t be broken • Same old state • Same set of 1 received messages 2 2 • Same deterministic algorithm 1 1 2 • Same new state 24

  25. Symmetry can’t be broken • Same new state • Either none of 1 Z the nodes stops — 2 2 or all of them Z stop and produce 1 1 identical outputs Z 2 • Symmetry can’t be broken! • let’s generalise this... 25

  26. Covering maps H = ( V ’, E ’) 1 2 2 1 2 3 1 1 1 1 3 2 1 2 2 1 f 1 2 2 Covering map f : V ’ → V 1 1 3 1 • surjection 2 • preserves neighbourhoods G = ( V , E ) • preserves port numbering 26

  27. Covering maps H = ( V ’, E ’) 1 2 2 1 2 3 1 1 1 1 3 2 1 2 2 1 1 2 2 Covering map f : V ’ → V 1 1 3 1 • surjection 2 • preserves neighbourhoods G = ( V , E ) • preserves port numbering 27

  28. Covering maps H = ( V ’, E ’) 1 2 2 1 2 3 1 1 1 1 3 2 1 2 2 1 1 2 2 Covering map f : V ’ → V 1 1 3 1 • surjection 2 • preserves neighbourhoods G = ( V , E ) • preserves port numbering 28

  29. Covering maps H = ( V ’, E ’) 1 2 2 1 2 3 1 1 1 1 3 2 1 2 2 1 1 2 2 Covering map f : V ’ → V 1 1 3 1 • surjection 2 • preserves neighbourhoods G = ( V , E ) • preserves port numbering 29

  30. Covering maps H = ( V ’, E ’) 1 2 2 1 2 3 1 1 1 1 3 2 1 2 2 1 1 2 2 Covering map f : V ’ → V 1 1 3 1 • surjection 2 • preserves neighbourhoods G = ( V , E ) • preserves port numbering 30

  31. Covering maps and covering graphs H = ( V ’, E ’) 1 2 2 1 2 3 1 1 1 1 3 2 1 2 2 1 1 2 2 1 1 H is a covering graph of 3 1 G if there is a covering 2 G = ( V , E ) map f : V ’ → V 31

  32. Covering maps and covering graphs • Run the same algorithm in G and H • v ’ ∈ V ’ and f ( v ’) ∈ V have the same input for all v ’ • Then v ’ ∈ V ’ and f ( v ’) ∈ V : G = ( V , E ) 1 2 • have identical initial states 2 1 1 3 1 • send and receive the same messages 2 • have identical state transitions H = ( V ’, E ’) 1 2 2 1 • produce identical 2 3 1 1 1 1 local outputs ! 2 3 1 2 2 1 32

  33. Covering maps and covering graphs H = ( V ’, E ’) 1 2 2 1 2 3 1 1 1 1 3 2 1 2 2 1 1 2 2 1 1 Same output 3 1 2 G = ( V , E ) 33

  34. Covering maps and covering graphs H = ( V ’, E ’) 1 2 2 1 2 3 1 1 1 1 3 2 1 2 2 1 1 2 2 1 1 Same output 3 1 2 G = ( V , E ) 34

  35. Covering maps and covering graphs H = ( V ’, E ’) 1 2 2 1 2 3 1 1 1 1 3 2 1 2 2 1 1 2 2 1 1 Same output 3 1 2 G = ( V , E ) 35

  36. Covering maps and covering graphs • Symmetric cycles are a simple special case of covering maps 1 G = ( V , E ) H = ( V ’, E ’) 2 2 2 1 1 1 2 Same output 36

  37. Computability in the port-numbering model • Very limited model 1 • in a cycle, we can only 2 2 find a trivial solution: empty set, all nodes, ... 1 1 • we can’t even break 2 symmetry in a 2-node network! 1 1 • What can be solved ? 37

  38. Part III: Algorithms in port-numbering model • Some problems can be solved in the port-numbering model... • and covering graphs can be used as an algorithm design technique, too! • Example: vertex cover approximation 38

  39. Symmetry breaking out of thin air: bipartite double covers • Replace each node by two virtual nodes : black and white • original nodes simulate virtual nodes • each computers runs two programs in parallel: “black program” and “white program” • Edges: black-to-white 39

  40. Symmetry breaking out of thin air: bipartite double covers • Virtual graph H is G = ( V , E ) a covering graph of G • It is a double cover: 2 nodes of H map to each node of G H = ( V ’, E ’) • It is bipartite • and we have already coloured its two parts: black and white! 40

  41. Symmetry breaking out of thin air: bipartite double covers 2-coloured graph a b d c c c a a a a b b b d = b d c d d c 41

  42. Symmetry breaking out of thin air: bipartite double covers Port-numbering inherited a 1 2 2 1 1 b d 1 1 1 c c 3 2 2 c 2 2 2 a a 1 1 a 3 3 a 2 2 b b b d = 1 1 b d c 1 1 d d c 42

  43. Symmetry breaking out of thin air: bipartite double covers Port-numbering inherited a 1 2 2 1 1 b d 1 1 1 c c 3 2 2 c 2 2 2 a a 1 1 a 3 3 a 2 2 b b b d = 1 1 b d c 1 1 d d c 43

  44. Symmetry breaking out of thin air: bipartite double covers Port-numbering inherited a 1 2 2 1 1 b d 1 1 1 c c 3 2 2 c 2 2 2 a a 1 1 a 3 3 a 2 2 b b b d = 1 1 b d c 1 1 d d c 44

Recommend


More recommend