logging in or signing up aspdac03 Malden Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINTLite Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: (To copy code, click on the text box) Embed: URL: Thumbnail: WordPress Embed Customize Embed The presentation is successfully added In Your Favorites. Views: 87 Category: Entertainment License: All Rights Reserved Like it (0) Dislike it (0) Added: October 09, 2007 This Presentation is Public Favorites: 0 Presentation Description No description available. Comments Posting comment... Premium member Presentation Transcript Slide1: 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 TreesOutline: 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 conclusionsSingle Net Routing Problem : Single Net Routing Problem Given: set of terminals in the plane Find: minimum length interconnection Rectilinear/Octilinear Minimum Steiner Trees (RMST/OMST)Why Minimum Steiner Tree Routing?: 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 instancesPrevious Work on Steiner Tree Problem: 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 [Karp 1972, GJ77] Minimum Spanning Tree (MST) gives good approximation Always within factor 2 of optimum [3 papers, 1979-1981] Within factor 1.5 in rectilinear plane [Hwang 1976] Previous Work on Steiner Tree ProblemPrevious RSMT/OSMT Algorithms: Exact algorithms 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 AlgorithmsMotivation for Highly Scalable Heuristics: Motivation for Highly Scalable Heuristics Most nets are small (<20 terminals)… But nets with >104 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 105 pinsRequirements for Highly Scalable RSMT/OSMT Heuristics: 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 requirementsOutline: 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 conclusionsTriple Contraction: Triple Contraction Connect 3 terminals (=triple) using shortest connection Remove longest edge on each of the 2 formed cycles High-level Algorithm: High-level Algorithm Greedy Triple-Contraction Algorithm [Zelikovsky 1993]: Compute MST of terminals 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 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 implementation Find positive-gain triples Contract triples in descending order of gain without recomputing gains A triple is selected if 2 longest edges not used by previous triplesEfficient Generation of Triples: Efficient Generation of Triples O(n3) triples overall Use geometry to avoid generating all of them! [Fossmeier,Kaufmann&Zelikovsky 1997]: sufficient to consider a set of O(n) triples with Empty interior ( no other terminal in bounding box) Positive 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 timeDivide-and-conquer for Empty Triples: Divide-and-conquer for Empty TriplesDivide-and-conquer for Empty Triples: Divide-and-conquer for Empty TriplesDivide-and-conquer for Empty Triples: Divide-and-conquer for Empty TriplesDivide-and-conquer for Empty Triples: Divide-and-conquer for Empty Triples Efficient Bottleneck-edge Computation: 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 log2n) total time for the batched greedy algorithmOutline: 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 conclusionsExperimental Setup: 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 Batched greedy O(n log2n) MST [Guibas&Stolfi 1983] O(n logn) Prim-based heuristic [Rohe 2001] O(nlog2n) Edge-based heuristic of [Borah,Owens&Irwin 1999] O(n2) GeoSteiner 4.0, beta version [Nielsen,Winter&Zachariasen 2002]Quality: Random Rectilinear Tests: Quality: Random Rectilinear Tests BatchGreedy quality slightly better than Edge-based, 1% better than Prim-based Within 0.7% of optimum computed by GeoSteinerCPU Time: Random Rectilinear Tests: CPU Time: Random Rectilinear Tests BatchGreedy highly scalable, practical runtime up to 105 terminals Edge-Based impractical for >104 terminalsCPU Time: Rectilinear Industry Tests: CPU Time: Rectilinear Industry Tests 34k terminals: 24 seconds BatchGreedy vs. 86 minutes Edge-basedQuality: Rectilinear Industry Tests: Quality: Rectilinear Industry Tests BatchGreedy up to 1% better than Prim-Based, within 0.5% of GeoSteiner Slightly better than Edge-Based in half of the cases CPU Time: Octilinear Industry Tests: CPU Time: Octilinear Industry Tests 34k terminals: 25 seconds BatchGreedy vs. 17.5 hours Edge-based Octilinear Prim-Based not availableQuality: Octilinear Industry Testcases: Quality: Octilinear Industry Testcases BatchGreedy slightly better than Edge-Based, within 0.5% of GeoSteinerConclusions: Conclusions Presented new rectilinear/octilinear Steiner tree heuristic Highly-scalable O(n) memory, O(nlog2n) runtime, with small hidden constants High-quality Better quality than O(n2) edge-based heuristic Within 0.7% of optimum computed by GeoSteiner Ongoing extensions Via costs Preferred directions Routing obstacles Slide27: Further details on our work are available on the group’s website, http://vlsicad.ucsd.edu Thank You for Your Attention! You do not have the permission to view this presentation. In order to view it, please contact the author of the presentation.
aspdac03 Malden Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINTLite Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: (To copy code, click on the text box) Embed: URL: Thumbnail: WordPress Embed Customize Embed The presentation is successfully added In Your Favorites. Views: 87 Category: Entertainment License: All Rights Reserved Like it (0) Dislike it (0) Added: October 09, 2007 This Presentation is Public Favorites: 0 Presentation Description No description available. Comments Posting comment... Premium member Presentation Transcript Slide1: 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 TreesOutline: 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 conclusionsSingle Net Routing Problem : Single Net Routing Problem Given: set of terminals in the plane Find: minimum length interconnection Rectilinear/Octilinear Minimum Steiner Trees (RMST/OMST)Why Minimum Steiner Tree Routing?: 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 instancesPrevious Work on Steiner Tree Problem: 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 [Karp 1972, GJ77] Minimum Spanning Tree (MST) gives good approximation Always within factor 2 of optimum [3 papers, 1979-1981] Within factor 1.5 in rectilinear plane [Hwang 1976] Previous Work on Steiner Tree ProblemPrevious RSMT/OSMT Algorithms: Exact algorithms 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 AlgorithmsMotivation for Highly Scalable Heuristics: Motivation for Highly Scalable Heuristics Most nets are small (<20 terminals)… But nets with >104 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 105 pinsRequirements for Highly Scalable RSMT/OSMT Heuristics: 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 requirementsOutline: 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 conclusionsTriple Contraction: Triple Contraction Connect 3 terminals (=triple) using shortest connection Remove longest edge on each of the 2 formed cycles High-level Algorithm: High-level Algorithm Greedy Triple-Contraction Algorithm [Zelikovsky 1993]: Compute MST of terminals 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 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 implementation Find positive-gain triples Contract triples in descending order of gain without recomputing gains A triple is selected if 2 longest edges not used by previous triplesEfficient Generation of Triples: Efficient Generation of Triples O(n3) triples overall Use geometry to avoid generating all of them! [Fossmeier,Kaufmann&Zelikovsky 1997]: sufficient to consider a set of O(n) triples with Empty interior ( no other terminal in bounding box) Positive 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 timeDivide-and-conquer for Empty Triples: Divide-and-conquer for Empty TriplesDivide-and-conquer for Empty Triples: Divide-and-conquer for Empty TriplesDivide-and-conquer for Empty Triples: Divide-and-conquer for Empty TriplesDivide-and-conquer for Empty Triples: Divide-and-conquer for Empty Triples Efficient Bottleneck-edge Computation: 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 log2n) total time for the batched greedy algorithmOutline: 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 conclusionsExperimental Setup: 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 Batched greedy O(n log2n) MST [Guibas&Stolfi 1983] O(n logn) Prim-based heuristic [Rohe 2001] O(nlog2n) Edge-based heuristic of [Borah,Owens&Irwin 1999] O(n2) GeoSteiner 4.0, beta version [Nielsen,Winter&Zachariasen 2002]Quality: Random Rectilinear Tests: Quality: Random Rectilinear Tests BatchGreedy quality slightly better than Edge-based, 1% better than Prim-based Within 0.7% of optimum computed by GeoSteinerCPU Time: Random Rectilinear Tests: CPU Time: Random Rectilinear Tests BatchGreedy highly scalable, practical runtime up to 105 terminals Edge-Based impractical for >104 terminalsCPU Time: Rectilinear Industry Tests: CPU Time: Rectilinear Industry Tests 34k terminals: 24 seconds BatchGreedy vs. 86 minutes Edge-basedQuality: Rectilinear Industry Tests: Quality: Rectilinear Industry Tests BatchGreedy up to 1% better than Prim-Based, within 0.5% of GeoSteiner Slightly better than Edge-Based in half of the cases CPU Time: Octilinear Industry Tests: CPU Time: Octilinear Industry Tests 34k terminals: 25 seconds BatchGreedy vs. 17.5 hours Edge-based Octilinear Prim-Based not availableQuality: Octilinear Industry Testcases: Quality: Octilinear Industry Testcases BatchGreedy slightly better than Edge-Based, within 0.5% of GeoSteinerConclusions: Conclusions Presented new rectilinear/octilinear Steiner tree heuristic Highly-scalable O(n) memory, O(nlog2n) runtime, with small hidden constants High-quality Better quality than O(n2) edge-based heuristic Within 0.7% of optimum computed by GeoSteiner Ongoing extensions Via costs Preferred directions Routing obstacles Slide27: Further details on our work are available on the group’s website, http://vlsicad.ucsd.edu Thank You for Your Attention!