870 likes | 986 Views
This research explores optimal distributed algorithms for computing all-pairs shortest paths in a distributed network graph with unique IDs. Key themes include local information utilization, limited bandwidth constraints, and effective communication strategies. We present fundamental concepts like spanning trees, minimum spanning trees, and the diameter of networks, along with an analysis of time complexity and communication rounds. This work connects historical bounds to current advancements, enhancing understanding of graph problems in distributed computing environments.
E N D
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
Distributed network Graph G of n nodes 2 1 5 3 4
Distributed network Graph G of n nodes Unique IDs 2 1 5 3 4
Distributed network Graph G of n nodes Unique IDs 2 Localinfor- mationonly 1 1 5 3 4
Distributed network Graph G of n nodes Unique IDs 2 Localinfor- mationonly 1 5 3 2 4 1 3 Slide inspiredbyDanuponNanongkai
Distributed network Graph G of n nodes Unique IDs 2 Localinfor- mationonly 1 5 3 2 ? 4 1 3
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
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
Count thenodes! Compute BFS-Tree
Count thenodes! 2 Compute BFS-Tree 2. Count nodes in subtrees 1 2 1 2 2 1 0 2 1 Runtime: ?
Count thenodes! Runtime: ? 2 Compute BFS-Tree 2. Count nodes in subtrees 1 2 1 2 2 1 0 2 1 Diameter
Diameter of a network • Distancebetweentwonodes = Numberof hops ofshortestpath
Diameter of a network • Distancebetweentwonodes = Numberof hops ofshortestpath
Diameter of a network • Distance between two nodes = Number of hops of shortest path • Diameter of network = Maximum distance, between any two nodes
Diameter of a network Diameter of thisnetwork? Distancebetweentwonodes = Number of hops of shortestpath Diameter of network = Maximum distance, betweenanytwonodes
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
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
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)
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]
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]
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]
Extentions Routing tables Socialnetworks Fightingspam
Extentions Combination with: [Peleg, Roditty, Tal 2012]
Extentions Combined with [Peleg, Roditty, Tal 2012]
APSP in O(n) Compute All Pairs Shortest Paths 0
APSP in O(n) Knows its distance to all other nodes Compute All Pairs Shortest Paths 0
APSP in O(n) Compute All Pairs Shortest Paths 0
APSP in O(n) Compute All Pairs Shortest Paths For each node { compute distances to all other nodes; } 0
APSP in O(n) Compute All Pairs Shortest Paths For each node { compute distances to all other nodes; } 1 1 1 0 1
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
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
APSP in O(n) Compute All Pairs Shortest Paths For each node { compute distances to all other nodes; O(D) } 0
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
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
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
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
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
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
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
APSP in O(n) Compute All Pairs Shortest Paths
APSP in O(n) Compute All Pairs Shortest Paths 1. Pick a root-node r r
APSP in O(n) Compute All Pairs Shortest Paths Pick a root-node r T := BFS-Tree(r) r
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
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
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
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