Presentation is loading. Please wait.

Presentation is loading. Please wait.

A.B. Kahng, Ion I. Mandoiu University of California at San Diego, USA A.Z. Zelikovsky Georgia State University, USA Supported in part by MARCO GSRC and.

Similar presentations


Presentation on theme: "A.B. Kahng, Ion I. Mandoiu University of California at San Diego, USA A.Z. Zelikovsky Georgia State University, USA Supported in part by MARCO GSRC and."— Presentation transcript:

1 A.B. Kahng, Ion I. Mandoiu University of California at San Diego, USA A.Z. Zelikovsky Georgia State University, USA Supported in part by MARCO GSRC and Cadence Design Systems, Inc. Highly Scalable Algorithms for Rectilinear and Octilinear Steiner Trees

2 ASP-DAC 2003, Kitakyushu, Japan2 Outline Single net routing problem –Problem definition –Previous work –Motivation for highly scalable heuristics The batched greedy algorithm –High-level algorithm –Efficient generation of triples –Efficient bottleneck-edge computation Experimental results and conclusions Single net routing problem –Problem definition –Previous work –Motivation for highly scalable heuristics The batched greedy algorithm –High-level algorithm –Efficient generation of triples –Efficient bottleneck-edge computation Experimental results and conclusions

3 ASP-DAC 2003, Kitakyushu, Japan3 Single Net Routing Problem terminals Given: set of terminals in the plane minimum length interconnection Find: minimum length interconnection Rectilinear (Manhattan) routing Octilinear (X) routing Steiner points  Rectilinear/Octilinear Minimum Steiner Trees (RMST/OMST)

4 ASP-DAC 2003, Kitakyushu, Japan4 Why Minimum Steiner Tree Routing? Advantages –Minimum routing area –Minimum total capacitance –Reduced power consumption Steiner tree routing appropriate for –Non-critical nets –Physically small instances

5 ASP-DAC 2003, Kitakyushu, Japan5 Long history –Euclidean version [Gauss 1836] –Rectilinear version [Hanan 1966] –Octilinear version [Sarrafzadeh&Wong 1992] –Steiner tree problem in graphs [Hakimi/Levin 1971] Fundamental results –All versions are NP-hard –All versions are NP-hard [Karp 1972, GJ77] –Minimum Spanning Tree (MST) gives good approximation factor 2Always within factor 2 of optimum [3 papers, 1979-1981] factor 1.5Within factor 1.5 in rectilinear plane [Hwang 1976] Previous Work on Steiner Tree Problem

6 ASP-DAC 2003, Kitakyushu, Japan6 Exact algorithms GeoSteiner – GeoSteiner [Warme,Winter&Zachariasen] Approximation algorithms –Zelikovsky 1993, Berman&Ramaier 1994, Hougardy&Promel 1999, Rajagopalan&Vazirani 1999, Robins&Zelikovsky 2000, … Best-performing RSMT heuristics (within ~0.5% of optimum) –Iterated 1-Steiner heuristic [Kahng&Robins 1992] –Edge-based heuristic [Borah,Owens&Irwin 1999] –Iterated Rajagopalan-Vazirani [Mandoiu,Vazirani&Ganley 2000] Not practical for tens of thousands of terminals! Previous RSMT/OSMT Algorithms

7 ASP-DAC 2003, Kitakyushu, Japan7 Motivation for Highly Scalable Heuristics Most nets are small (<20 terminals)… But nets with >10 4 terminals become increasingly common –Scan-enable nets in large designs using full-scan test All flip-flops need to receive the scan-enable signal –Nets with pre-routes and non-zero terminal dimensions Each terminal represented by set of electrically equivalent pins  RSMT/OSMT instances with up to 10 5 pins

8 ASP-DAC 2003, Kitakyushu, Japan8 Requirements for Highly Scalable RSMT/OSMT Heuristics Linear memory Sub-quadratic runtime Solutions within ~0.5% of optimum Previous Steiner tree heuristics do not meet first two requirements

9 ASP-DAC 2003, Kitakyushu, Japan9 Outline Single net routing problem –Problem definition –Previous work –Motivation for highly scalable heuristics The batched greedy algorithm –High-level algorithm –Efficient generation of triples –Efficient bottleneck-edge computation Experimental results and conclusions

10 ASP-DAC 2003, Kitakyushu, Japan10 Triple Contraction Connect 3 terminals (=triple) using shortest connection Remove longest edge on each of the 2 formed cycles GAIN = -

11 ASP-DAC 2003, Kitakyushu, Japan11 High-level Algorithm Greedy Triple-Contraction Algorithm [Zelikovsky 1993]: 1.Compute MST of terminals 2.While there exist triples with positive gain, do: Find triple with maximum gain Contract triple: remove longest edges, replace triple with 2 zero-cost edges 3.Output MST of terminals and centers of contracted triples Expensive to compute max-gain triple in Step 2 Best implementation uses complex dynamic MST datastructures We use a batched implementationWe use a batched implementation –Find positive-gain triples without recomputing gains –Contract triples in descending order of gain without recomputing gains –A triple is selected if 2 longest edges –A triple is selected if 2 longest edges not used by previous triples

