Download presentation
Presentation is loading. Please wait.
Published byBruce Snow Modified over 5 years ago
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
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 4 approximation for general metric spaces factor 3 approximation for rectilinear plane
3
ZST Lower-Bound (CKKRST 99)
N(r)=min. # of balls of radius r that cover all sinks
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
Constructive Lower-Bound
Computing N(r) is NP-hard, but … Lemma: For any ordering of the terminals, if then
9
Constructive Lower-Bound
N(r) 2 n n-1
10
Stretching Rooted Spanning Trees
ZST root = spanning tree root where = max path length from to a leaf of ZST root-to-leaf path length =
11
Stretching Rooted Spanning Trees
Loop length =
12
Stretching Rooted Spanning Trees
Sum of loop lengths =
13
Zero-Skew Spanning Tree Problem
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
14
How good are the MST and Min-Star?
. MST: min length, huge delay 1 2 N-1 3 N-2 … Star: min delay, huge length
15
The Rooted-Kruskal Algorithm
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’ t t’ becomes child of t, root of merged tree is t d(t) max{ d(t), d(t’) + dist(t ,t’) } t’ t
16
The Rooted-Kruskal Algorithm
While 2 roots remain: 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’) }
17
How good is Rooted-Kruskal?
Initially each terminal is a rooted tree; d(t)=0 for all t d(t) max{ d(t), d(t’) + dist(t ,t’) } At the end of the algorithm, d(t)=delay (t ) T While 2 roots remain: 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 Pick closest two roots, t & t’, where d(t) d(t’) Initially each terminal is a rooted tree; d(t)=0 for all t At the end of the algorithm, d(t)=delay (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’) Lemma: delay(T) length(T)
18
How good is Rooted-Kruskal?
While 2 roots remain: 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’) } Pick closest two roots, t & t’, where d(t) d(t’) Number terminals in reverse order of becoming non-roots length(T) = Lemma: length(T) 2 OPT
19
Factor 4 Approximation ZST length 4 OPT
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 ZST length 3 OPT
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 O(N logN) overall 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
Extension to Other Metric Spaces
Everything works as in rectilinear plane, except: 2 Running time of Rooted-Kruskal becomes O(N ) 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 for arbitrary metrics factor for rectilinear plane Our results: factor 14, resp. 9 approximation
26
BST construction idea + lower bound
Two stage BST construction: Cover terminals by disjoint b-bounded-skew trees Connect roots via a zero-skew tree Lemma: For any set of terminals, and any
27
Constructing the tree cover
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:
28
BST Approximation Algorithm: Output tree cover approximate ZST on W
29
BST Approximation Theorem: Rectilinear Plane: Arbitrary metric spaces:
30
Summary of Results 5.44 16.11 12.53 4 3 14 9 Problem Zero-Skew
Bounded-skew Metric General Rectilinear Previous factor 5.44 16.11 12.53 New 4 3 14 9
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.