Efficient Rerouting Algorithms for Congestion Mitigation

Similar documents
Lecture 10 Evolutionary Computation: Evolution strategies and genetic programming

Parallel Square and Cube Computations

Presentation Martin Randers

Fig.25: the Role of LEX

2 Computing all Intersections of a Set of Segments Line Segment Intersection

What are suffix trees?

FastRoute: A Step to Integrate Global Routing into Placement

Network Interconnection: Bridging CS 571 Fall Kenneth L. Calvert All rights reserved

An evolutionary approach to inter-session network coding

Mobile IP route optimization method for a carrier-scale IP network

From Dependencies to Evaluation Strategies

A New Learning Algorithm for the MAXQ Hierarchical Reinforcement Learning Method

Before We Begin. Introduction to Spatial Domain Filtering. Introduction to Digital Image Processing. Overview (1): Administrative Details (1):

Evolutionary Approaches To Minimizing Network Coding Resources

Video-rate Image Segmentation by means of Region Splitting and Merging

Efficient Algorithms For Optimizing Policy-Constrained Routing

On Computation and Resource Management in Networked Embedded Systems

COMP 423 lecture 11 Jan. 28, 2008

A Sparse Grid Representation for Dynamic Three-Dimensional Worlds

On Achieving Optimal Throughput with Network Coding

Complete Coverage Path Planning of Mobile Robot Based on Dynamic Programming Algorithm Peng Zhou, Zhong-min Wang, Zhen-nan Li, Yang Li

A dual of the rectangle-segmentation problem for binary matrices

Approximation of Two-Dimensional Rectangle Packing

Slides for Data Mining by I. H. Witten and E. Frank

UT1553B BCRT True Dual-port Memory Interface

P(r)dr = probability of generating a random number in the interval dr near r. For this probability idea to make sense we must have

The Distributed Data Access Schemes in Lambda Grid Networks

Rethinking Virtual Network Embedding: Substrate Support for Path Splitting and Migration

CS143 Handout 07 Summer 2011 June 24 th, 2011 Written Set 1: Lexical Analysis

1. SEQUENCES INVOLVING EXPONENTIAL GROWTH (GEOMETRIC SEQUENCES)

Algorithm Design (5) Text Search

Efficient K-NN Search in Polyphonic Music Databases Using a Lower Bounding Mechanism

GENERATING ORTHOIMAGES FOR CLOSE-RANGE OBJECTS BY AUTOMATICALLY DETECTING BREAKLINES

9 Graph Cutting Procedures

Tree Structured Symmetrical Systems of Linear Equations and their Graphical Solution

In the last lecture, we discussed how valid tokens may be specified by regular expressions.

A Tautology Checker loosely related to Stålmarck s Algorithm by Martin Richards

THE throughput of information transmission within a data

MTH 146 Conics Supplement

Network Layer: Routing Classifications; Shortest Path Routing

AI Adjacent Fields. This slide deck courtesy of Dan Klein at UC Berkeley

Spectral Analysis of MCDF Operations in Image Processing

10.5 Graphing Quadratic Functions

Ma/CS 6b Class 1: Graph Recap

PARALLEL AND DISTRIBUTED COMPUTING

Fig.1. Let a source of monochromatic light be incident on a slit of finite width a, as shown in Fig. 1.

CS321 Languages and Compiler Design I. Winter 2012 Lecture 5

The Greedy Method. The Greedy Method

Solving Problems by Searching. CS 486/686: Introduction to Artificial Intelligence Winter 2016

LETKF compared to 4DVAR for assimilation of surface pressure observations in IFS

Announcements. CS 188: Artificial Intelligence Fall Recap: Search. Today. General Tree Search. Uniform Cost. Lecture 3: A* Search 9/4/2007

LECT-10, S-1 FP2P08, Javed I.

CSEP 573 Artificial Intelligence Winter 2016

Small Business Networking

EECS150 - Digital Design Lecture 23 - High-level Design and Optimization 3, Parallelism and Pipelining

Distributed Systems Principles and Paradigms

Efficient Regular Expression Grouping Algorithm Based on Label Propagation Xi Chena, Shuqiao Chenb and Ming Maoc

IP: Network Layer. Goals and Tasks. Routing. Switching. Switching (cont.) Datagram v/s Virtual Circuit. Overview Addressing Routing

this grammar generates the following language: Because this symbol will also be used in a later step, it receives the

Compression Outline :Algorithms in the Real World. Lempel-Ziv Algorithms. LZ77: Sliding Window Lempel-Ziv

Approximation by NURBS with free knots

Small Business Networking

Digital Signal Processing: A Hardware-Based Approach

Today. CS 188: Artificial Intelligence Fall Recap: Search. Example: Pancake Problem. Example: Pancake Problem. General Tree Search.

UNIT 11. Query Optimization

Memory-Optimized Software Synthesis from Dataflow Program Graphs withlargesizedatasamples

