Title: Ion I. Mandoiu
1Approximation Algorithms for VLSI Routing
- Ion I. Mandoiu
- Ph.D. Defense of Research
- August 11, 2000
2VLSI Routing
VLSI Physical Design Electrical description ?
Geometrical layout
VLSI Global Routing Given locations for net
terminals Find tree interconnection for each net
- Minimizing
- total length (RSMT problem)
- skew (ZST problem)
- number of buffers (MSPT problem)
-
3Overview of Results
Single-net routing
- New RSMT heuristic
- runs ?10 times faster, and gives higher-quality
solutions than previous best RSMT heuristic
- Improved ZST approximation algorithms
- very fast O(n log n) running time
- Tight analysis of the MST heuristic for MSPT
Multi-net routing
- MCF-based approximation algorithms for global
buffering via buffer blocks
4 5The RSMT problem
MST gives 3/2 approximation H76
6Why RSMT?
- Minimum wire length gives
- Minimum area
- Minimum resistance/capacitance
- RSMT used for
- Non-critical nets
- Physically small instances
7Key Results on RSMT Problem
- Iterated 1-Steiner heuristic KR90
- Greedily adds Steiner points to the tree
- Almost 11 improvement over MST on average
- Fast batched implementation (BI1S)
- Exact algorithm GeoSteiner 3.0 WWZ98
- Branch-and-cut
- 11.5 improvement over MST on average
- Average speed comparable to BI1S!!!
8The IRV Algorithm High-Level Idea
- Iterative method in each step add/remove one
Steiner point to/from tree
- Unlike Iterated 1-Steiner heuristic, do not
insist on choosing best Steiner point in each step
- Steiner point to be added is chosen using a
powerful LP formulation of the Steiner tree
problem in graphs, called the bidirected cut
formulation
9The Bidirected Cut Formulation
10The Bidirected Cut Formulation
11The Bidirected Cut Formulation
12The Bidirected Cut Formulation
C
C
Valid cut
13The Bidirected Cut Formulation (cont.)
14The Bidirected Cut Formulation (cont.)
LP relaxation
15The Bidirected Cut Formulation (cont.)
Dual LP
LP relaxation
16The Bidirected Cut Formulation (cont.)
Dual LP
LP relaxation
- Gives optimum integer solution if all vertices
are terminals, i.e., for the MST problem (E 66) - Integrality gap believed to be very close to 1
17The RV Algorithm
- RV99 3/2 approximation algorithm for Steiner
tree problem in graphs based on bidirected cut
formulation
- Applies only to quasi-bipartite graphs, i.e.,
graphs with no edges connecting pairs of Steiner
vertices
- Uses the primal-dual method for approximation
algorithms
18Adaptation to General Graphs
- Remove Steiner-Steiner edges from graph G
- Run RV algorithm on remaining graph
- Repeat, treating Steiner vertices picked by the
RV algorithm as terminals - Stop when no new Steiner vertices are picked
19Implementation Issues
- Size of graphs resulting from reduction to grid
is a potential bottleneck - Use efficiently computable reductions
- Vertex reduction based on the empty rectangle
test - Edge reductions based on bound on max. degree of
geometric MSTs (RS 95)
20Experimental Setup
- Test bed for experiments
- Random instances ranging in size between 10 and
250 terminals, 1000 instances/size - Instances extracted from industrial designs
- Measure of quality percent improvement over MST
21Average Improvement over MST
22Average CPU Time
23Results on Industrial Instances
No Term
24- Improved ZST and BST Approximation Algorithms
25Zero-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
26The 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 CKKRST99
- 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
27Overview
- Constructive lower-bound on optimum ZST length
- Converting spanning tree to zero-skew trees
- Finding spanning trees with small conversion
cost - Improved conversion using Steiner points
- Approximation algorithms for bounded-skew trees
- Conclusions and open problems
28ZST Lower-Bound
29ZST Lower-Bound
(CKKRST 99)
N(r)min. of balls of radius r that cover all
sinks
30ZST Lower-Bound
(CKKRST 99)
N(r)min. of balls of radius r that cover all
sinks
31ZST Lower-Bound
(CKKRST 99)
N(r)min. of balls of radius r that cover all
sinks
32ZST Lower-Bound
(CKKRST 99)
N(r)min. of balls of radius r that cover all
sinks
33Constructive Lower-Bound
Computing N(r) is NP-hard, but
34Constructive Lower-Bound
35Stretching Rooted Spanning Trees
- ZST root spanning tree root
36Stretching Rooted Spanning Trees
37Stretching Rooted Spanning Trees
38Zero-Skew Spanning Tree Problem
39How good are the MST and Min-Star?
40The Rooted-Kruskal Algorithm
41The Rooted-Kruskal Algorithm
42How good is Rooted-Kruskal?
Lemma delay(T) ? length(T)
43How good is Rooted-Kruskal?
Lemma length(T) ? 2 OPT
44Factor 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
45Stretching Using Steiner Points
46Factor 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
47Practical 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
48Running 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
49Extension 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
50Bounded-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 bgt0, 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
51BST construction idea lower bound
Two stage BST construction
- Cover terminals by disjoint b-bounded-skew trees
- Connect roots via a zero-skew tree
52Constructing the tree cover
53BST Approximation
Algorithm Output tree cover ? approximate ZST on
W
54BST Approximation
55Summary of Results on ZST/BST
Problem Zero-Skew Zero-Skew Bounded-skew Bounded-skew
Metric General Rectilinear General Rectilinear
Previous factor 5.44 5.44 16.11 12.53
New factor 4 3 14 9
56Open Problems
- Complexity of ZST problem in rectilinear plane
- Complexity of finding the spanning tree with
minimum lengthdelay? - Zero-skew Steiner ratio supremum, over all
sets of terminals, of the ratio between minimum
ZST length and minimum spanning tree lengthdelay - What is the ratio for rectilinear plane?
- What is the ratio for arbitrary spaces? ( ?4,
?3) - Planar ZST / BST
57- Tight Analysis of the MST Heuristic for MSPT
58The MSPT Problem
MSPT Problem find bounded edge-length Steiner
tree with min. number of Steiner points
59The MST Heuristic for MSPT
- Find MST, subdivide edges to meet edge-length
constraints
LX99 Approximation factor ?5 in Euclidean plane
Our result Approximation factor of MST heuristic
is D-1, where D is the MST number of the space
(maximum possible degree of a minimum-degree MST)
? Factor 3 in rectilinear plane, 4 in Euclidean
plane
60- Provably Good Global Buffering by MTMCF
Approximation
61Global Routing via Buffer Blocks
62Global Buffering Problem
- Given
- L/U bounds on edge lengths
- buffer block locations and capacities
- list of nets, each net has
- upper-bound and parity requirement on buffers
for each source-sink path - non-negative weight (criticality coefficient)
- Find routing of a max. weight set of nets
s.t. - each edge length is between L and U
- buffers for any source-sink pair satisfy given
constraints - of nets passing through buffer block b ?
capacity(b)
63Integer MTMCF Formulation
Approach solve LP relaxation randomized
rounding
64MTMCF Approximation
- Garg/Konemann Fleisher (edge-cap. MCF)
- ?-MCF algorithm
- w(v) ?, f 0
- For i 1 to N do
- For k 1,,K do
- Find min. weight valid tree T for net k
- While w(T) lt min 1, ?(12?)i do
- f(T) f(T)1
- For every v, w(v) ? (1 ??(T,v)/c(v))w(v)
- End while
- End for
- End for
- Output f/N
65Rounding fractional MCF
- Raghavan-Thompson random walk from source
- probability of choosing an arc/node proport. node
flow - Probability of routing net proportional net flow
- Algorithm
- decrease flow by (1-?)
- route nets with randomized rounding
- With high probability no node capacity violations
66Experimental results
67Conclusions
- Improved approximation algorithms and heuristics
for NP-hard problems arising in VLSI routing - Experimentally validated, theoretical
guarantees doubled by good practical results