Interconnect Topology Optimizationeda.ee.ucla.edu/ECE902_pd/bak/routing.pdf · Steiner Elmore...

Post on 22-Aug-2020

1 views 0 download

Transcript of Interconnect Topology Optimizationeda.ee.ucla.edu/ECE902_pd/bak/routing.pdf · Steiner Elmore...

1

Interconnect Topology Optimization

Interconnect Topology Design

■ Total wire length minimization

z Minimum spanning tree

z Steiner tree

■ Path length minimization

z Bounded radius bounded cost (BRBC) tree

z A-tree

■ Delay minimization

z WBA-tree

z P-tree

z Rats-tree

2

Prim Algorithm for Minimum Spanning Trees

■ Grow a connected subtree from the source, one node at a time.

■ At each step, choose the closest un-connected node and add it to the subtree.

s

X

Y

Steiner Tree

■ Steiner points and Steiner tree problem

■ Heuristic algorithms for Steiner tree problem

z Edge-merging based algorithm

z 1-Steiner algorithm

z Edge-insertion based algorithm

3

Merging-based Steiner Tree

1-Steiner Tree

4

Edge-Insertion based Steiner Tree

Interconnect Topology Optimization Under Linear Delay Model [Cong-Kahng-Robin, T-CAD’92]

■ Conventional Routing Algorithms Are Not Good Enough❀ Minimum spanning tree may have very long source-sink path.❀ Shortest path tree may have very large routing cost.

5

Example: A Routing Problem

Source Source

Critical sinkCritical sink

Definitions

Given Net N with source s and connected by tree T.■ Radius of net N: distance from the source to the furthest sink.

■ Radius of a routing tree r(T): length of the longest path from the root to a leaf.

■ Cost of an edge: distance between two endpoints (other weights are ok).

■ Cost of a routing tree cost(T): sum of the edge costs in T.■ minpathG(u,v): shortest path from u to v in G

■ distG(u,v): cost of minpathG(u,v).

ssource

routing tree

r(T)

radius of the net

6

Problem Formulation

■ Basic Idea: Restrict the tree radius while minimizing the routing cost

■ Bounded radius minimum spanning tree problem (BRMST):Given A net N with radius R

Find A minimum cost tree with radius r(T)≤(1+ ε)R

■ Parameter ε controls the trade-off between radius and cost

ε =∞ minimum spanning tree; ε =0 shortest path tree

sourceε=0

radius=1,cost=4.95

sourceε=1

radius=1.77,cost=4.26

source

ε= ∞radius=4.03,cost=4.03

trade-off between radius and the cost of routing trees

BPRIIM Algorithm Bounded-Radius Minimum Spanning Trees

z Given net N with source s and radius R, and parameter ε.z Grow a connected subtree T from the source, one node at a

timez At each step, choose the closest pair x ∈ T and y ∈ N-T

If distT(s, x) + cost(x,y) ≤(1+ε)R, add (x,y)Else backtrack along minpathT(s,x) to find x’ such that

distT(s, x’) + cost(x’, y) ≤R, then add (x’, y)

z Slack εR is introduced at each backtrace so we do not have tobacktrace too often.

S

XY

S

XY

X’distT(s,x)+cost(x,y)

≤(1+ ε)R distT(s,x’)+cost(x’,y)≤R

7

An Improved Algorithm -- BRBC[Cong-Kahng-Robin, T-CAD’92]

■ Construct MST and SPT, Q = MST;■ Construct L -- a depth-first tour of MST;■ Traverse L while keeping a running total S of traversed edge costs,

when reaching Li

If S ≥ ε distSPT(S, Li) then add minpathSPT(s, Li) to Q and reset S = 0,Else continue traverse L;

■ Construct the shortest path tree T of Q.

ss

depth-first tour L

MST

L

s

Li’ Li

Graph Qif S=distL(Li’,Li) ≥ ε distSPT(S, Li)then add minpathSPT(s, Li) to Q and reset S =0

BRBC Trees Have Bounded Radius

■ Theorem 1: r(T) ≤(1+ ε ) RProof: For any vertex x, let y be the last

vertex before x in L that we add minpathSPT(s, L).

By the choice of y, we have

distL(y,x) ≤ ε distSPT(s,x) ≤ ε RTherefore,

distQ(s,x) ≤ distQ(s,y) +distQ(y,x)

≤ distSPT(s,y) +distL(y,x)

≤R+εR =(1+ ε)R

s Graph Q

y x

distL(y,x) ≤ ε distSPT(S, x)

