Download presentation
Presentation is loading. Please wait.
1
Ion I. Mandoiu Ph.D. Defense of Research August 11, 2000 Approximation Algorithms for VLSI Routing
2
VLSI 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) …
3
Overview 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
A New RSMT Heuristic
5
The RSMT problem RSMT Steiner point MST MST gives 3/2 approximation [H76]
6
Why RSMT? Minimum wire length gives Minimum area Minimum resistance/capacitance RSMT used for: Non-critical nets Physically small instances
7
Key Results on RSMT Problem Reduction to discrete grid [H66] NP-hard [GJ77] 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!!!
8
The 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
9
The Bidirected Cut Formulation
12
Valid cut C C
13
The Bidirected Cut Formulation (cont.)
14
LP relaxation
15
The Bidirected Cut Formulation (cont.) LP relaxation Dual LP
16
The Bidirected Cut Formulation (cont.) LP relaxation Dual LP 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
17
The 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
18
Adaptation 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
19
Implementation 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)
20
Experimental 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
21
Average Improvement over MST
22
Average CPU Time
23
Results on Industrial Instances No Term:
24
Improved ZST and BST Approximation Algorithms
25
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
26
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 [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
27
Overview 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
28
ZST Lower-Bound (CKKRST 99) N(r)=min. # of balls of radius r that cover all sinks
29
ZST Lower-Bound (CKKRST 99) N(r)=min. # of balls of radius r that cover all sinks
30
ZST Lower-Bound (CKKRST 99) N(r)=min. # of balls of radius r that cover all sinks
31
ZST Lower-Bound (CKKRST 99) N(r)=min. # of balls of radius r that cover all sinks
32
ZST Lower-Bound (CKKRST 99) N(r)=min. # of balls of radius r that cover all sinks
33
Constructive Lower-Bound Computing N(r) is NP-hard, but … Lemma: For any ordering of the terminals, if then
34
Constructive Lower-Bound r N(r) 2 n n-1
35
Stretching Rooted Spanning Trees ZST root = spanning tree root where = max path length from to a leaf of ZST root-to-leaf path length =
36
Stretching Rooted Spanning Trees Loop length =
37
Stretching Rooted Spanning Trees Sum of loop lengths =
38
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
39
How good are the MST and Min-Star?... MST: min length, huge delay 0 1 2 N-1 3 N-2 … … Star: min delay, huge length
40
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’t t’ becomes child of t, root of merged tree is t d(t) max{ d(t), d(t’) + dist(t,t’) } t’t
41
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’) }
42
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’)
43
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 length(T) =
44
Factor 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
45
Stretching Using Steiner Points
46
Factor 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
47
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
48
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
49
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
50
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
51
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
52
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:
53
BST Approximation Algorithm: Output tree cover approximate ZST on W
54
BST Approximation Theorem: Rectilinear Plane: Arbitrary metric spaces:
55
Summary of Results on ZST/BST ProblemZero-SkewBounded-skew Metric GeneralRectilinearGeneralRectilinear Previous factor 5.4416.1112.53 New factor 43149
56
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
57
Tight Analysis of the MST Heuristic for MSPT
58
The MSPT Problem MSPT Problem: find bounded edge-length Steiner tree with min. number of Steiner points
59
The MST Heuristic for MSPT Find MST, subdivide edges to meet edge-length constraints 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 [LX99] Approximation factor 5 in Euclidean plane
60
Provably Good Global Buffering by MTMCF Approximation
61
Global Routing via Buffer Blocks BB
62
Global 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)
63
Integer MTMCF Formulation Approach: solve LP relaxation + randomized rounding
64
MTMCF 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) < min{ 1, (1+2 )^i} do f(T)= f(T)+1 For every v, w(v) (1+ (T,v)/c(v))*w(v) End while End for Output f/N
65
Rounding 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
66
Experimental results
67
Conclusions Improved approximation algorithms and heuristics for NP-hard problems arising in VLSI routing Experimentally validated, theoretical guarantees doubled by good practical results
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.