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

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

Dec 22, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Ion I. Mandoiu Ph.D. Defense of Research August 11, 2000 Approximation Algorithms for VLSI Routing.

Ion I. MandoiuIon I. Mandoiu

Ph.D. Defense of ResearchPh.D. Defense of Research

August 11, 2000August 11, 2000

Approximation Algorithms for

VLSI Routing

Approximation Algorithms for

VLSI Routing

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

VLSI Routing 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)• …

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

Overview of Results 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

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

A New RSMT Heuristic

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

The RSMT problem The RSMT problem

RSMT

Steiner point

MST

MST gives 3/2 approximation [H76]

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

Key Results on RSMT ProblemKey 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!!!

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

The IRV Algorithm: High-Level IdeaThe 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

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

Adaptation to General GraphsAdaptation 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

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

Experimental SetupExperimental 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

100MSTcost

heuristiccostMSTcost

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

Average Improvement over MSTAverage Improvement over MST

10

10.5

11

11.5

10 60 110 160 210

No. Terminals

% Im

pro

v. o

ve

r M

ST

GeoSteiner BI1S IRV

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

Average CPU TimeAverage CPU Time

0

5

10

15

20

10 60 110 160 210

No. Terminals

Avg

. CP

U t

ime

(sec

.)

GeoSteiner BI1S IRV

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

Results on Industrial InstancesResults on Industrial Instances

0

50

100

150

109 185 188 245 264 340 406 556 573

CP

U t

ime

(sec

.)

GeoS. BI1S IRV

No Term:

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

Improved ZST and BST Approximation Algorithms

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

Zero-Skew TreesZero-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

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

The Zero-Skew Tree Problem 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

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

ZST Lower-BoundZST Lower-Bound

R

rrNOPT0

d)( (CKKRST 99)

N(r)=min. # of balls of radius r that cover all sinks

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

ZST Lower-BoundZST Lower-Bound

R

rrNOPT0

d)( (CKKRST 99)

N(r)=min. # of balls of radius r that cover all sinks

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

ZST Lower-BoundZST Lower-Bound

R

rrNOPT0

d)( (CKKRST 99)

N(r)=min. # of balls of radius r that cover all sinks

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

ZST Lower-BoundZST Lower-Bound

R

rrNOPT0

d)( (CKKRST 99)

N(r)=min. # of balls of radius r that cover all sinks

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

ZST Lower-BoundZST Lower-Bound

R

rrNOPT0

d)( (CKKRST 99)

N(r)=min. # of balls of radius r that cover all sinks

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

Constructive Lower-BoundConstructive Lower-Bound

Computing N(r) is NP-hard, but …

Lemma: For any ordering of the terminals, if

},...,{MinDist2

11 ittr

ntt ,...,1

irN )( then

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

Constructive Lower-BoundConstructive Lower-Bound

R

rrNOPT0

d)(

r

N(r)

2

n

n-1

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

Stretching Rooted Spanning TreesStretching Rooted Spanning Trees• ZST root = spanning tree root

)(rootdelayT

where = max path length from to a leaf of

)(rootdelayT• ZST root-to-leaf path length =

)(vdelayT v vT

T

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

Stretching Rooted Spanning TreesStretching Rooted Spanning Trees

T

)(rootdelayTLoop length =

)(rootdelayT

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

Stretching Rooted Spanning TreesStretching Rooted Spanning Trees

T

)(rootdelayTSum of loop lengths =

)(rootdelayT

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

Zero-Skew Spanning Tree ProblemZero-Skew Spanning Tree Problem

)()( TdelayTlength

Theorem: Every rooted spanning tree can be

stretched to a ZST of total length

where

T

)()()(

TVv T vdelayTdelay

Zero-Skew Spanning Tree Problem: Find rooted

spanning tree minimizing )()( TdelayTlength T

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

How good are the MST and Min-Star?How good are the MST and Min-Star?

)(Nlength

.

..

MST: min length, huge delay

)( 2Ndelay

0

1

2

N-1

3

N-2

)log( NNOPT

)(Nlength …

Star: min delay, huge length

)1(delay

)1(OPT

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

The Rooted-Kruskal AlgorithmThe 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

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

The Rooted-Kruskal AlgorithmThe 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’) }

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

How good is Rooted-Kruskal?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’)

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

How good is Rooted-Kruskal?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

N

iitt

21 },...,{MinDistlength(T) =

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

Factor 4 ApproximationFactor 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

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

Stretching Using Steiner PointsStretching Using Steiner Points

TStretchedT

)()( TdelayTlength )()( TdelayTlength )(2

1Tdelay

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

Factor 3 ApproximationFactor 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

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

Practical ConsiderationsPractical 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

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

Running TimeRunning 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

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

Extension to Other Metric SpacesExtension 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

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

Bounded-Skew TreesBounded-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

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

BST construction idea + lower boundBST 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 anyS SW

)1|(|)( WbBSTOPTWZSTOPT

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

Constructing the tree coverConstructing 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 Tu

Lemma: )()1|(| MSTlengthWb

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

BST ApproximationBST Approximation

Algorithm: Output tree cover approximate ZST on W

)factorion approximat ZST(

)()()(

WZSTOPTMSTlengthBSTlength

)(

)1|(|)(

MSTlengthBSTOPT

WbBSTOPTWZSTOPT

)ratioSteiner (

)(

BSTOPTSMTOPTMSTlength

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

BST ApproximationBST Approximation

BSTOPTBSTlength )()( Theorem:

ionapproximat 9factor 5.1,3 Rectilinear Plane:

ionapproximat 14factor 2,4 Arbitrary metric spaces:

ratioSteiner

factorion approximat ZST

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

Summary of Results on ZST/BSTSummary of Results on ZST/BST

Problem Zero-Skew Bounded-skew

Metric General Rectilinear General Rectilinear

Previous

factor5.44 16.11 12.53

New

factor4 3 14 9

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

Tight Analysis of the MST Heuristic for MSPT

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

The MSPT ProblemThe MSPT Problem

MSPT Problem: find bounded edge-length Steiner

tree with min. number of Steiner points

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

The MST Heuristic for MSPTThe 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

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

Provably Good Global Buffering by MTMCF Approximation

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

Global Routing via Buffer BlocksGlobal Routing via Buffer Blocks

BBBB

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

Global Buffering ProblemGlobal 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)

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

Integer MTMCF FormulationInteger MTMCF Formulation

Udist(u,v)LE(u,v)

VEVG

iff and

BlocksBuffer terminal where),(

{0,1,2})( through passes times# ),(

}1,0{)(

)(c)(),(..

)(max

uTuT

Tf

uTfuTts

Tf

Approach: solve LP relaxation + randomized rounding

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

MTMCF ApproximationMTMCF ApproximationGarg/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

End for

Output f/N

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

Experimental resultsExperimental results

91

92

93

94

95

96

97

98

CPU Seconds

Greed 2TMCF 3TMCF

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

Conclusions Conclusions

• Improved approximation algorithms and heuristics for NP-hard problems arising in VLSI routing

• Experimentally validated, theoretical guarantees doubled by good practical results