1 / 53

Distributed MST for Constant Diameter Graphs

Distributed MST for Constant Diameter Graphs. Zvi Lotker & Boaz Patt-Shamir & David Peleg . Model and Notation. G(V,E ) is the network Each vertex has a unique name Each edge has a weight Vertices communicate only by edges The communication is synchronous

nevaeh
Download Presentation

Distributed MST for Constant Diameter Graphs

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. Distributed MST for Constant Diameter Graphs Zvi Lotker & Boaz Patt-Shamir & David Peleg

  2. Model and Notation • G(V,E) is the network • Each vertex has a unique name • Each edge has a weight • Vertices communicate only by edges • The communication is synchronous • Exactly Bbits are sent at each time step • D is the diameter of the graph

  3. Related work • If B= then O(D) [N. Linial 92] • If B=O(log(n)) communication optimal required O(n•log(n)) and O(n) time [GHS83] and [A87]respectively • O(D+n0.613 •log*(n)), O(D+n0.5 •log*(n)) [GKP98], [KP98] respectively • (n0.5/(B•log(n))) [PR00]

  4. Our results lower bound • There exists a family of graphs with diameter 4 s.t ((n1/3)/B) • There exists a family of graphs with diameter 3 s.t ((n1/4)/(B0.5)) • The lower bound holds for randomized algorithms

  5. Our results graph with diameter 2 • O(log n) time units suffice to compute an MST for graphs with diameter 2

  6. The mailing problem [PR00] mail(G,s,r,b) • G(V,E) • s,rV • We wish to send x1, x2,… xbbits from s to r • We denote the worst-case time complexity of algorithm A by TA(G,s,r,b)

  7. The mailing problem Exmpal mail(Pn,s,r,b) • TA(Pn,s,r,b)>b s r t=1

  8. The mailing problem Exmpal mail(Pn,s,r,b) • TA(Pn,s,r,b)>b s r t=2

  9. The mailing problem Exmpal mail(Pn,s,r,b) • TA(Pn,s,r,b)>b s r t=3

  10. The mailing problem Exmpal mail(Pn,s,r,b) • TA(Pn,s,r,b)>b s r t=4

  11. The mailing problem Exmpal mail(Pn,s,r,b) • TA(Pn,s,r,b)>b s r t=5

  12. The mailing problem Exmpal mail(Pn,s,r,b) • TA(Pn,s,r,b)>b s r t=6

  13. The mailing problem Exmpal mail(Pn,s,r,b) • TA(Pn,s,r,b)>b s r t=7

  14. The mailing problem Exmpal mail(Pn,s,r,b) • TA(Pn,s,r,b)>b TA(Pn,s,r,b)=n+b s r t=8

  15. c s=v1,m2+1 r=vm,m2+1 v2,m2+1 v3,m2+1 vm,m2 v2,m2 v3,m2 v1,2 v2,2 v3,2 vm,2 v1,1 v2,1 v3,1 vm,1 Diameter 4 graphs

  16. c s=v1,m2+1 r=vm,m2+1 v2,m2+1 v3,m2+1 vm,m2 v2,m2 v3,m2 v1,2 v2,2 v3,2 vm,2 v1,1 v2,1 v3,1 vm,1 Diameter 4 graphs • For all m> 2, the number of nodes is m^3+m+1 and the diameter is 4

  17. c s=v1,m2+1 r=vm,m2+1 v2,m2+1 v3,m2+1 vm,m2 v2,m2 v3,m2 v1,2 v2,2 v3,2 vm,2 v1,1 v2,1 v3,1 vm,1 Diameter 4 graphs 2 6 8 m+2

  18. c s=v1,m2+1 r=vm,m2+1 v2,m2+1 v3,m2+1 vm,m2 v2,m2 v3,m2 v1,2 v2,2 v3,2 vm,2 v1,1 v2,1 v3,1 vm,1 Diameter 4 graphs • For any time t<m the number of bits delivered at r by time t is at most t•m•B

  19. Diameter 4 graphs • For any time t<m the number of bits delivered at r by time t is at most t•m•B • For any correct mailing algorithm A, any m> 2 and any m^2 bit input string X, we have TA(hm,s,r,X)> m/B. • t•m•B>m^2t>m/b

  20. Diameter 4 graphsFrom mailing to MST 0 1,3 2

  21. Diameter 4 graphsFrom mailing to MST 0 1,3 2

  22. km z2 r=zm z3 s z1 v1,m3 vm,m3 v2,m3 v3,m3 v1,2 v2,2 v3,2 vm,2 vm,1 v1,1 v2,1 v3,1 Diameter 3 graphs • For all m> 2, the number of nodes is m^4+m+1 and the diameter is 3

  23. Diameter 3 graphs km z2 r=zm z3 2 s z1 4 v1,m3 m+2 vm,m3 v2,m3 v3,m3 v1,2 v2,2 v3,2 vm,2 vm,1 v1,1 v2,1 v3,1

  24. Diameter 3 graphs M4 km z2 r=zm z3 s z1 v1,m3 vm,m3 v2,m3 v3,m3 v1,2 v2,2 v3,2 vm,2 vm,1 v1,1 v2,1 v3,1

  25. Diameter 3 graphs km z2 r=zm z3 s z1 v1,m3 vm,m3 v2,m3 v3,m3 v1,2 v2,2 v3,2 vm,2 vm,1 v1,1 v2,1 v3,1

  26. For any t<m, new bits that arrive at C enter only at nodes zi with 1 i  t. Diameter 3 graphs km z2 r=zm z3 s z1 v1,m3 vm,m3 v2,m3 v3,m3 v1,2 v2,2 v3,2 vm,2 vm,1 v1,1 v2,1 v3,1

  27. For t< m, the number of bits arriving at r by time t is less than t^2mB/2. Diameter 3 graphs km z2 r=zm z3 s z1 v1,m3 vm,m3 v2,m3 v3,m3 v1,2 v2,2 v3,2 vm,2 vm,1 v1,1 v2,1 v3,1

  28. The minimax principle [Yao 77] If for some probability distribution over the inputs the expected cost for all deterministic algorithms is at least C, then for any randomized algorithm there exists an input with expected complexity at leastC.

  29. Segmented minima • D=2 • For each vV we have segment number f(v) and value a(v) • The task of segmented minima is to compute b(v)= min{ a(v):f(v)=f(u)}

  30. Solving Segmented minima • Lemma: Segmented minima can be computed in 2 steps in the B model, • Send (f(v),a(v)) to all neighbors • Send to each neighbor u the minimal value received from u 's segment • Set b(v) to be the minimum of all values received in the second step

  31. Solving Segmented minima 4 8 3 7 6 2 5 1

  32. 3,4,6,8 2,4,7,8 2,4,5,7 1,3,6,8 1,4,6 2,5,8 Solving Segmented minima • Send (f(v),a(v)) to all neighbors 1,2,3,4,7 3,5,6,7,8 4 8 3 7 6 2 5 1

  33. 3,6 2,7 2,5 1,6 1,6 2,5 Solving Segmented minima • Send to each neighbor u the minimal value received from u 's segment 1,7 1,2,3,4,7 3,5 3,5,6,7,8 4 8 3 3,4,6,8 2,4,7,8 7 6 2,4,5,7 1,3,6,8 2 5 1,4,6 2,5,8 1

  34. Solving Segmented minima • Set b(v) to be the minimum of all values received in the second step 1,3,2,1,2 5,7,6,5,6 1,2,3,4,7 3,5,6,7,8 4 8 3 5,7,7,5 1,3,3,1 3,4,6,8 ,2,4,7,8 7 5,6,6,6 6 1,2,2,2 2,4,5,7 1,3,6,8 2 5,5,5 1,1,1 5 1,4,6 2,5,8 1

  35. definition • A fragment is a collection of nodes connected by edges already added to the MST. • The leader of a fragment is the node whose ID is minimal in the fragment. • At any given time step, we use f(v) to denote the leader of the fragment that contains a node v

  36. Phase k • Each fragment adds one edge to the MST (using the leader). By doing this a new structure of fragments is created • Each new fragment chooses a new leader.

  37. A simple O(log^2 n) time algorithm derived from Boruvka's • All nodes in a fragmentknow the ID of their leader at the beginning of every Phase • Initially, each node forms a singleton fragment with itself being the leader

  38. Phase k • Each node v sends the ID of its current leader f(v) to all its neighbors • The nodes execute segmented minima, with the values being the weight of their lightest incident edge outgoing to another fragment • Find the leader of the fragment using pointer jumping.

  39. Example 8 7 10 10 10 10 10 10 4 1 2 3 6 5 5 7 4 1 6 2 3

  40. 8 7 10 10 10 10 10 10 4 1 2 3 6 5 5 7 4 1 6 2 3 Phase 1The problem is to select a leader

  41. O(Log(log(n))) in KnElan Pavlov • The idea is the increase the communication bandwidth the fragment • The alg work in phases each take O(1) • For every fragment F, the spanning subtree T(F) is know to all the node in the graph at the end of the time the fragmen is created.

  42. Example

  43. Phase k • For every other fragmen F' do: • Compute the minimum-weight edgee(v,F') that connects v to (any node of) F'. • Send e(v,F') to every node in the fragmen F'. • For every other fragmen F', inspect e(w,F) for every wF‘ and compute the fragmen edge between F' and F, denoted e(F,F') • selects a set A(F) containing the N cheapest edges that go out of F to N distinct fragmen end for each edgee appointed as guardian. • computes the new fragmen and spanning subtree of phase k.

  44. computes the new fragmen • Done in two stages • creating a logicalgraph G. • partitions this logical graph G into superclusters and constructs a spanning subtree.

  45. computes the new fragmen partitions this logical graph into superclusters and constructs a spanning subtree. • Inspects the edges that where selected sequentially in increasing order of weight. • Edge e is added to G if it does not close a cycle with edges already in G. • Whenever an edge e=(F1,F2) is added to G the superclusters F1 and F2 are merged into one supercluster

  46. computes the new fragmen • newly constructed super- fragmen F is declared finished if • e is the heaviest edge in A(F1) or in A(F2), • Either F1or F2 is finished. • The super-cluster F is declared finished if e is the heaviest edge.

  47. End

  48. 4 1 2 3 6 5 5 7 4 1 6 2 3 Example 8 7 10 10 10 10 10 10 10 7 10

More Related