1 / 31

Zero-Skew Trees

Zero-Skew Trees. Zero-Skew Tree : rooted tree in which all root-to-leaf paths have the same length. Used in VLSI clock routing & network multicasting. The Zero-Skew Tree Problem. Zero-Skew Tree Problem Given: set of terminals in rectilinear plane

didier
Download Presentation

Zero-Skew Trees

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. Zero-Skew Trees Zero-Skew Tree: rooted tree in which all root-to-leaf paths have the same length Used in VLSI clock routing & network multicasting

  2. The Zero-Skew Tree Problem Zero-Skew Tree Problem Given: set of terminals in rectilinear plane Find: zero-skew tree with minimum total length • Previous results [CKKRST 99] • NP-hard for general metric spaces • factor 2e ~ 5.44 approximation • Our results: • factor 4approximation for general metric spaces • factor 3approximation for rectilinear plane

  3. (CKKRST 99) N(r)=min. # of balls of radius r that cover all sinks ZST Lower-Bound

  4. ZST Lower-Bound (CKKRST 99) N(r)=min. # of balls of radius r that cover all sinks

  5. ZST Lower-Bound (CKKRST 99) N(r)=min. # of balls of radius r that cover all sinks

  6. ZST Lower-Bound (CKKRST 99) N(r)=min. # of balls of radius r that cover all sinks

  7. ZST Lower-Bound (CKKRST 99) N(r)=min. # of balls of radius r that cover all sinks

  8. Lemma: For any ordering of the terminals, if then Constructive Lower-Bound Computing N(r) is NP-hard, but …

  9. n n-1 N(r) 2 r Constructive Lower-Bound

  10. ZST root-to-leaf path length = where = max path length from to a leaf of Stretching Rooted Spanning Trees • ZST root = spanning tree root

  11. Loop length = Stretching Rooted Spanning Trees

  12. Sum of loop lengths = Stretching Rooted Spanning Trees

  13. Theorem: Every rooted spanning tree can be stretched to a ZST of total length where Zero-Skew Spanning Tree Problem: Find rooted spanning tree minimizing Zero-Skew Spanning Tree Problem

  14. MST: min length, huge delay Star: min delay, huge length N-1 … N-2 . . . 3 2 1 … 0 How good are the MST and Min-Star?

  15. Initially each terminal is a rooted tree; d(t)=0 for all t • Pick closest two roots, t & t’, where d(t)  d(t’) • t’ becomes child of t, root of merged tree is t • d(t)  max{ d(t), d(t’) + dist(t ,t’) } t’ t’ t t The Rooted-Kruskal Algorithm • While  2 roots remain:

  16. Initially each terminal is a rooted tree; d(t)=0 for all t • While  2 roots remain: • Pick closest two roots, t & t’, where d(t)  d(t’) • t’ becomes child of t, root of merged tree is t • d(t)  max{ d(t), d(t’) + dist(t ,t’) } The Rooted-Kruskal Algorithm

  17. Initially each terminal is a rooted tree; d(t)=0 for all t • Initially each terminal is a rooted tree; d(t)=0 for all t • Initially each terminal is a rooted tree; d(t)=0 for all t • While  2 roots remain: • Pick closest two roots, t & t’, where d(t)  d(t’) • Pick closest two roots, t & t’, whered(t)  d(t’) • t’ becomes child of t, root of merged tree is t • d(t)  max{ d(t), d(t’) + dist(t ,t’) } • d(t)  max{ d(t), d(t’) + dist(t ,t’) } At the end of the algorithm, d(t)=delay (t ) At the end of the algorithm, d(t)=delay (t ) T T • When edge (t ,t’) is added to T: • length(T) increases by dist(t ,t’) • delay(T) increases by at most dist(t ,t’) How good is Rooted-Kruskal? Lemma: delay(T)  length(T)

  18. Initially each terminal is a rooted tree; d(t)=0 for all t • While  2 roots remain: • Pick closest two roots, t & t’, where d(t)  d(t’) • Pick closest two roots, t & t’, where d(t)  d(t’) • t’ becomes child of t, root of merged tree is t • d(t)  max{ d(t), d(t’) + dist(t ,t’) } Number terminals in reverse order of becoming non-roots length(T) = How good is Rooted-Kruskal? Lemma:length(T)  2 OPT

  19. Factor 4 Approximation Algorithm: Rooted-Kruskal + Stretching • Length after stretching = length(T) + delay(T) • delay(T)  length(T) • length(T)  2 OPT  ZST length  4 OPT

  20. Stretching Using Steiner Points

  21. Factor 3 Approximation Algorithm: Rooted-Kruskal + Improved Stretching • Length after stretching = length(T) + ½ delay(T) • delay(T)  length(T) • length(T)  2 OPT  ZST length  3 OPT

  22. Practical Considerations • For a fixed topology, minimum length ZST can be found in linear time using the Deferred Merge Embedding (DME) algorithm [Eda91, BK92, CHH92] • Practical algo: Rooted-Kruskal + Stretching + DME Theorem: Both stretching algorithms lead to the same ZST topology when applied to the Rooted-Kruskal tree

  23. Running Time • Stretching: O(N logN) • Rooted-Kruskal: O(N logN) using the dynamic closest-pair data structure of [B98] • DME: O(N) [Eda91, BK92, CHH92] O(N logN) overall

  24. 2 • Running time of Rooted-Kruskal becomes O(N ) Extension to Other Metric Spaces Everything works as in rectilinear plane, except: • No equivalent of DME known for other spaces • The space must be metrically convex to apply second stretching algorithm

  25. Bounded-Skew Trees b-bounded-skew tree: difference between length of any two root-to-leaf paths is at most b Bounded-Skew Tree Problem: given a set of terminals and bound b>0, find a b-bounded-skew tree with minimum total length • Previous approximation guarantees [CKKRST 99]: • factor 16.11 for arbitrary metrics • factor 12.53 for rectilinear plane Our results: factor 14, resp. 9 approximation

  26. Lemma: For any set of terminals, and any BST construction idea + lower bound Two stage BST construction: • Cover terminals by disjoint b-bounded-skew trees • Connect roots via a zero-skew tree

  27. T MST on terminals, rooted arbitrarily • W  • While T   do: • Find leaf of T furthest from the root • Find its highest ancestor u that still has delay b • Add u to W • Add T to the tree cover and delete it from T u Lemma: Constructing the tree cover

  28. BST Approximation Algorithm: Output tree cover  approximate ZST on W

  29. Theorem: Rectilinear Plane: Arbitrary metric spaces: BST Approximation

  30. Summary of Results

  31. Open Problems • Complexity of ZST problem in rectilinear plane • Complexity of finding the spanning tree with minimum length+delay? • Zero-skew Steiner ratio: supremum, over all sets of terminals, of the ratio between minimum ZST length and minimum spanning tree length+delay • What is the ratio for rectilinear plane? • What is the ratio for arbitrary spaces? ( 4, 3) • Planar ZST / BST

More Related