If you are at the university, either physically or via the VPN, you can download the chapters of this book as PDFs.

Engineer To Engineer Note

Computer Arithmetic Logical, Integer Addition & Subtraction Chapter

Small Business Networking

Small Business Networking

Inference of node replacement graph grammars

An Algorithm for Enumerating All Maximal Tree Patterns Without Duplication Using Succinct Data Structure

Small Business Networking

Small Business Networking

8.2 Areas in the Plane

A Heuristic Approach for Discovering Reference Models by Mining Process Model Variants

Performance enhancement of IEEE DCF using novel backoff algorithm

documents 1. Introduction

II. THE ALGORITHM. A. Depth Map Processing

Vulnerability Analysis of Electric Power Communication Network. Yucong Wu

A Progressive Register Allocator for Irregular Architectures

Summer Review Packet For Algebra 2 CP/Honors

Topological Queries on Graph-structured XML Data: Models and Implementations

Definition of Regular Expression

Premaster Course Algorithms 1 Chapter 6: Shortest Paths. Christian Scheideler SS 2018

CSCI 3130: Formal Languages and Automata Theory Lecture 12 The Chinese University of Hong Kong, Fall 2011

6.3 Volumes. Just as area is always positive, so is volume and our attitudes towards finding it.

Systems I. Logic Design I. Topics Digital logic Logic gates Simple combinational logic circuits

Tries. Yufei Tao KAIST. April 9, Y. Tao, April 9, 2013 Tries

Computer Networks 53 (2009) Contents lists available at ScienceDirect. Computer Networks. journal homepage:

On the Detection of Step Edges in Algorithms Based on Gradient Vector Analysis

Meaningful Change Detection in Structured Data.

Accelerating 3D convolution using streaming architectures on FPGAs

Preserving Constraints for Aggregation Relationship Type Update in XML Document

Small Business Networking

Today. Search Problems. Uninformed Search Methods. Depth-First Search Breadth-First Search Uniform-Cost Search

MATH 25 CLASS 5 NOTES, SEP

Math 142, Exam 1 Information.

Ma/CS 6b Class 1: Graph Recap

Transcription:

2009 IEEE Computer Society Annul Symposium on VLSI Efficient Rerouting Algorithms for Congestion Mitigtion M. A. R. Chudhry*, Z. Asd, A. Sprintson, nd J. Hu Deprtment of Electricl nd Computer Engineering Texs A&M University, College Sttion, Texs Astrct Congestion mitigtion nd overflow voidnce re two of the mjor gols of the glol routing stge. With significnt increse in the chip size nd routing complexity, congestion nd overflow hve ecome criticl issues in physicl design utomtion. In this pper we present severl routing lgorithms for congestion reduction nd overflow voidnce. Our methods re sed on ripping up nets tht go through the congested regions nd replcing them with congestion-wre Steiner trees. We propose severl efficient lgorithms for finding congestion-wre Steiner trees nd evlute their performnce using the ISPD routing enchmrks. We lso show tht the novel technique of network coding contriutes to further improvements in routility nd reduction of congestion. Accordingly, we propose n lgorithm for identifying efficient congestion-wre network coding topologies nd evlute its performnce. I. INTRODUCTION In lmost ny VLSI design flow, glol routing is n essentil stge tht determines signl interconnections. Therefore, the cpility of glol router my significntly ffect design turn-round time. Moreover, glol routing results impct mny circuit chrcteristics, such s power, timing, re, nd signl integrity. Glol routing poses mjor chllenges in terms of the efficient computtion of qulity routes. In fct, most of the glol routing prolems, even specil cses, tend to e NP-complete. A significnt increse in the chip size nd routing complexity results in lrger numer of nets tht need to e routed, which, together with more stringent routing constrints, results in n incresing congestion, nd, in some instnces, overflow. In this work, we propose nd evlute efficient routing lgorithms for congestion voidnce nd overflow reduction. Our lgorithms re designed for the rip-up-ndreroute phse of the glol routing. At this stge, ll the nets re lredy routed using stndrd glol routing techniques, however, some of the nets need to e rerouted due to high congestion nd overflow. Our techniques re sed on ripping up the nets tht go through congested regions nd replcing them with congestion-wre Steiner trees. The proposed techniques fcilitte even distriution of the routing lod long the ville routing res. In ddition, we use the novel technique of network coding for further reduction of congestion nd the numer of overflows. A. Previous work In the pst decdes, reserchers hve relentlessly strived to improve the performnce of glol routing lgorithms (see e.g., [1], [2], [3], nd references therein). To hndle the *Corresponding uthor M. A. R. Chudhry, emil: msdch@tmu.edu. complexity of lrge scle glol routing, multilevel routing techniques re proposed in [4] nd [5]. Recently proposed BoxRouter [6], [7] is sed on progressive Integer Liner Progrmming (ILP) nd rip-up-nd-reroute techniques. A fst routing method is presented in [8]. Reference [9] proposes n pproch sed on the Lgrngin multiplier technique. An effective edge shifting technique is presented in [10]. Most of these previous works dopt the strtegy of rip-up-nd-reroute. However, they usully reroute one pth t time. In contrst, our method reroutes Steiner tree for ech multi-pin net. B. Congestion-wre Steiner trees The mjor gol of congestion-wre Steiner tree routing is to find tree tht connects the required set of nodes (referred to s terminls) while voiding congested res with minimum penlty in terms of the totl wirelength. In ddition, the running time of the lgorithm must scle well with the growing numer of nets. This poses severl chllenges in terms of the lgorithm design. The first chllenge is to select suitle cost function tht dequtely cptures the locl congestion conditions on the edges of the routing grph. Next, we need to devise n lgorithm tht finds minimum cost tree with minimum running time. Since the this prolem is NPcomplete, the lgorithm needs to use suitle pproximtion technique. Finlly, our technique must ensure tht the overll performnce of the rip-up-nd-reroute phse is stisfctory in terms of congestion mitigtion nd overflow reduction. In this work, we evlute severl cost functions, which tke into ccount vrious fctors, such s density, overflow, nd history. We propose severl efficient lgorithms for Steiner tree routing nd compre their performnce. Our lgorithms re sed on known pproximtion for the Steiner tree prolem, heuristic methods, nd rtificil intelligence techniques. C. Network coding The sic ide of the network coding technique [11] is to enle the intermedite nodes to generte new signls y comining the signls rriving over their incoming wires. This is in contrst to the stndrd pproch, in which ech Steiner node cn only forwrd or duplicte the incoming signls. Exmple 1: Consider routing instnce depicted in Figure 1(). In this exmple, we need to route two nets, one connecting source s 1 with terminls t 1, t 2, nd t 3, nd the other connecting source with the sme set of terminls. The underlying routing grph is represented y grid G(V, E) s shown in Figure 1(). Suppose tht, due to congestion, ech edge of this grph hs residul cpcity of one unit, i.e., 978-0-7695-3684-2/09 $25.00 2009 IEEE DOI 10.1109/ISVLSI.2009.38 43 Authorized licensed use limited to: Texs A M University. Downloded on July 27, 2009 t 14:59 from IEEE Xplore. Restrictions pply.

