View
218
Download
1
Category
Preview:
Citation preview
04/18/23 1
Routing
Prof. Shiyan Hu
shiyan@mtu.edu
Office: EERC 731
204/18/23
Interconnect Topology Optimization
• Problem: given a source and a set of sinks, build the best interconnect topology to minimize different design objectives:– Wire length: traditional (lower capacitance load, and overall
congestion)– Performance: Nanoscale circuits– New interest: speed and other non-traditional routing
architecture
• In most cases, topology means tree– Because tree is the most compact structure to connect
everything without redundancy – Delay analysis is easy
304/18/23
Terminology• For multi-terminal net, we can easily construct a
tree (spanning tree) to connect the terminals together.
• However, the wire length may be unnecessarily large.
• Better use Steiner Tree:– A tree connecting all terminals as well as other
added nodes (Steiner nodes).• Rectilinear Steiner Tree:
– Steiner tree such that edges can only run horizontally and vertically.
– Manhattan planes– Note: X (or Y)-architecture (non-Manhanttan)
Steiner Node
404/18/23
Prim’s Algorithm for Minimum Spanning Tree
• 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
504/18/23
Interconnect Topology Optimization Under Linear Delay Model
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.
Want to minimize path lengths and routing cost at the same time.
604/18/23
Performance-Driven Interconnect Topology Design
• BPRIM & BRBC (bounded-radius bounded-cost) algorithm – [Cong et al, ICCD’91, TCAD’92]
• RSA algorithm (for Min. Rectilinear Steiner Arborescences)– [Rao-Sadayappan-Hwang-Shor, Algorithmica’92]
• Prim-Dijkstra tradeoff algorithm– [Alpert et al, TCAD 1995]
• SERT algorithm (Steiner Elmore Routing Tree)– [Boese-Kahng-McCoy-Robins, TCAD-95]
• MVERT algorithm (Minimum Violation Elmore Routing Tree)– [Hou-Hu-Sapatnekar, TCAD-99]
• BINO alg. (Buffer Insertion and Non-Hanan Optimization)– [Hu-Sapatnekar, ISPD-99]
• ……
704/18/23
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.• 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).
sources
routing tree
r(T)radius of the net
804/18/23
First Idea: Bounded Radius Minimum Spanning Tree
[Cong-Kahng-Robin-Sarrafzadeh-Wong, ICCD-91]
• 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 = 1cost = 4.95
source = 1
radius = 1.77cost = 4.26
source =
radius = 4.03cost = 4.03
trade-off between radius and the cost of routing trees
904/18/23
BPRIM Algorithm forBounded-Radius Minimum Spanning Trees
Given net N with source s and radius R, and parameter . Grow a connected subtree T from the source, one node at a
time 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)
Slack R is introduced at each backtrace so we do not have to backtrace too often.
x
s
y
distT(s,x)+cost(x,y)
(1+ )R
s
xy
x’ distT(s,x’)+cost(x’,y)R
1004/18/23
Experimental Results of BPRIM Algorithm
1104/18/23
A Pathological Example for BPRIM Algorithm
• BPRIM can be arbitrarily bad.
x
y
source s
all leaves connectdirectly to the source
x
y
source s
Optimal Solution Solution by BPRIM
1204/18/23
An Improved Algorithm -- BRBC [Cong-Kahng-Robin-Sarrafzadeh-Wong, T-CAD’92]
• Construct MST and SPT, Q = MST;• Construct list 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.
s
Graph Q
L
s
Li’ Li
if S=distL(Li’,Li) distSPT(S, Li)
then add minpathSPT(s, Li) to Q and reset S =0, Li’ = Li
s
depth-first tour Lfor MST
1 2
3 4
56
78
910
1304/18/23
BRBC Trees Have Bounded Radius
Theorem 1: r(T) (1+ ) R
Proof: 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) R
Therefore,
distQ(s,x) distQ(s,y) +distQ(y,x)
R+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
1404/18/23
BRBC Trees Have Bounded Cost
• Theorem 2: cost(T) (2+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)ε
22(
)(costε
2)(cost2
)(costε
1)(cost2
),(ε
1)(cost2
),()(cost2)(cost
11
1
MST
MSTMST
LMST
vvdistMST
vsdistMSTQ
k
iiiL
k
iiSPT
s Graph Q
s
vi-1 vi
distL(vi-1,vi) distSPT(S, vi)
tour L
• Idea borrowed from [Awarbuch - Baratz - Peleg, PODC-90]
1504/18/23
Experimental Results of BRBC Algorithm
Rad
ius,
as
frac
tion
of M
ST
rad
ius
Cos
t, as
frac
tion
of M
ST
cos
t
1604/18/23
Prim-Dijkstra Algorithm
Prim’sMST
Dijkstra’sSPT
Trade-off
1704/18/23
Prim’s and Dijkstra’s Algorithms
• d(i,j): length of the edge (i, j)• p(j): length of the path from source to j• Prim: d(i,j) Dijkstra: d(i,j) + p(j)
d(i,j)
p(j)
1804/18/23
The Prim-Dijkstra Trade-off: AHHK Tree
• Prim: add edge minimizing d(i,j)• Dijkstra: add edge minimizing p(i) + d(i,j)• Trade-off: c(p(i)) + d(i,j) for 0 <= c <= 1• When c=0, trade-off = Prim• When c=1, trade-off = Dijkstra
1904/18/23
Conventional Rectilinear Steiner Tree• Extensive studies, even outside the VLSI design community• Minimize total wire length• 1-Steiner and iterated 1-Steiner [Kahng-Robins, 1992]
– One steiner point is added at each step– Good performance but slow: O(n4logn)
• Recent result– Efficient Steiner Tree Construction Based on Spanning Graphs [p.
152] , H. Zhou ISPD 2003• O(nlogn)
– Highly Scalable Algorithms for Rectilinear and Octilinear Steiner Trees [p. 827] by A.B. Kahng, I.I. Mándoiu, A.Z. Zelikovsky ASPDAC 2003
• O(nlog2n)
2004/18/23
Hanan’s Result on Rectilinear Steiner Tree
• [Hanan, SIAM J. Appl. Math. 1966]• For rectilinear Steiner tree construction, there exists a routing
tree with minimum total wire length on the grid formed by horizontal and vertical lines passing through source and sinks.
sourceHanan nodes
Hanan Grid
2104/18/23
Rectilinear Steiner Arborescence Algorithm [Rao-Sadayappan-Hwang-Shor, Algorithmica’92]
Given n nodes lying in the first quadrant Purpose is to maintain shortest paths from source to sink and minimize
total wire length RSA algorithm
Start with a forest of n single-node A-trees. Iteratively substituting min(p,q) for pair of nodes p, q
where min(p,q) = (min{xp, xq}, min{yp, yq}). The pair p, q are chosen to maximize ||min(p,q)|| over all current nodes.
p
q
min(p,q)
2204/18/23
r r r
rrr
Example of RSA Algorithm
2304/18/23
Performance of RSA Algorithm
Time Complexity O(n log n) when implemented using a plane-sweep technique.
Wirelength of the tree by RSA algorithm 2 x Optimal solution (i.e., 2
x wirelength of minimum Rectilinear Steiner Arborescence
2404/18/23
Steiner Elmore Routing Tree (SERT) Heuristic[Boese-Kahng-McCoy-Robins, TCAD’95]
• Use Elmore Delay Model directly in construction of routing tree T.• Add nodes to T one-by-one like Prim’s MST algorithm.• Two versions:
(i) SERT Algorithm:
• At each step, choose v T and u T s.t. the maximum Elmore-delay to any sink has minimum increase.
(ii) SERT-C Algorithm:
• SERT with identified critical sink
• First connect the critical sink to the source by a shortest path,
then continues as in SERT, except that we minimize the Elmore delay of the critical sink rather than the max. delay.
2504/18/23
Steps of SERT Algorithm
8
3
4
2
1
6
5
9source
78
3
4
2
1
6
5
9source
78
3
4
2
1
6
5
9source
7
8
3
4
2
1
6
5
9source
78
3
4
2
1
6
5
9source
78
3
4
2
1
6
5
9source
7
2604/18/23
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 critical
source
7 7
87
3
4
2
1
6
5
9
d) Node 6 critical
source
8
3
4
2
1
6
5
9
f) Node 9 critical
source
7
e) Node 8 critical (also SERT)
8
3
4
2
1
6
5
9source
7
2704/18/23
Maze Routing
• http://foghorn.cadlab.lafayette.edu/MazeRouter.html
04/18/23 28
Global Routing
Prof. Shiyan Hushiyan@mtu.eduOffice: EERC 731
2904/18/23
Global Routing Approaches
• Sequential Approach– Net ordering based approach
• Concurrent Approach– Integer Programming
3004/18/23
Net Ordering
• In sequential approach, we need some net ordering.• A bad net ordering will increase the total wire length,
and may even prevent completion of routing for some circuits which are indeed routable.
A
A
B
B
B first (Good order)
A
AB
B
A first(Bad order)
3104/18/23
Criteria for Net Ordering
• Criticality of net - critical nets first.• Estimated wire length - short nets first since they are
less flexible.• Consider bounding rectangles (BR):
A
AB
B
B is in A’s BR
3204/18/23
Net Ordering (cont’d)
3304/18/23
Concurrent Approach
• Consider all the nets simultaneously.• Formulate as an integer program.• Given:
Lij = Total wire length of Tij
Ce = Capacity of edge e• Determine variable xij s.t. xij = 1 if Tij is used xij = 0 otherwise.
Tn1, Tn2, ... , Tnknnet n
::
::
T11, T12, ...... , T1k1net 1
Set of possible routing treesNets
3404/18/23
Integer Program Formulation
jix
eCx
nix
xL
ij
eijTeji ij
ik
j ij
n
i
ik
j
ijij
,1or 0
edge allfor
,,1 allfor 1 s.t.
Min.
s.t. ,
1
1 1
3504/18/23
Concurrent Approach: Example
Possible trees:Possible trees:
net 1:net 1: 22 33 33
net 2:net 2: 22 33 33
net 3:net 3: 22 22
1122
3322
11331122
SolutionSolution
1122
3322
11331122
;,1or 0
;1
;1
;1
s.t.
22332332 Min.
3231
232221
131211
3231232221131211
jix
xx
xxx
xxx
xxxxxxxx
ij
What are the constraintsfor edge capacity?
aCxxxxx 3123221312
3604/18/23
Integer Programming Approach
Standard techniques to solve IP. No net ordering. Give global optimum. Can be extremely slow, especially for large problems. To make it faster, a fewer choices of routing trees for
each net can be used. Determining a good set of choices of routing trees is a
hard problem by itself.
Recommended