+ All Categories
Home > Documents > A.B. Kahng, Ion I. Mandoiu University of California at San Diego, USA A.Z. Zelikovsky

A.B. Kahng, Ion I. Mandoiu University of California at San Diego, USA A.Z. Zelikovsky

Date post: 11-Jan-2016
Category:
Upload: saxton
View: 29 times
Download: 0 times
Share this document with a friend
Description:
Highly Scalable Algorithms for Rectilinear and Octilinear Steiner Trees. 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. Outline. Single net routing problem - PowerPoint PPT Presentation
Popular Tags:
27
A.B. Kahng, Ion I. Mandoiu A.B. Kahng, Ion I. Mandoiu University of California at San Diego, USA A.Z. Zelikovsky A.Z. Zelikovsky Georgia State University, USA Supported in part by MARCO GSRC and Cadence Design Systems, Inc. Highly Scalable Highly Scalable Algorithms for Algorithms for Rectilinear and Rectilinear and Octilinear Steiner Trees Octilinear Steiner Trees
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 13

Divide-and-conquer for Empty Triples

ASP-DAC 2003, Kitakyushu, Japan 14

Divide-and-conquer for Empty Triples

ASP-DAC 2003, Kitakyushu, Japan 15

Divide-and-conquer for Empty Triples

ASP-DAC 2003, Kitakyushu, Japan 16

Divide-and-conquer for Empty Triples

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

Further details on our work are available on the group’s website, http://vlsicad.ucsd.edu

Thank You for Your Attention!Thank You for Your Attention!


Recommended