s 1 t 1 () s 1 t 1 (c) s 1 t 1 () s 1 t 1 (d) Fig. 1. () The underlying routing grph with set of source nodes nd terminls. () A rectiliner Steiner tree tht connects source s 1 to ll terminls. (c) A collection of two rectiliner Steiner trees tht connect sources s 1 nd to ll terminls. (d) A network coding solution. ech edge cn ccommodte only single wire. It is esy to verify tht only one net cn e routed without n overflow. For exmple, Figure 1() shows possile routing of net tht connects s 1 with terminls t 1, t 2, t 3. Figure 1(c) shows tht routing of oth nets results in n overflow. In this exmple, two nets trnsmit different signls, nd, over seprte Steiner trees. Figure 1(d) shows tht the network coding pproch llows to route oth nets without violting edge cpcities. With this pproch, the terminl t 1 cretes new signl,, which is delivered to terminls t 2 nd t 3, while the signls nd re delivered to terminls t 2, nd t 3 directly. It is esy to verify tht with this scheme ech terminl cn decode the two originl symols, nd. The exmple ove indictes tht network coding cn offer two distinguished dvntges. First, it hs potentil of solving very difficult cses. In some instnces, the network coding technique llows to solve cses tht cnnot e routed y conventionl techniques. Second, it cn chieve decrese in the totl wirelength, nd, t the sme time, llevite the routing congestion. D. Contriution Our contriutions re: First, we propose severl lgorithms for finding efficient congestion-wre Steiner trees nd evlute their performnce on the ISPD98 enchmrks; Second, we focus on the novel technique of network coding nd present n efficient lgorithm for finding congestion-wre network coding topologies; Finlly, we evlute the performnce of severl cost functions tht cpture the locl congestion on the routing edges. II. MODEL In this work, we dopt the most commonly used glol routing model. The routing topology is represented y grid grph G(V, E), where ech node v V corresponds to glol routing cell (GCell) [7], [9] nd ech routing edge e E corresponds to oundry etween two djcent GCells. A set S = {n 1, n 2,..., n S } of nets re to e routed on this grph. Ech net n i S is set of terminl nodes tht need to e connected y wires. If there is wire connection etween two djcent GCells, the wire must cross their oundry nd utilize the corresponding routing edge. Ech routing edge e E hs certin routing cpcity c(e) which determines the numer of wires tht cn pss through this edge. We use η(e) to denote the numer of wires tht re currently using this edge. For ech edge e E, the overflow ov(e) of e is defined s: { η(e) c(e) if η(e) > c(e) ov(e) = 0 otherwise. The mximum overflow ov mx is defined s: ov mx = mx e E ov(e). Totl overflow ov tot is defined s: ov tot = e E ov(e). Totl wire-length wlen is defined s: wlen = e E η(e). The density d(e) of n edge e E is defined s: d(e) = η(e) c(e). Since we focus on the rerouting phse, we ssume tht for ech net n i S there exists Steiner tree T i which connects ll the terminls in n i. Given set of trees {T i n i T i } we cn determine the vlues of ov(e) nd η(e) for ech edge e E. Then, we find set of nets S S tht need to e rerouted s well s the new topologies for the rerouted nets. Our gol is to find topologies tht minimize the mximum overflow ov mx, the totl overflow ov tot, nd the totl wirelength wlen. III. CONGESTION-AWARE STEINER TREES In this section we present tools nd techniques for finding efficient Steiner trees tht minimize congestion with minimum penlty in terms of the overll wirelength. Our lgorithms re intended for rip-up-nd-reroute stge of the glol routing. A. Cost functions Our lgorithms ssocite ech edge e E in the grph with cost function ρ(e) which cptures its congestion nd overflow. The cost of the entire tree is then defined s the totl cost of ll of its edges. Our gol is to identify trees tht go through congested regions nd replce them y trees or network coding topologies tht use less congested res. In this work we consider severl cost functions. First, we propose cost ssignment where the cost of n overflowed edge is polynomil function of the sum of its density nd overflow, wheres the cost of n edge without overflow is polynomil function of its density. Formlly, the proposed cost function is defined s follows: { (d(e) + ov(e)) α if ov(e) > 0 ρ(e) = d(e) α (1) otherwise. Here, α is constnt which determines the reltive penlty for the congested edges. 44 Authorized licensed use limited to: Texs A M University. Downloded on July 27, 2009 t 14:59 from IEEE Xplore. Restrictions pply.

Second, we use the cost ssignment function proposed y [9]. With this cost ssignment, the cost of n edge is n exponentil function { of its density: exp(β (d(e) 1)) if d(e) > 1 ρ(e) = (2) d(e) otherwise. Here β is constnt which determines the penlty for overflowed edges. The third function ssigns costs sed on the history [7], [9]. Specificlly, ech edge is ssocited with prmeter h(e) tht specifies the numer of times the edge hs een overflowed during the previous itertions of the lgorithm. Tht is, ech time the edge with overflow is used, the prmeter h e is incremented y one. Then, the modified cost ρ (e) of the edge is defined s follows: ρ (e) = 1 + h e ρ(e). (3) Here, ρ(e) is either the polynomil function (Eqution 1) or exponentil function (Eqution 2). If the density of the edge is less or equl to one, the prmeter h e is set to one. B. Previous work on Steiner tree routing The Steiner tree prolem hs proven to e NP-complete [12]. It is well studied prolem in the computer science nd welth of heuristic nd pproximte solutions hve een developed for it. The est known pproximtion lgorithm hs n Approximtion rtio of 1.55 (i.e., the cost of the tree returned y the lgorithm is less thn 1.55 times the optimum) [13]. The est known pproximtions require significnt computtion time so we hve used computtionlly fesile nd esy to implement pproximtion nd heuristic solution for constructing Steiner trees. C. Algorithms for finding congestion-wre trees As mentioned ove, our gol is to rip up nd reroute nets tht use congested edges of G(V, E). For ech net n S which hs een ripped up, we need to find n lterntive Steiner tree, with low congestion edges. We denote the set of terminls of n y T = {t 1, t 2,..., t T }. In this section we descrie five lgorithms for finding congestion-wre Steiner trees. The first three lgorithms use well-known techniques (see e.g., [14], [15], [16]) while the lst two re sed on the intelligent serch techniques [17]. The performnce of the lgorithms is evluted in Section V. 1) Algorithm 1: This lgorithm pproximtes minimum cost Steiner tree y using shortest pth tree. A shortest pth tree is union of the shortest pths etween terminl t 1 nd ech terminl t i T \{t 1 }. A shortest pth tree cn e identified y single invoction of the Dijkstr s lgorithm. However, the cost of the tree my e significntly lrger thn the optimum. 2) Algorithm 2: This lgorithm constructs the tree in n itertive mnner, such tht in itertion j it finds shortest pth etween terminl t 1 nd terminl t i T \ {t 1 }. More specificlly, we first find shortest pth P 1 etween t 1 nd t 2 with respect to the originl costs. Then, we ssign zero cost to ll edges tht elong to P 1 nd find shortest pth P 2 etween t 1 nd t 3 with respect to modified costs. The ide ehind this lgorithm is to encourge shring of the edges etween different pths. Tht is, if n edge e elongs to P 1, it cn e used in P 2 without dditionl cost. In generl, when finding shortest pth to terminl t i, ll edges tht elong to pths of previously processed terminls re ssigned zero cost. This lgorithm requires T 1 itertions of the Dijkstr s lgorithm, ut it typiclly returns lower cost tree thn Algorithm 1. 3) Algorithm 3: This is stndrd pproximtion lgorithm with the pproximtion rtio of 2 (i.e., the cost of the tree returned y the lgorithm is less thn two times the optimum). Specificlly, with this lgorithm we find shortest pth etween ech pir of terminl nodes of n. Then, we construct complete grph G in which nodes re comprised of the terminl nodes of n nd ech edge (v, u) G is ssigned the length of the shortest pth etween v nd u in G. The lgorithm then finds minimum spnning tree Θ in G. Next, ech edge in Θ is sustituted y the corresponding shortest pth in G, which results in Steiner tree in G tht connects ll terminls in T. 4) Algorithms 4 nd 5: The next two lgorithms, referred to s Algorithms 4 nd 5 re intelligent serch sed lgorithms. Our pproch is inspired y the A lgorithm, which elongs to the generl clss of est-first grph serch lgorithms nd uses heuristic function to determine the order of visiting the nodes of the grph. Specificlly, for ech node v G we define p(v) to e the mximum Mnhttn distnce etween node v nd terminl t i T which hs not een processed yet y the lgorithm. The Mnhttn distnce etween v nd t i is defined s the minimum numer of hops tht seprte v nd t i in G. Then, Algorithms 4 nd 5 follow the sme steps s Algorithms 1 nd 2, respectively, with the ddition of the heuristic function p(v) to the current cost estimte. IV. NETWORK CODING TECHNIQUE In this pper, we use the network coding technique in order to chieve further improvement in terms of minimizing congestion nd reducing the numer of overflows. The network coding technique enles, under certin conditions, to shre edges tht elong to different nets. For exmple, for the grph depicted in Figure 1(c) there re two minimum Steiner trees, one trnsmitting signl from source s 1 nd the second trnsmitting signl from source. These two trees clsh t the middle edge (emnting from t 1 ), resulting in n overflow. This conflict cn e resolved y coding t node t 1, which effectively llows two trees to shre edges. Our methods will identify pirs of nets tht shre lrge numer of common terminls nd then pply network coding technique to reduce overflow. A. Previous work on network coding The prolem of routing of multiple nets with shred terminls is relted to the prolem of estlishing efficient multicst connections in communiction networks. The network coding technique ws proposed in seminl pper y Ahlswede et l. [11]. It ws shown in [11] nd [18] tht the cpcity of the multicst networks, i.e., the numer of pckets tht cn e sent simultneously from the source node s to ll terminls is equl to the minimum size of cut tht seprtes s from ech terminl. Li et. l. [18] proved tht liner network codes 45 Authorized licensed use limited to: Texs A M University. Downloded on July 27, 2009 t 14:59 from IEEE Xplore. Restrictions pply.

