ion i. mandoiu ph.d. defense of research august 11, 2000 approximation algorithms for vlsi routing

53
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

Post on 22-Dec-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

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

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

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

A New RSMT Heuristic

The RSMT problem The RSMT problem

RSMT

Steiner point

MST

MST gives 3/2 approximation [H76]

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!!!

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

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

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

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

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

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:

Improved ZST and BST Approximation Algorithms

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

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

ZST Lower-BoundZST Lower-Bound

R

rrNOPT0

d)( (CKKRST 99)

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

ZST Lower-BoundZST Lower-Bound

R

rrNOPT0

d)( (CKKRST 99)

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

ZST Lower-BoundZST Lower-Bound

R

rrNOPT0

d)( (CKKRST 99)

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

ZST Lower-BoundZST Lower-Bound

R

rrNOPT0

d)( (CKKRST 99)

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

ZST Lower-BoundZST Lower-Bound

R

rrNOPT0

d)( (CKKRST 99)

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

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

Constructive Lower-BoundConstructive Lower-Bound

R

rrNOPT0

d)(

r

N(r)

2

n

n-1

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

Stretching Rooted Spanning TreesStretching Rooted Spanning Trees

T

)(rootdelayTLoop length =

)(rootdelayT

Stretching Rooted Spanning TreesStretching Rooted Spanning Trees

T

)(rootdelayTSum of loop lengths =

)(rootdelayT

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

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

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

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’) }

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’)

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) =

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

Stretching Using Steiner PointsStretching Using Steiner Points

TStretchedT

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

1Tdelay

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

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

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

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

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

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

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

BST ApproximationBST Approximation

Algorithm: Output tree cover approximate ZST on W

)factorion approximat ZST(

)()()(

WZSTOPTMSTlengthBSTlength

)(

)1|(|)(

MSTlengthBSTOPT

WbBSTOPTWZSTOPT

)ratioSteiner (

)(

BSTOPTSMTOPTMSTlength

BST ApproximationBST Approximation

BSTOPTBSTlength )()( Theorem:

ionapproximat 9factor 5.1,3 Rectilinear Plane:

ionapproximat 14factor 2,4 Arbitrary metric spaces:

ratioSteiner

factorion approximat ZST

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

Tight Analysis of the MST Heuristic for MSPT

The MSPT ProblemThe MSPT Problem

MSPT Problem: find bounded edge-length Steiner

tree with min. number of Steiner points

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

Provably Good Global Buffering by MTMCF Approximation

Global Routing via Buffer BlocksGlobal Routing via Buffer Blocks

BBBB

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)

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

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

Experimental resultsExperimental results

91

92

93

94

95

96

97

98

CPU Seconds

Greed 2TMCF 3TMCF

Conclusions Conclusions

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

• Experimentally validated, theoretical guarantees doubled by good practical results