12 ASP-DAC 2003, Kitakyushu, Japan12 Efficient Generation of Triples O(n 3 ) triples overall Use geometry to avoid generating all of them! a set of O(n) triples with –[Fossmeier,Kaufmann&Zelikovsky 1997]: sufficient to consider a set of O(n) triples with Empty interior (  no other terminal in bounding box) Positive gainPositive gain We use a practical O(nlogn) divide-and-conquer algorithm to compute a superset of size O(n logn) –Some triples may have negative gain Eliminated after gain computation –Some triples may be non-empty Can be removed, but too few to justify the extra testing time

13 ASP-DAC 2003, Kitakyushu, Japan13 Divide-and-conquer for Empty Triples

14 ASP-DAC 2003, Kitakyushu, Japan14 Divide-and-conquer for Empty Triples

15 ASP-DAC 2003, Kitakyushu, Japan15 Divide-and-conquer for Empty Triples

16 ASP-DAC 2003, Kitakyushu, Japan16 Divide-and-conquer for Empty Triples

17 ASP-DAC 2003, Kitakyushu, Japan17 Efficient Bottleneck-edge Computation Bottleneck edges needed for computing triple gains Given: tree T, vertices u,v Find: most expensive edge on path between u and v We give a new data structure –O(logn) time per bottleneck-edge query –O(n logn) pre-processing (O(n) if edges already sorted) –Much more practical than methods based on least-common-ancestors  Gain evaluation in O(logn) time per triple  O(n log 2 n) total time for the batched greedy algorithm

18 ASP-DAC 2003, Kitakyushu, Japan18 Outline Single net routing problem –Problem definition –Previous work –Motivation for highly scalable heuristics The batched greedy algorithm –High-level algorithm –Efficient generation of triples –Efficient bottleneck-edge computation Experimental results and conclusions

19 ASP-DAC 2003, Kitakyushu, Japan19 Experimental Setup Testcases –Random nets with 100 to 500,000 terminals 100 samples for each size –Nets extracted from recent designs (330 to 34,000 terminals) Compared algorithms O(n log 2 n) –Batched greedy O(n log 2 n) O(n logn) –MST [Guibas&Stolfi 1983] O(n logn) O(nlog 2 n) –Prim-based heuristic [Rohe 2001] O(nlog 2 n) O(n 2 ) –Edge-based heuristic of [Borah,Owens&Irwin 1999] O(n 2 ) –GeoSteiner 4.0, beta version [Nielsen,Winter&Zachariasen 2002]

20 ASP-DAC 2003, Kitakyushu, Japan20 Quality: Random Rectilinear Tests BatchGreedy quality slightly better than Edge-based, 1% better than Prim-based BatchGreedy quality slightly better than Edge-based, 1% better than Prim-based Within 0.7% of optimum computed by GeoSteiner Within 0.7% of optimum computed by GeoSteiner

21 ASP-DAC 2003, Kitakyushu, Japan21 CPU Time: Random Rectilinear Tests highly scalable, practical runtime up to 10 5 terminals BatchGreedy highly scalable, practical runtime up to 10 5 terminals Edge-Based impractical for >10 4 terminals Edge-Based impractical for >10 4 terminals

22 ASP-DAC 2003, Kitakyushu, Japan22 CPU Time: Rectilinear Industry Tests 86 minutes Edge-based 34k terminals: 24 seconds BatchGreedy vs. 86 minutes Edge-based

23 ASP-DAC 2003, Kitakyushu, Japan23 Quality: Rectilinear Industry Tests BatchGreedy up to 1% better than Prim-Based, within 0.5% of GeoSteiner Edge-Based Slightly better than Edge-Based in half of the cases

24 ASP-DAC 2003, Kitakyushu, Japan24 CPU Time: Octilinear Industry Tests 17.5 hours Edge-based 34k terminals: 25 seconds BatchGreedy vs. 17.5 hours Edge-based Octilinear Prim-Based not available

25 ASP-DAC 2003, Kitakyushu, Japan25 Quality: Octilinear Industry Testcases Edge-Based, within 0.5% of GeoSteiner BatchGreedy slightly better than Edge-Based, within 0.5% of GeoSteiner

26 ASP-DAC 2003, Kitakyushu, Japan26 Conclusions Presented new rectilinear/octilinear Steiner tree heuristic –Highly-scalable O(n) memory, O(nlog 2 n) runtime, with small hidden constants –High-quality Better quality than O(n 2 ) edge-based heuristic Within 0.7% of optimum computed by GeoSteiner Ongoing extensions Via costs Preferred directions Routing obstacles

27 Further details on our work are available on the group’s website, http://vlsicad.ucsd.edu Thank You for Your Attention!


Download ppt "A.B. Kahng, Ion I. Mandoiu University of California at San Diego, USA A.Z. Zelikovsky Georgia State University, USA Supported in part by MARCO GSRC and."

Similar presentations


Ads by Google