re sufficient for chieving the cpcity of the network. In susequent work, Koetter nd Médrd [19] developed n lgeric frmework for network coding. This frmework ws used y Ho et l. [20] to show tht liner network codes cn e efficiently constructed through rndomized lgorithm. Jggi et l. [21] proposed deterministic polynomil-time lgorithm for finding fesile network codes in multicst networks. An initil study of pplicility of network coding for improving the routility of VLSI designs ppers in [22]. In [23] Gulti et l. used network coding for improving the routility of FPGAs, focusing on finding the nets tht re suitle for network coding. To the est of our knowledge, this is the first work tht proposes efficient lgorithms for finding the congestion-wre network coding topologies for VLSI circuits. Fig. 2. Comprison of the verge numer of overflows. B. Network coding lgorithm We proceed to present the lgorithm we use for constructing congestion-wre coding networks tht reduces congestion nd overflow. Unlike the Steiner tree lgorithms, for ech net n i S it is importnt to distinguish etween the source node s i of n i nd the rest of the terminls in T i. In prticulr, the node tht genertes the signl nd drives the net is referred to s the source. Our lgorithm ssumes tht the loction of the source is known for ech net. The first step of the lgorithm to identify the suset S of S tht includes nets tht go through edges with overflow. Second, we identify pirs of nets in S tht shre t lest four common terminls. Thus, we check, for ech such pir of nets (n i, n j ) whether we cn replce the Steiner trees for n i nd n j y more efficient routing topology with respect to congestion nd overflow. More specificlly, let (n i, n j ) e pir of nets in S tht shre t lest four terminls. We denote the set of terminls shred y n i nd n j y T ij. We lso denote y T i the set of terminls in T i tht do not elong to T ij nd y T j the set of terminls in T j tht do not elong to T ij. Next, we find two congestion-wre Steiner trees Φ i nd Φ j tht connect s i to T i nd s j to T j. These trees cn e identified y one of the lgorithms presented in Section III. The cost of edges in the grph is updted fter finding Φ i nd Φ j. Finlly, we find congestion-wre network coding topology Θ tht connects s i nd s j to the common set of terminls T ij. The network coding topology Θ is identified through the following procedure: 1) Determine the shortest distnce etween s i nd ech terminl in T ij ; 2) For ech terminl t T ij let d(t) the the sum of the shortest distnces etween s i nd t nd s j nd t; 3) Set Θ ; 4) For ll terminls t T ij in the incresing order of d(t) do: ) Find two disjoint pths P i nd P j of minimum totl cost, tht connect s i nd t, nd s j nd t, respectively. Such pths cn e determined y the lgorithm due to Suurlle nd Trjn [24]; ) Assign zero cost to ll edges tht elong to P i nd P j ; Fig. 3. Comprison of the verge mximum overflow. c) Set Θ Θ E(P i ) E(P j ), where E(P i ) nd E(P j ) re the sets of edges tht elong to pths P i nd P j, respectively; 5) Return Θ. Finlly, we determine whether the totl cost of Θ, Φ i, nd Φ j is less thn the totl cost of the originl Steiner trees for n i nd n j. If there is reduction in terms of cost, the two originl Steiner trees re replced y Θ, Φ i, nd Φ j. V. PERFORMANCE EVALUATION We hve evluted the performnce of our lgorithms using the ISPD98 routing enchmrks [25]. In ll the experiments, we first run the Steiner tree tool Flute [26] in order to determine the initil routing of ll the nets in the enchmrk. Next, we perform n itertive procedure, referred to s Phse 1, which processes ech net nd checks whether n lterntive Steiner tree of lower cost exists nd if yes, rips up the existing tree nd replces it with the lterntive one. The procedure uses one of the lgorithms descried in Section III. The procedure termintes when four susequent itertions yield the sme numer of overflows. Next, we check whether the ppliction of network coding technique cn further reduce the numer of overflows. This procedure is referred to s the NC Phse. We first identify pirs of nets tht hve overflowed edges nd shre t lest four terminls. We then pply the network coding lgorithm presented in Section IV to find n lterntive network coding topology nd perform rip-up nd reroute if such topology 46 Authorized licensed use limited to: Texs A M University. Downloded on July 27, 2009 t 14:59 from IEEE Xplore. Restrictions pply.

