Presentation is loading. Please wait.

Presentation is loading. Please wait.

6/29/2015 1 Routing Prof. Shiyan Hu Office: EERC 731.

Similar presentations


Presentation on theme: "6/29/2015 1 Routing Prof. Shiyan Hu Office: EERC 731."— Presentation transcript:

1 6/29/2015 1 Routing Prof. Shiyan Hu shiyan@mtu.edu Office: EERC 731

2 2 6/29/2015 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

3 3 6/29/2015 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

4 4 6/29/2015 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

5 5 6/29/2015 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.

6 6 6/29/2015 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] ……

7 7 6/29/2015 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. minpath G (u,v): shortest path from u to v in G dist G (u,v): cost of minpath G (u,v). source s routing tree r(T) radius of the net

8 8 6/29/2015 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 = 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

9 9 6/29/2015 BPRIM Algorithm for Bounded-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 dist T (s, x) + cost(x,y)  (1+  )R, add (x,y)  Else backtrack along minpath T (s,x) to find x’ such that dist T (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 dist T (s,x)+cost(x,y)  (1+  )R s x y x’ dist T (s,x’)+cost(x’,y)  R

10 10 6/29/2015 Experimental Results of BPRIM Algorithm

11 11 6/29/2015 A Pathological Example for BPRIM Algorithm BPRIM can be arbitrarily bad. x y source s all leaves connect directly to the source x y source s Optimal SolutionSolution by BPRIM

12 12 6/29/2015 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 L i If S   dist SPT (s, L i ) then add minpath SPT (s, L i ) 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’ LiLi if S=dist L (L i ’,L i )   dist SPT (S, L i ) then add minpath SPT (s, L i ) to Q and reset S =0, Li’ = Li s depth-first tour L for MST 1 2 3 4 5 6 7 8 9 10

13 13 6/29/2015 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 minpath SPT (s, L). By the choice of y, we have dist L (y,x)   dist SPT (s,x)   R Therefore, dist Q (s,x)  dist Q (s,y) +dist Q (y,x)  R+dist L (y,x)  R+  R =(1+  )R s Graph Q y x dist L (y,x)   dist SPT (S, x)   R tour L s y x dist SPT (s,y)  R

14 14 6/29/2015 BRBC Trees Have Bounded Cost Theorem 2: cost(T)  (2+2/  ) cost(MST). Proof: Let v 1 v 2 … v k be the vertices that we add minpath SPT (s,v i ) Note that T is a subgraph of Q s Graph Q s v i-1 vivi dist L ( v i-1,v i )   dist SPT ( S, v i ) tour L Idea borrowed from [Awarbuch - Baratz - Peleg, PODC-90]

15 15 6/29/2015 Experimental Results of BRBC Algorithm Radius, as fraction of MST radius Cost, as fraction of MST cost

16 16 6/29/2015 Prim-Dijkstra Algorithm Prim’s MST Dijkstra’s SPT Trade-off

17 17 6/29/2015 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)

18 18 6/29/2015 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

19 19 6/29/2015 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(n 4 logn) 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(nlog 2 n)

20 20 6/29/2015 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. source Hanan nodes Hanan Grid

21 21 6/29/2015 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{x p, x q }, min{y p, y q }).  The pair p, q are chosen to maximize ||min(p,q)|| over all current nodes. p q min(p,q)

22 22 6/29/2015 r rr rr r Example of RSA Algorithm

23 23 6/29/2015 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

24 24 6/29/2015 Interconnect Designs Under Distributed RC Delay Model [Cong-Leung-Zhou, DAC’93] Routing Tree T: connects the source with a set of sinks pl k (T): pathlength from sink k to source in T FdFd driver Z0Z0 Z0Z0 Z0Z0 Z0Z0 Z0Z0 Z0Z0 Z0Z0 C0C0 R0R0

25 25 6/29/2015 Interconnect Topology Design Formulation Under Distributed RC Delay Model Objective: Minimize

26 26 6/29/2015 Comparison of Three Types of Trees MST SPT QMST MST cost 9(optimal) 11 10 SPT cost 37 29 (optimal) 31 QMST cost 45 36 34 (optimal)

27 27 6/29/2015 Impact of Resistance Ratio Definition: R d /R 0 Driver resistance versus unit wire resistance Determined by the Technology: Reduce device dimension Impact on Interconnect Optimization: Why Minimum-cost shortest path tree is useful R0R0 R d /R 0 RdRd

28 28 6/29/2015 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.

29 29 6/29/2015 Steps of SERT Algorithm 8 3 4 2 1 6 5 9 source 7 8 3 4 2 1 6 5 9 7 8 3 4 2 1 6 5 9 7 8 3 4 2 1 6 5 9 7 8 3 4 2 1 6 5 9 7 8 3 4 2 1 6 5 9 7

30 30 6/29/2015 Examples of SERT-C Construction 8 7 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 77 8 7 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 9 source 7

31 31 6/29/2015 Maze Routing http://foghorn.cadlab.lafayette.edu/MazeRouter.html


Download ppt "6/29/2015 1 Routing Prof. Shiyan Hu Office: EERC 731."

Similar presentations


Ads by Google