Presentation is loading. Please wait.

Presentation is loading. Please wait.

Ion I. Mandoiu Ph.D. Defense of Research August 11, 2000 Approximation Algorithms for VLSI Routing.

Similar presentations


Presentation on theme: "Ion I. Mandoiu Ph.D. Defense of Research August 11, 2000 Approximation Algorithms for VLSI Routing."— Presentation transcript:

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

10

11

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


Download ppt "Ion I. Mandoiu Ph.D. Defense of Research August 11, 2000 Approximation Algorithms for VLSI Routing."

Similar presentations


Ads by Google