Fig. 4. Comprison of the verge totl wirelength. fster thn their counterprts (Algorithm 1 nd Algorithm 2, respectively). This is due to the fct tht intelligent serch methods speed up the serch y preferring nodes closer to the destintion. Phse 1 NC Phse ov tot ov mx wlen ov tot ov mx wlen im1 0 0 79427 0 0 79482 im2 0 0 219647 0 0 220348 im3 0 0 186287 0 0 185039 im4 61 1 190378 61 1 190407 im5 0 0 415681 0 0 415681 im6 0 0 332378 0 0 331178 im7 0 0 476888 0 0 472709 im8 0 0 499855 0 0 495697 im9 0 0 499287 0 0 495101 im10 0 0 729879 0 0 719990 TABLE I PERFORMANCE EVALUATION USING ALGORITHM 3 ON ISPD98 BENCHMARKS. Fig. 5. Comprison of verge of running time. is eneficil in terms of reducing congestion nd eliminting overflows. The experimentl results for oth the phses re shown in Figure, 3, 4. The cost function for this set of experiments ws set ccording to Eqution 1 with α 10. We oserve tht higher vlues of α give etter results ut tke more time to converge nd lso result in lrger totl wirelength. We lso note tht Algorithm 3 hs the est performnce in terms of reducing the totl numer of overflows s well s reducing the mximum overflow. In fct, Algorithm 3 llows to eliminte ll overflows in ll enchmrks, except for im4 s given in Tle I. We lso note tht Algorithms 4 nd 5 yield Steiner trees with smller totl wirelength. This is due to the fct the intelligent serch lgorithms fvor pths tht hve smll hop count. We oserve tht the network coding technique further reduces the totl numer of overflows, ut hs little impct on the vlue of the mximum overflow. The pir of nets tht use network coding topology is reltively smll. Furthermore, for ech pir of nets for which we perform network coding, the numer of required gtes is smll. Tht is, ech pir of nets involved in the network coding requires only smll numer of encoding nodes. Moreover, in ll cses tht we encountered the network coding opertions cn e performed over finite field GF (2), i.e, ech encoding node cn e implemented with single XOR gte. Such gtes incur minimum overhed ecuse they cn serve s uffers for long wires. Figure 5 compres the running times of the Algorithms 1-5. As expected Algorithm 4 is one of the fstest lgorithm, wheres Algorithm 1 nd 5 hve running times comprle to Algorithm 1. Moreover Algorithm 4 nd Algorithm 5 re Polynomil Cost Exponentil Cost History Bsed Cost ov tot ov mx ov tot ov mx ov tot ov mx im1 0 0 168 1 108 1 im2 0 0 27 1 9 1 im3 0 0 2 1 0 0 im4 61 1 234 1 439 4 im5 0 0 0 0 0 0 im6 0 0 26 1 0 0 im7 0 0 61 1 0 0 im8 0 0 10 1 0 0 im9 0 0 23 1 0 0 im10 0 0 29 1 0 0 TABLE II PERFORMANCE EVALUATION OF DIFFERENT COST FUNCTIONS (USING ALGORITHM 3 FOR PHASE 1) ON ISPD98 BENCHMARKS. Ver. Cp Hor. Cp MizeRouter Phse 1 + NC Phse ov tot ov mx ov tot ov mx im1 11 13 43 1 34 1 im5 21 31 45326 25 45151 25 im8 17 28 649 9 641 9 im9 10 24 4006 9 3989 9 TABLE IV IMPROVEMENT OVER MAIZEROUTER FOR MODIFIED (CONGESTED) IBM BENCHMARKS USING ALGORITHM 3 FOR PHASE 1 AND POLYNOMIAL COST FUNCTION (SEE EQUATION 1). In the first set of experiments we evluted the performnce of three cost functions mentioned in Section III on the ISPD98 enchmrks using Algorithm 3 for Phse 1. For cost function given y Eqution 1 we used α 10, wheres for cost function given y Eqution 2 we used β 50 nd for cost function given y Eqution 3, ρ(e) ws polynomil cost function. The results re shown in Tle II. Polynomil cost function showed the est performnce in terms of overflows. In nother set of experiments we tried to solve slightly modified ISPD98 enchmrk files. The modifiction included reducing the verticl nd horizontl cpcity y one unit. For Phse 1 we used Algorithm 3 nd then pplied the NC Phse. 47 Authorized licensed use limited to: Texs A M University. Downloded on July 27, 2009 t 14:59 from IEEE Xplore. Restrictions pply.

