zero-skew trees
Post on 08-Jan-2016
70 Views
Preview:
DESCRIPTION
TRANSCRIPT
Zero-Skew TreesZero-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 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 4 approximation for general metric spaces• factor 3 approximation for rectilinear plane
ZST Lower-BoundZST Lower-Bound
R
rrNOPT0
d)( (CKKRST 99)
N(r)=min. # of balls of radius r that cover all sinks
ZST Lower-BoundZST Lower-Bound
R
rrNOPT0
d)( (CKKRST 99)
N(r)=min. # of balls of radius r that cover all sinks
ZST Lower-BoundZST Lower-Bound
R
rrNOPT0
d)( (CKKRST 99)
N(r)=min. # of balls of radius r that cover all sinks
ZST Lower-BoundZST Lower-Bound
R
rrNOPT0
d)( (CKKRST 99)
N(r)=min. # of balls of radius r that cover all sinks
ZST Lower-BoundZST Lower-Bound
R
rrNOPT0
d)( (CKKRST 99)
N(r)=min. # of balls of radius r that cover all sinks
Constructive Lower-BoundConstructive Lower-Bound
Computing N(r) is NP-hard, but …
Lemma: For any ordering of the terminals, if
},...,{MinDist2
11 ittr
ntt ,...,1
irN )( then
Constructive Lower-BoundConstructive Lower-Bound
R
rrNOPT0
d)(
r
N(r)
2
n
n-1
Stretching Rooted Spanning TreesStretching Rooted Spanning Trees• ZST root = spanning tree root
)(rootdelayT
where = max path length from to a leaf of
)(rootdelayT• ZST root-to-leaf path length =
)(vdelayT v vT
T
Stretching Rooted Spanning TreesStretching Rooted Spanning Trees
T
)(rootdelayTLoop length =
)(rootdelayT
Stretching Rooted Spanning TreesStretching Rooted Spanning Trees
T
)(rootdelayTSum of loop lengths =
)(rootdelayT
Zero-Skew Spanning Tree ProblemZero-Skew Spanning Tree Problem
)()( TdelayTlength
Theorem: Every rooted spanning tree can be
stretched to a ZST of total length
where
T
)()()(
TVv T vdelayTdelay
Zero-Skew Spanning Tree Problem: Find rooted
spanning tree minimizing )()( TdelayTlength T
How good are the MST and Min-Star?How good are the MST and Min-Star?
)(Nlength
.
..
MST: min length, huge delay
)( 2Ndelay
0
1
2
N-1
3
N-2
)log( NNOPT
)(Nlength …
…
Star: min delay, huge length
)1(delay
)1(OPT
The Rooted-Kruskal AlgorithmThe 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’ t
• t’ becomes child of t, root of merged tree is t
• d(t) max{ d(t), d(t’) + dist(t ,t’) }
t’ t
The Rooted-Kruskal AlgorithmThe 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’) }
How good is Rooted-Kruskal?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’) }
Lemma: delay(T) length(T)
• 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 )TT
• 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’)
How good is Rooted-Kruskal?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’) }
Lemma: length(T) 2 OPT
• Pick closest two roots, t & t’, where d(t) d(t’)
Number terminals in reverse order of becoming non-roots
N
iitt
21 },...,{MinDistlength(T) =
Factor 4 ApproximationFactor 4 Approximation
• Length after stretching = length(T) + delay(T)
• delay(T) length(T)
• length(T) 2 OPT
ZST length 4 OPT
Algorithm: Rooted-Kruskal + Stretching
Stretching Using Steiner PointsStretching Using Steiner Points
TStretchedT
)()( TdelayTlength )()( TdelayTlength )(2
1Tdelay
Factor 3 ApproximationFactor 3 Approximation
• Length after stretching = length(T) + ½ delay(T)
• delay(T) length(T)
• length(T) 2 OPT
ZST length 3 OPT
Algorithm: Rooted-Kruskal + Improved Stretching
Practical ConsiderationsPractical 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
Running TimeRunning 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
Extension to Other Metric SpacesExtension 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
Bounded-Skew TreesBounded-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
BST construction idea + lower boundBST 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 anyS SW
)1|(|)( WbBSTOPTWZSTOPT
Constructing the tree coverConstructing 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 Tu
Lemma: )()1|(| MSTlengthWb
BST ApproximationBST Approximation
Algorithm: Output tree cover approximate ZST on W
)factorion approximat ZST(
)()()(
WZSTOPTMSTlengthBSTlength
)(
)1|(|)(
MSTlengthBSTOPT
WbBSTOPTWZSTOPT
)ratioSteiner (
)(
BSTOPTSMTOPTMSTlength
BST ApproximationBST Approximation
BSTOPTBSTlength )()( Theorem:
ionapproximat 9factor 5.1,3 Rectilinear Plane:
ionapproximat 14factor 2,4 Arbitrary metric spaces:
ratioSteiner
factorion approximat ZST
Summary of ResultsSummary of Results
Problem Zero-Skew Bounded-skew
Metric General Rectilinear General Rectilinear
Previous
factor5.44 16.11 12.53
New
factor4 3 14 9
Open ProblemsOpen 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
top related