a.b. kahng, ion i. mandoiu university of california at san diego, usa a.z. zelikovsky
Post on 11-Jan-2016
29 Views
Preview:
DESCRIPTION
TRANSCRIPT
A.B. Kahng, Ion I. MandoiuA.B. Kahng, Ion I. Mandoiu University of California at San Diego, USA
A.Z. ZelikovskyA.Z. ZelikovskyGeorgia State University, USA
Supported in part by MARCO GSRC and Cadence Design Systems, Inc.
Highly Scalable Algorithms for Highly Scalable Algorithms for Rectilinear and Octilinear Rectilinear and Octilinear
Steiner TreesSteiner Trees
ASP-DAC 2003, Kitakyushu, Japan 2
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
ASP-DAC 2003, Kitakyushu, Japan 3
Single Net Routing Problem
Given: set of terminalsterminals in the planeFind: minimum length interconnectionminimum length interconnection
Rectilinear (Manhattan) routing Octilinear (X) routing
Steiner points
Rectilinear/Octilinear Minimum Steiner Trees (RMST/OMST)
ASP-DAC 2003, Kitakyushu, Japan 4
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
ASP-DAC 2003, Kitakyushu, Japan 5
• 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-hardAll versions are NP-hard [Karp 1972, GJ77]
– Minimum Spanning Tree (MST) gives good approximation
• Always within factor 2factor 2 of optimum [3 papers, 1979-1981]
• Within factor 1.5factor 1.5 in rectilinear plane [Hwang 1976]
Previous Work on Steiner Tree Problem
ASP-DAC 2003, Kitakyushu, Japan 6
• Exact algorithms
– GeoSteinerGeoSteiner [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
ASP-DAC 2003, Kitakyushu, Japan 7
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 testScan-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 dimensionsNets with pre-routes and non-zero terminal dimensions
• Each terminal represented by set of electrically equivalent pins
RSMT/OSMT instances with up to 105 pins
ASP-DAC 2003, Kitakyushu, Japan 8
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
ASP-DAC 2003, Kitakyushu, Japan 9
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
ASP-DAC 2003, Kitakyushu, Japan 10
Triple Contraction
• Connect 3 terminals (=triple) using shortest connection
• Remove longest edge on each of the 2 formed cycles
GAIN = -
ASP-DAC 2003, Kitakyushu, Japan 11
High-level Algorithm
Greedy Triple-Contraction Algorithm [Zelikovsky 1993]:1. Compute MST of terminals2. While there exist triples with positive gain, do:
• Find triple with maximum gain• Contract triple: remove longest edges, replace triple with 2 zero-
cost edges3. 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– Contract triples in descending order of gain without recomputing gainswithout recomputing gains– A triple is selected if 2 longest edges A triple is selected if 2 longest edges not used by previous triples
ASP-DAC 2003, Kitakyushu, Japan 12
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 a set of O(n) triples withO(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
ASP-DAC 2003, Kitakyushu, Japan 17
Efficient Bottleneck-edge Computation
Bottleneck edges needed for computing triple gains
Given: tree T, vertices u,vFind: 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 logO(n log22n) total time for the batched greedy algorithmn) total time for the batched greedy algorithm
ASP-DAC 2003, Kitakyushu, Japan 18
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
ASP-DAC 2003, Kitakyushu, Japan 19
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 logO(n log22n) n) – MST [Guibas&Stolfi 1983] O(n logn) O(n logn) – Prim-based heuristic [Rohe 2001] O(nlogO(nlog22n) n) – Edge-based heuristic of [Borah,Owens&Irwin 1999] O(nO(n22) ) – GeoSteiner 4.0, beta version [Nielsen,Winter&Zachariasen 2002]
ASP-DAC 2003, Kitakyushu, Japan 20
Quality: Random Rectilinear Tests
9.7
10.2
10.7
11.2
11.7
#Terminals
% Im
pro
v. o
ver
MS
T
GeoSteinerBatchGreedyEdge-BasedPrim-Based
• BatchGreedyBatchGreedy quality slightly better than quality slightly better than Edge-basedEdge-based, 1% better than , 1% better than Prim-basedPrim-based
• Within 0.7% of optimum computed byWithin 0.7% of optimum computed by GeoSteiner GeoSteiner
ASP-DAC 2003, Kitakyushu, Japan 21
CPU Time: Random Rectilinear Tests
0.001
0.01
0.1
1
10
100
1000
10000
100000
#Terminals
CP
U S
ec
on
ds
GeoSteinerBatchGreedyEdge-BasedPrim-Based
• BatchGreedy highly scalable, practical runtime up to 10 highly scalable, practical runtime up to 1055 terminals terminals
• Edge-BasedEdge-Based impractical for >10 impractical for >1044 terminals terminals
ASP-DAC 2003, Kitakyushu, Japan 22
CPU Time: Rectilinear Industry Tests
0.001
0.01
0.1
1
10
100
1000
10000
100000
#Terminals
CP
U s
ec
on
ds
GeoSteiner
BatchGreedy
Edge-Based
Prim-Based
• 34k terminals: 24 seconds BatchGreedy vs. 86 minutes Edge-based86 minutes Edge-based
ASP-DAC 2003, Kitakyushu, Japan 23
Quality: Rectilinear Industry Tests
0
2
4
6
8
10
337 830 1944 2437 2676 12052 22373 34728 #Terminals
% I
mp
rov
ove
r M
ST
GeoSteiner
BatchGreedy
Edge-Based
Prim-Based
• BatchGreedy up to 1% better than Prim-Based, within 0.5% of GeoSteiner
• Slightly better than Edge-BasedEdge-Based in half of the cases
ASP-DAC 2003, Kitakyushu, Japan 24
CPU Time: Octilinear Industry Tests
0.01
0.1
1
10
100
1000
10000
100000
337 830 1944 2437 2676 12052 22373 34728 #Terminals
CP
U s
ec
on
ds
GeoSteiner
BatchGreedy
Edge-Based
• 34k terminals: 25 seconds BatchGreedy vs. 17.5 hours Edge-based17.5 hours Edge-based
• Octilinear Prim-Based not available
ASP-DAC 2003, Kitakyushu, Japan 25
Quality: Octilinear Industry Testcases
0
2
4
6
337 830 1944 2437 2676 12052 22373 34728
%Im
prov
ove
r MST
GeoSteiner
BatchGreedy
Edge-Based
• BatchGreedy slightly better than Edge-BasedEdge-Based, within 0.5% of , within 0.5% of GeoSteinerGeoSteiner
ASP-DAC 2003, Kitakyushu, Japan 26
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
top related