Flute Phse 1 NC Phse Successful NC pirs ov tot ov mx wlen ov tot ov mx wlen ov tot ov mx wlen im1 3257 14 60209 283 3 80128 282 3 80116 3 im2 5678 22 166193 17 1 215284 13 1 215192 16 im3 2308 16 145777 1 1 186001 1 1 185843 2 im4 4833 15 162844 704 6 195927 704 6 195584 18 im5 5 4 410038 0 0 476251 0 0 473265 70 im6 5492 27 276012 5 1 330894 3 1 330532 14 im7 4665 15 363678 1 1 473743 1 1 473312 15 im8 5400 13 403502 1 1 491312 1 1 491149 10 im9 8545 14 411524 21 1 486254 20 1 485605 37 im10 7103 20 574743 5 1 713579 0 0 709349 85 TABLE III PERFORMANCE EVALUATION USING ALGORITHM 3 ON MODIFIED ISPD98 BENCHMARKS (DECREASED BOTH HORIZONTAL AND VERTICAL CAPACITY BY 1 UNIT). Polynomil cost function given y Eqution 1 ws used to check the performnce on these more congested cses. The results re given in Tle III. We hve lso conducted the sme experiment on severl selected enchmrks on the output of MizeRouter [10]. In these experiments, we itertively reduced the verticl nd horizontl cpcity of the ISPD98 enchmrks until we got overflows while running them through MizeRouter. Then, we used the output of MizeRouter s input to Algorithm 3 nd fter tht we hve pplied the NC Phse. The cost function used ws polynomil with α = 10. The results re shown in Tle IV. The results demonstrte tht Algorithm 3 performs well nd cn contriute to further reduction of the numer of overflows. VI. CONCLUSIONS In this pper we presented severl efficient technique for rip-up-nd-reroute stte of the glol routing process. Our techniques is sed on ripping up nets tht go through highly congested res nd rerouting them using efficient Steiner tree lgorithms. We hve hve considered severl efficient Steiner tree lgorithms s well s severl weight functions tht cpture congestion nd overflow. We hve lso studied the ppliction of the novel technique of network coding nd showed tht it cn efficiently hndle difficult routing cses, fcilitting reduction in the numer of overflows. REFERENCES [1] J. Hu nd S. S. Sptnekr. A Survey on Multi-net Glol Routing for integrted Circuits. Integrtion: the VLSI Journl, 31(1):1 49, 2002. [2] R. Kstner, E. Bozorgzdeh, nd M. Srrfzdeh. Predictle Routing. In Proceedings of the IEEE/ACM Interntionl Conference on Computer- Aided Design, pges 110 113, 2000. [3] C. Alrecht. Provly Good Glol Routing y New Approximtion Algorithm for Multicommodity Flow. In Proceedings of the ACM Interntionl Symposium on Physicl Design. [4] J. Cong, J. Fng, nd Y. Zhng. Multilevel Approch to Full-Chip Gridless Routing. In Proceedings of the IEEE/ACM Interntionl Conference on Computer-Aided Design, pges 396 403, 2001. [5] Y. W. Chng nd S. P. Lin. MR: New Frmework for Multilevel Full-Chip Routing. IEEE Trnsctions on Computer-Aided Design, 23(5):793 800, My 2004. [6] M. Cho nd D. Z. Pn. BoxRouter: A New Glol Router Bsed on Box Expnsion nd Progressive ILP. In Proceedings of the ACM/IEEE Design Automtion Conference, pges 373 378, 2006. [7] M. Cho, K. Lu, K. Yun, nd D. Z. Pn. BoxRouter 2.0: Architecture nd Implementtion of Hyrid nd Roust Glol Router. In Proceedings of the IEEE/ACM Interntionl Conference on Computer-Aided Design, pges 503 508, 2007. [8] M. Pn nd C. Chu. FstRoute 2.0: A High-qulity nd Efficient Glol Router. In Proceedings of the ACM/IEEE Asi nd South Pcific Design Automtion Conference, pge50 255, 2007. [9] J. A. Roy nd I. L. Mrkov. High-performnce Routing t the Nnometer Scle. In Proceedings of the IEEE/ACM Interntionl Conference on Computer-Aided Design, pges 496 502, 2007. [10] M. D. Moffitt. MizeRouter: Engineering n Effective Glol Router. In Proceedings of the ACM/IEEE Asi nd South Pcific Design Automtion Conference, pge26 231, 2008. [11] R. Ahlswede, N. Ci, S.-Y. R. Li, nd R. W. Yeung. Network Informtion Flow. IEEE Trnsctions on Informtion Theory, 46(4):1204 1216, 2000. [12] M.R. Grey nd D.S. Johnson. Computers nd Intrctility. Freemn, Sn Frncisco, CA, USA, 1979. [13] G. Roins nd A. Zelikovski. Improved Steiner Tree Approximtion in Grphs. In Proceedings of 11th ACM-SIAM Symposium on Discrete Algorithms, pges 770 779, 2000. [14] S. Voß. Steiner s Prolem in Grphs: Heuristic Methods. Discrete Appl. Mth., 40(1):45 72, 1992. [15] T. Lenguer. Comintoril Algorithms for Integrted Circuit Lyout. John Wiley & Sons, Inc., New York, NY, USA, 1990. [16] M. P. D. Arg o nd R. F. Werneck. On the Implementtion of MST-Bsed Heuristics for the Steiner Prolem in Grphs. In ALENEX 02: Revised Ppers from the 4th Interntionl Workshop on Algorithm Engineering nd Experiments, pges 1 15, London, UK, 2002. Springer- Verlg. [17] R. Dechter nd J. Perl. Generlized Best-First Serch Strtegies nd the Optimlity of A. Journl of the ACM, 32(3):505 536, 1985. [18] S.-Y. R. Li, R. W. Yeung, nd N. Ci. Liner Network Coding. IEEE Trnsctions on Informtion Theory, 49(2):371 381, 2003. [19] R. Koetter nd M. Medrd. An Algeric Approch to Network Coding. IEEE/ACM Trnsctions on Networking, 11(5):782 795, 2003. [20] T. Ho, R. Koetter, M. Medrd, D. Krger, nd M. Effros. The Benefits of Coding over Routing in Rndomized Setting. In Proceedings of the IEEE Interntionl Symposium on Informtion Theory, 2003. [21] S. Jggi, P. Snders, P. A. Chou, M. Effros, S. Egner, K. Jin, nd L. M. G. M. Tolhuizen. Polynomil Time Algorithms for Multicst Network Code Construction. IEEE Trnsctions on Informtion Theory, 51(6):1973 1982, 2005. [22] N. Jykumr, K. Gulti, S. Khtri, nd A. Sprintson. Network Coding for Routility Improvement in VLSI. In Proceedings of IEEE/ACM Interntionl Conference on Computer-Aided Design, Sn Jose, CA, Novemer 2006. [23] K. Gulti nd S. P. Khtri. Improving FPGA Routility using Network Coding. In GLSVLSI 08: Proceedings of the 18th ACM Gret Lkes symposium on VLSI, pges 147 150, 2008. [24] J. Suurlle nd R. Trjn. A Quick Method for Finding Shortest Pirs of Disjoint Pths. Networks, 14:325 336, 1984. [25] C. J. Alpert. In ISPD 98: Proceedings of the 1998 interntionl symposium on Physicl design, New York, NY, USA. [26] C. Chu. FLUTE: Fst Lookup Tle Bsed Wirelength Estimtion Technique. In In Proceedings of the IEEE/ACM Interntionl Conference on Computer-Aided Design, pges 696 701, 2004. 48 Authorized licensed use limited to: Texs A M University. Downloded on July 27, 2009 t 14:59 from IEEE Xplore. Restrictions pply.