≤ εR

tour Ls

y

x

distSPT(s,y)

≤R

8

BRBC Trees Have Bounded Cost■ Theorem 2: cost(T) ≤ (1+2/ ε ) cost(MST).■ Proof: Let v1 v2 … vk be the vertices that we add

minpathSPT(s,vi)Note that T is a subgraph of Q

)(cost)0

21(

)(cost0

2)(cost

)(cost0

1)(cost

),(0

1)(cost

),()(cost)(cost

11

1

MST

MSTMST

LMST

MST

sMSTQ

k

iiiL

k

iiSPT

vvdist

vdist

+≤

+≤

+≤

+≤

+=

=−

=

s Graph Q

s

vi-1 vi

distL(vi-1,vi) ≥ ε distSPT(S, vi)

tour L

Related work by [Awarbuch - Baratz - Peleg, PODC-90]

Interconnect Topology Design Formulation Under Distributed RC Delay Model

■ Objective: Minimize

Constant .......... )(

QMST .......... )()(

SPT .......... )()(

MST .......... )(length)(

)()()()(

)))((( )(

sinks all4

nodes all003

sinks all002

01

4321

nodes all00

nodes all

∑∑

++∑∑

•=

••=

••=

••=

+=

+•+==

kkd

kk

kk

d

kkkd

kkk

CRTt

TplCRTt

TplCRTtTCRTt

TtTtTtTt

CCTplRRCRTt

∑∑ •+•+•k

kk

k TplTplT nodes all sinks all

)()()(length γβα

9

Impact of Resistance Ratio

■ Definition: Rd/R0

Driver resistance versus unit wire resistance

■ Determined by the Technology:

Reduce device dimension

QMST .......... )()(

SPT .......... )()(

MST .......... )(length)(

nodes all003

sinks all002

01

∑∑

••=

••=

••=

kk

kk

d

TplCRTt

TplCRTtTCRTt

•Impact on Interconnect Optimization:

R0

Rd/R0

Rd

Comparison of Three Types of Trees

OST SPT QMST

OST cost 9(optimal) 11 10

SPT cost 37 29 (optimal) 31

QMST cost 45 36 34 (optimal)

10

Results on Interconnect Topology Optimization

■ Advantage of A-tree:

❀ Always a SPT (t2(T) is minimum)

❀ Minimizing t1(T) Minimizing t3(T) for most A-trees

■ Objective: Minimize the total wirelength of A-tree:

❀ Simultaneous minimization of t1(T),t2(T) and t3(T).

A-TREE: Generalized Rectilinear Minimum Steiner Arborescence

Steiner Tree A-Tree

Rectilinear Steiner Arborescence Algorithm [Rao-Sadayappan-Huang ’92]

■ RSA: Rectilinear Steiner Arborescence (shortest path Steiner tree), A-tree in short

■ RSA algorithmz Start with a forest of n single-node A-trees, repeatedly

combining two A-trees into a new one

11

Performance of RSA Algorithm

■ Time Complexity O(n log n).

■ Wirelength of the tree by RSA algorithm

≤ 2 length(RSMA)

z RSMA: Rectilinear Steiner Minimum Arborescence

A-tree Algorithm[Cong-Leung-Zhou, DAC’93]

■ Start with a forest of n single-node A-trees

■ Apply a sequence of movesD Grow an existing A-tree, orD Combine two A-trees into a new one

■ Terminate when only one A-tree is left

12

A-tree Algorithm(Cont’d)■ p dominates q if px >= qx and py >= qy.

z DOM(p, Fk): the set of nodes in Fk dominated by p.■ Given a node p, define

z NW(p): {(x, y)| x < px, y > py}. z SE(p), SW(p), NE(p), N(p), S(p), W(p), E(p) similarly.

■ Given node p, define:z MF(p, Fk) -- nodes in DOM(p, Fk) with minimum rectilinar

distance from p,z df(p, Fk) -- the distance from p to any node in MF(p, Fk).z mfwest(p, Fk) -- the one with smallest x-coordinate in MF(p, Fk).z mfsouth(p, Fk) defined similarly.

A-tree Algorithm(Cont’d)

■ Given p as a root in Fk:

z mx(p, Fk) -- the node in NW(p) ∩ ROOT(Fk), not blocked from p and have the minimum horizontal distance from p.

z dx(p, Fk) -- the horizontal distance between p and mx(p, Fk) (or∝ if mx(p, Fk) doesn’t exist)

z my(p, Fk), dy(Fk) similarly defined

13

Type-1 Safe Move

p

mx

mf

my

dx(p, Fk) >= df(p, Fk)

dy(p, Fk) >= df(p, Fk)

Move:

p to mfwest(p, Fk)

“Combine” two A-trees into a new one

Type-2 Safe Movep

my

mx

mfsouth

my

mx

mfsouth

p’

p

p’

dx(p, Fk) >= df(p, Fk)

dy(p, Fk) < df(p, Fk)

Move:

southward, p to p’ with length

min{disty(mfsouth(p, Fk), p), dy(p, Fk)}

14

Type-3 Safe Movep

my

mx

mfwest

p’

p

my

mx

mfwest

p’

dx(p, Fk) < df(p, Fk)

dy(p, Fk) >= df(p, Fk)

Move:

westward, p to p’ with length

min{distx(mfwest(p, Fk), p), dx(p, Fk)}

Heuristic Moves

■ Type-1 and Type-2 Heuristic Moves:❀ “Combines” two A-trees into a new one

H1: select node p such that p’=mfwest(p, Fk) is farthest away from the source and introduce a path fromp to p’

H2: select two nodes p1, p2 such that p’=(min{(p1)x, (p2)x}, min{(p1)y, (p2)y}) is farthest away from the source and connect p1 and p2 to p’

15

Optimality of a Move

■ Definitions:❀ Fk is the forest constructed after the k-th move by the A-tree

algorithm❀ T(Fk) is the minimum-cost rectilinear Steiner A-tree

containing Fk as a subgraph

■ T(F0) is the optimal A-treeT(Fm) is the A-tree constructed by our algorithm

■ Optimality of a Move:❀ If cost(T(Fk))=cost(T(Fk+1)) then the k+1-th is called an

optimal move

■ Theorem All three types of safe moves are optimal moves

Lower Bound Computation of Optimal A-Tree

■ Lower Bound Computation:❀ After the k-th move, we can compute an upper bound ERRORk of

cost(T(Fk+1)) - cost(T(Fk))

❀ Note that(i) ERRORk=0 if the k-th move is a safe move(ii) ERRORk>0 if the k-th move is a heuristic move

❀ cost(T) ≤ cost(T*) + Σk ERRORk

T: constructed by the A-tree algorithmT*: optimal A-tree

■ Results obtained from the Lower Bound Computation:

❀ 94% of the moves are safe moves❀ 45% of the A-trees constructed by the algorithm are optimal❀ the A-trees constructed by the algorithm are at most 4% from

optimal

16

Steiner Elmore Routing Tree(SERT) Heuristic[Boese-Kahng-Robins, DAC’93]

■ Use Elmore Delay Model directly in construction of routing tree T

■ Add nodes to T one-by-one like Prim’s MST algorithm.

■ At each step, choose v ∉ T and u ∈ T s.t.(i) The linear weighted Elmore-delay to the critical sinks has minimum

increase (SERT-C algorithm) or(ii) The maximum Elmore-delay to any sink has minimum increase

(SERT algorithm).

Examples of SERT-C Construction

87

3

4

2

1

6

5

9

a) Node 2 (or 4) critical

source

8

3

4

2

1

6

5

9

b) Node 3 (or 7) critical

(also 1-Steiner tree)

source

8

3

4

2

1

6

5

9

c) Node 5 criticalsource

7 7

87

3

4

2

1

6

5

9

d) Node 6 critical

source

8

3

4

2

1

6

5

9source

8

3

4

2

1

6

5

9

f) Node 9 criticalsource

7 7

e) Node 8 critical

(also Steiner ERT)

17

Some Theoretical Results on Optimal Routing Tree Under Elmore Delay Model

[Boese-Kahng-McCoy-Robins, DAC’94]

■ When minimizing linear weighted Elmore delay to the critical sinks, there exists optimal tree on the Hanan-grid.

■ When minimizing maximum Elmore delay in routing tree, optimal tree may not lie on the Hanan-grid.

(2,3)(c=0)(1,3)(c=0)

(1.63,2)(c=0.37)

(2,0)(c=0)(0,0)(R=1.75)

(1.5,0)source

unit R=1, unit c=1

Performance Driven Multisource Routing Problem[Cong-Madden, ISCAS ‘95]

■ Previous work:Assume a single source driving one or more sink nodes

■ Contribution:First work to address nets where each pin may act as a source, sink, or both.

■ Signal busses are examples of multisource nets.

18

An Example Multisource Routing Problem

Minimize ΣW(i,j)×delay(pi,pj) weighted delay

L(T) total tree length