1 / 87

Optimal Distributed All Pairs Shortest Paths

Optimal Distributed All Pairs Shortest Paths. Stephan Holzer ETH Zürich Roger Wattenhofer ETH Zürich. ETH Zurich – Distributed Computing Group . TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A A A A.

Download Presentation

Optimal Distributed All Pairs Shortest Paths

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Optimal Distributed • All Pairs Shortest Paths Stephan Holzer ETH Zürich Roger Wattenhofer ETH Zürich ETH Zurich – Distributed Computing Group TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAA

  2. Distributed network Graph G of n nodes 2 1 5 3 4

  3. Distributed network Graph G of n nodes Unique IDs 2 1 5 3 4

  4. Distributed network Graph G of n nodes Unique IDs 2 Localinfor- mationonly 1 1 5 3 4

  5. Distributed network Graph G of n nodes Unique IDs 2 Localinfor- mationonly 1 5 3 2 4 1 3 Slide inspiredbyDanuponNanongkai

  6. Distributed network Graph G of n nodes Unique IDs 2 Localinfor- mationonly 1 5 3 2 ? 4 1 3

  7. Distributed network Graph G of n nodes Unique IDs 2 log n Localinfor- mationonly log n log n 1 log n 5 log n 3 2 log n ? 4 1 3 Limited bandwidth

  8. Distributed network Graph G of n nodes Unique IDs 2 Synchronized Internal computations negligible log n Localinfor- mationonly log n log n 1 log n 5 log n 3 2 log n 4 1 ? Time complexity: number of communication rounds 3 Limited bandwidth

  9. Distributed algorithms:a simple example

  10. Count thenodes!

  11. Count thenodes! Compute BFS-Tree

  12. Count thenodes! 2 Compute BFS-Tree 2. Count nodes in subtrees 1 2 1 2 2 1 0 2 1 Runtime: ?

  13. Count thenodes! Runtime: ? 2 Compute BFS-Tree 2. Count nodes in subtrees 1 2 1 2 2 1 0 2 1 Diameter

  14. Diameter of a network • Distancebetweentwonodes = Numberof hops ofshortestpath

  15. Diameter of a network • Distancebetweentwonodes = Numberof hops ofshortestpath

  16. Diameter of a network • Distance between two nodes = Number of hops of shortest path • Diameter of network = Maximum distance, between any two nodes

  17. Diameter of a network Diameter of thisnetwork? Distancebetweentwonodes = Number of hops of shortestpath Diameter of network = Maximum distance, betweenanytwonodes

  18. Fundamental problems • Spanning Tree – Broadcasting, Aggregation, etc • Minimum Spanning Tree – Efficient broadcasting, etc. • Shortest path – Routing, etc. • Steiner tree – Multicasting, etc. • Many other graph problems. • Diameter appears frequently in distributed computing

  19. Fundamental problems • Spanning Tree – Broadcasting, Aggregation, etc • Minimum Spanning Tree – Efficient broadcasting, etc. • Shortest path – Routing, etc. • Steiner tree – Multicasting, etc. • Many other graph problems. • Diameter appears frequently in distributed computing • E.g. local vs. global

  20. Fundamental problems 1. Formal definition? • Spanning Tree – Broadcasting, Aggregation, etc • Minimum Spanning Tree – Efficient broadcasting, etc. • Shortest path – Routing, etc. • Steiner tree – Multicasting, etc. • Many other graph problems. • Diameter appears frequently in distributed computing • E.g. local vs. global Complexity of computing D? . Known bounds: O(nD) Ω (D) [before 2012] ≈O(n2) ≈(1)

  21. Fundamental problems 1. Formal definition? • Spanning Tree – Broadcasting, Aggregation, etc • Minimum Spanning Tree – Efficient broadcasting, etc. • Shortest path – Routing, etc. • Steiner tree – Multicasting, etc. • Many other graph problems. • Diameter appears frequently in distributed computing • E.g. local vs. global Complexity of computing D? . Known bounds: O(nD) Ω (D) New bounds: Ω (n) [before 2012] ≈O(n2) ≈(1) Even if D = 5 [2012] [FHW 2012]

  22. Fundamental problems 1. Formal definition? • Spanning Tree – Broadcasting, Aggregation, etc • Minimum Spanning Tree – Efficient broadcasting, etc. • Shortest path – Routing, etc. • Steiner tree – Multicasting, etc. • Many other graph problems. • Diameter appears frequently in distributed computing • E.g. local vs. global Complexity of computing D? . Known bounds: O(nD) Ω (D) New bounds: O(n) Ω (n) [before 2012] ≈O(n2) ≈(1) Even if D = 5 3 [here] [FHW 2012]

  23. Fundamental problems 1. Formal definition? Use APSP to Compute Diameter • Spanning Tree – Broadcasting, Aggregation, etc • Minimum Spanning Tree – Efficient broadcasting, etc. • Shortest path – Routing, etc. • Steiner tree – Multicasting, etc. • Many other graph problems. • Diameter appears frequently in distributed computing • E.g. local vs. global Independently: [Peleg, Roditty, Tal 2012] Complexity of computing D? . Known bounds: O(nD) Ω (D) New bounds: O(n) Ω (n) [before 2012] ≈O(n2) ≈(1) Even if D = 5 3 [here] [FHW 2012]

  24. Extentions

  25. Extentions Routing tables Socialnetworks Fightingspam

  26. Extentions Combination with: [Peleg, Roditty, Tal 2012]

  27. Extentions Combined with [Peleg, Roditty, Tal 2012]

  28. APSP in O(n)

  29. APSP in O(n) Compute All Pairs Shortest Paths 0

  30. APSP in O(n) Knows its distance to all other nodes Compute All Pairs Shortest Paths 0

  31. APSP in O(n) Compute All Pairs Shortest Paths 0

  32. APSP in O(n) Compute All Pairs Shortest Paths For each node { compute distances to all other nodes; } 0

  33. APSP in O(n) Compute All Pairs Shortest Paths For each node { compute distances to all other nodes; } 1 1 1 0 1

  34. APSP in O(n) Compute All Pairs Shortest Paths For each node { compute distances to all other nodes; } 2 1 2 1 2 2 1 0 2 1

  35. APSP in O(n) Compute All Pairs Shortest Paths For each node { compute distances to all other nodes; O(D) } 2 1 2 1 2 2 1 0 2 1

  36. APSP in O(n) Compute All Pairs Shortest Paths For each node { compute distances to all other nodes; O(D) } 0

  37. APSP in O(n) Compute All Pairs Shortest Paths For each node { compute distances to all other nodes; O(D) } 1 1 1 0 1

  38. APSP in O(n) Compute All Pairs Shortest Paths For each node { compute distances to all other nodes; O(D) } 1 2 1 2 2 1 2 0 1

  39. APSP in O(n) Compute All Pairs Shortest Paths For each node { compute distances to all other nodes; O(D) } 1 2 1 2 2 3 1 2 0 1

  40. APSP in O(n) Compute All Pairs Shortest Paths For each node { O(n) compute distances to all other nodes; O(D) } 1 2 1 2 2 3 1 2 0 1

  41. APSP in O(n) Compute All Pairs Shortest Paths For each node { O(n) compute distances to all other nodes; O(D) } O(nD) 1 2 1 2 2 3 1 2 0 1

  42. APSP in O(n) Compute All Pairs Shortest Paths For each node { O(n) compute distances to all other nodes; O(D) } O(nD) 1 2 1 2 Limited parallelism: Only some nodes active. 2 3 1 2 0 1

  43. APSP in O(n) Compute All Pairs Shortest Paths For each node { O(n) compute distances to all other nodes; O(D) } O(nD) 1 2 1 2 Limited parallelism: Only some nodes active. Wanted: All nodes active all the time! 2 3 1 2 0 1

  44. APSP in O(n) Compute All Pairs Shortest Paths

  45. APSP in O(n) Compute All Pairs Shortest Paths 1. Pick a root-node r r

  46. APSP in O(n) Compute All Pairs Shortest Paths Pick a root-node r T := BFS-Tree(r) r

  47. APSP in O(n) Compute All Pairs Shortest Paths Pick a root-node r; T := BFS-Tree(r); Pebble P traverses T in preorder; r

  48. APSP in O(n) Compute All Pairs Shortest Paths • Pick a root-node r; • T := BFS-Tree(r); • Pebble P traverses T • in preorder; • If P visits node v first time{ • wait 1 timeslot; • start shortest paths(v); • } r

  49. APSP in O(n) Compute All Pairs Shortest Paths • Pick a root-node r; • T := BFS-Tree(r); • Pebble P traverses T • in preorder; • If P visits node v first time{ • wait 1 timeslot; • start shortest paths(v); • } u w r v

  50. APSP in O(n) Compute All Pairs Shortest Paths • Pick a root-node r; • T := BFS-Tree(r); • Pebble P traverses T • in preorder; • If P visits node v first time{ • wait 1 timeslot; • start shortest paths(v); • } Starts at t u w v

More Related