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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend