You are on page 1of 5

Routing Algorithms Study and Comparing in Interconnection Networks

Hamid Barati Dezful,IRAN hbarati@iaud.ac.ir Ali Movaghar Tehran, IRAN movaghar@sharif.edu Ali Barati Dezful,IRAN abarati@iaud.ac.ir II. Arash Azizi Mazreah Sirjan, IRAN aazizi@iausirjan.ac.ir
Department of Computer Engineering Department of Computer Engineering Department of Computer Engineering Department of Computer Engineering Islamic Azad University, Dezful Branch Sharif University of Technology Islamic Azad University, Dezful Branch Islamic Azad University, Sirjan Branch

Abstract- A routing algorithm defines a route which packet traverses to get to destination. In this research we study some kind of routing algorithms that are used in internal connections networks of multi-processor and multi-computers systems. Then we discuss about some routing algorithms which have been implemented network on chip architecture. First, we present a group of routing algorithms based on various criterions, and review so-called category. Afterwards, we study adaptive and deterministic routing algorithms and express circular model applying in internal connections networks and its governing rules in order to prevent dead lock. Then we survey adaptive algorithms such as Deflection routing, Odd-Even, negative-first, north-last, west-first and finally we study and review routing algorithms like Backtracking Protocols, and Deflection Routing. Keywords- adaptive routing algorithms, Deflection routing, deterministic routing algorithms, Backtracking Protocols

ROUTING ALGORITHMS GROUPING

I. INTRODUCTION The main goal of this paper is acquiring overall knowledge and recognition about outlined notions in routing discussion and being familiar with its relevant basic principles. Some internal connections networks features and characteristics are resulted from routing algorithms which have applied in them. Among these features, we can refer to the following ones: Connectivity: Packets routing capabilities from every source to every destination. Adaptively: The ability of packets sending to destination from different routes and in the presence of elements, erroneous and busy lines. Dead lock and live lock freedom: The ability to assure that the packets won't be wander in network. Fault tolerance: The ability to packets routing in the presence of faulty and erroneous elements. While through put and low delay are key features of internal connections networks, routing protocols and algorithms have found improving importance and are main cases in efficiency determination of internal connections network.

The routing algorithms can be categorized based on various criterions. First, we review so-called grouping overall. Then, we study its details in next sections. At first, in regard to destinations numbers, the routing algorithms can be grouped. The packets may just have unicast routing or multicast one. Also, these algorithms regarding to decisions making setting which is related to routing, can be grouped. Essentially, the route may be created by a central controller (centralized routing) in source node before packet injection in to the network (source routing), or when the packet is moving through network, it can be created as distributed one (distributed routing). It is possible to implement routing algorithms in different forms. From the most important presented methods, we can refer to routing table application (table look up) and performing a routing algorithm as software or hardware and based on finite-state automation. In both cases, routing algorithms can be adaptive or deterministic. Deterministic routing algorithms (Deterministic routing) always create similar routing between each pair of source and destination nodes. Adaptive routing algorithms use network traffic data or channel state in order to avoid network congested and erroneous areas. The adaptive routing is useful just when network traffic state changes slowly. According to adaptive algorithms progressing way, we can divide then in two groups: progressive and backtracking. Progressive algorithms forward packet header and reserve a new channel for each routing operation. Backtracking algorithms allow header to moves back ward and releases previous reserved channels. Backtracking algorithms are mainly used for designing routing algorithms with fault tolerance capability. In a lower level, we can categorize routing algorithms in to profitable and misrouting groups according to their minimization. Profitable routing algorithms just provide channels that near to the packets to their distinction. Misrouting algorithms provide the channels that may discard the packet from its destination. In the lowest level, routing algorithms can be divided in to "completely adaptive" and "partially adaptive" groups based on proposed routes number. In source routing, source node defines the route according to a routing algorithm that has no dead lock. The so-called calculated route reserves in packet header until applied by inter-node for channel reservation. Totally, the source

routing is used in the networks which have irregular topology. Since the packet header must deliver through the network, then it consumes the network high band width. Most hardware routers use distributed routing. Using distributed routing; the packet header will compressed severally, because it only need the destination address and few control bits. In distributed routing, every internal nodes have to make decisions about routing, these decisions are based on network local data. Consider that the distributed routing algorithms route the packets toward internal nodes. It will be possible to route a packet in two or more phases without any necessity to general information about overall network state. In multi-phases, uni-cast routings, and internal node defines primarily, then using distributed routing algorithm the considered packet is sent toward that internal node. After packet acceptance by internal node, this node also reinjects the packet in to the network. This packet is sent either to other internal node or to its final destination. In hypercube, mesh and tore topologies, it is possible to use a simple routing algorithm which is based on finite-state automaton. In this routing algorithm, we route the packets so much in a dimension until the offset become zero in it. Then we do it for other dimensions until we get to the destination. Consider that dimension-order routing can be run in source node and then can save the data which are related to circulation packet header. Dimension-order routing can be run as distributed too. In each internal node, routing algorithm provides an exit channel for passing through the lowest dimension that its offset is not zero yet. Majority of present multi-computers systems use the distributed deterministic routing algorithms. Deterministic routing algorithms perform well, usually when traffic state is monotonous. But when the traffic is not monotonous, the algorithms efficiency is so low. We can analyze adaptive routing algorithms in to two main operations: 1-Routing 2-Selection Routing operation defines a set of out going channels. Also, this operation is done based on nodes or recent buffers and destination nodes. Choosing one of this category cases is done by selection. This selection is in respect to out going channel state in present node. As a result, adaptive algorithms will able to follow the finding of other routes, instead of waiting for occupied channels releasing. Therefore, this algorithms increase routing flexibility. Adaptive routing algorithms can be divided in to two groups: A) progressive B) Backtracking Progressive routing algorithms forward the packet header in every routing and reserve a new channel. Backtracking algorithms allow the header to backtrack and release previous reserved channels. The algorithms principally are employed in error-tolerant routings.

Figure 1. A category of Routing Algorithms Grouping

III.

DETERMINISTIC ROUTING ALGORITHMS

These algorithms create a route as a function of destination address. These algorithms always create a similar routing between each pair of nodes. In this section, we study the most famous routing algorithm. Clearly, the most famous routing algorithm is the simplest one. Some topologies analyze to several perpendicular dimensions. Progressive routing algorithms decrease one of offset in each routing stage. One of the simplest progressive routing algorithm acts as follow: First it decreases one of the offset until reaching zero. Then, it surveys other offset in other dimension. This routing algorithm is known as dimension order routing. This algorithm routes the packets by passing through dimensions as fetch-and-add. Dimension order routing algorithm presents a routing algorithm with no dead lock for hypercube and n-dimension mesh. IV. CIRCULAR MODEL

This model provides a systematic and principal method in order to develop partial adaptive routing algorithms for a certain network. As it was talked, the dead lock occurs when packet route includes cycle. So, if there is no circular dependence between channels, there is no dead lock too. Basic notion which circular model uses is avoidance from some circulations as we avoid circulations creating and then avoid dead lock. When a packet passes through two-dimension mesh, it can move to four directions: North and south, east and west.

Therefore, the packet may present eight circulations. These circulations have presented in figure (2). An algorithm which considers no restriction in circulations implementation is called complete adaptive, but if there will be some restrictions in each of circulations, these algorithms are called partial adaptive.

south, east and north adaptively. Two prevented circulations are the same that forward west. For minimization routing, if the destination is at right hand (east) of source, the algorithm is completing adaptive, but it is deterministic. On the other words. In this algorithm if x1xs, the packet will route as deterministic. But if x>x, then the packets can be routed through east, north or south directions adaptively. In this algorithm, two prevented circulations are ones that the packets are moving toward north. That is, this algorithm does not allow the circulation from north to east or from north to west. B. Negative-First Routing Algorithms In this algorithm, two circulations are not permitted too: The circulation from north to west and from east to north. If (xtxs and ytys) or (xtxs and ytys), the packets are routed deterministically. In all other conditions, the packets will route adaptively. C. Odd-Even Routing Algorithm ((OE)-last) It is an other adaptive routing algorithm which is based on circular model. Comparing to other adaptive routing algorithms that don't use virtual channel, it is more adaptive and has less over head. It exerts some restrictions, in circulations like previous presented algorithms, for avoiding and preventing from dead lock appearance. In this model, no circulations will eliminate. Explaining some definitions are necessary in order to represent this algorithm: In a two-dimension mesh with dimensions K0*K1 each xnode is identified by its coordinate (x0, x1) that X0 element is zero dimension and x1 is the dimension one of X. In this model, a column is called even if its zero dimension element is even numerical column. Also, a column is called odd if its zero dimension element is an odd number. As a whole, there are two main theorems in odd-even: Theorem1: NO packet is permitted to do EN circulation in each node which is located on an even column. Also, No packet is permitted to do EW circulation in each node that is located on an odd column. Theorem 2: NO packet is permitted to do ES circulation in each node that is in an even column. Also, no packet is permitted to do SW circulation in each node which is in an odd column. D. Deflection Routing It is one of adaptive routing algorithms. Deflection routing is known as hot-potato too. One of its features is that it does not buffer the packets. It means, switches don't have any buffers in this scheme. The packets are always moving. Deflection routing, in fact, is a combination from a routing algorithm and deflection policy. Routing algorithm defines required and ideal links for packet movement. And deflection policy defines a problem-solution

Figure 2. Eight possible circulations in a two-dimension mesh

Complete adaptive algorithms incline to create dead lock. But if it at least avoids two circulations, it will possible that resulted algorithm has no dead lock. We show source node coordinate with (Xs, Ys) and destination node coordinate with (Xt ,Yt) at the remainder of this discussion. In a two-dimension mesh network, it may exist eight circulations and two abstract circles. In fact, in a two-dimension mesh and for avoiding from circle creation, that's enough to prevent two circulations. These circulations have presented in figure (3)

Figure 3. Two prevented circulations in two-dimension mesh for avoiding from dead lock appearance

V.

ADAPTIVE ROUTING ALGORITHMS

An algorithm which has no restriction in circulations implementation is called complete adaptive, but if there will be some restriction in each of these circulations, these algorithms are called partial adaptive. Since complete adaptive algorithms incline to dead lock appearance, most represented on chip algorithms in the network are partial adaptive. In these algorithms, it is tried to make deterministic algorithms more flexible by spending cost and balanced complexity. Majority of recent presented partial adaptive rely on lack of circular dependence between channels until control dead lock. At the continuation, we study some adaptive algorithms. A. West-first Algorithms This is an adaptive routing algorithm. When necessary it routes a packet toward west additively and routes it toward

when there is competition and involvement on a link. Link bandwidth is allocated packet by packet. When several packets compete and involve on a link, it does as follow: A packet that has higher preference achieves its considered link and lower preference packets route and send in other routes. Since the packets don't buffer, designing of switches are cheaper and easier. VI. BACKTRACKING PROTOCOLS These protocols work on the basis that if a channel is not available for every reason, instead of waiting for its releasing or amendment, it should search other routes. It is very good, especially when the channel is faulty. One of the most important applications of these protocols is the designing of backtracking routing algorithms. Backtracking protocols deploy routing header for short history data save. It increases header size in progressive protocols considerably. To overcome this problem, we can distribute short history data in network nodes and decrease header in e-cube size. In each network node, every entrance link has a short history bit vector (h). Background vector bits number is equal to node channels numbers. When an outing channel is searched, its similar bit is marked (Remembered) to announce that this channel has searched. Each node has its small history vector (h), because a node may itself become source of a probe. We will introduce different backtracking protocols at the remainder of discussion. A. Exhaustive Profitable Backtracking (EPB) EPB accomplishes a firs-depth search in the network and only deploy useful links. This protocol assures that if we have a route, it will find minimization. It is complete adaptive, useful and backtracking. Although EPB doesn't search a route several times and frequently, but can meet a special node several times. It can lead to unnecessary backtracking and finally route standing time will last. B. Exhaustive Misrouting Backtracking (EMB) EMB protocol accomplishes a first-depth search in the network and can use profitable and non-profitable links. This protocol uses a heuristic first-best and deploys profitable links more than non-profitable ones. Namely, it is tried to use profitable links primarily and if need the non-profitable links are utilized. Although standing routes by EMB are longer than standing routes by EPB, but it is more possible to find a route in EMB. This algorithm problem is that it can not identify a pocket is delivered or not until search all available routes in the network. In the worst state, a probe can ineffectively barred many network sources in order to search an absent route. This algorithm is so optimistic. Also, reserved routes may be very long and waste channels bandwidth very much and unnecessarily.

C. Two-Phase Backtracking Protocols We can restrict misrouting scope using two-phase partial adaptive protocol like k-family protocol. If so, probe is permitted to accomplish misrouting until it locates at uintervals from its destination. In first phase of two-phase backtracking (TPB-U) When probe is at a larger distance than u from destination, It accomplishes a useful universal search. When the distance is less than u, we enter TBP-u second phase, and a comprehensive search is done. During a routing a TBP-u protocol can switch several times between this phases. D. Misrouting Backtracking (MB-m) with m misroutes This protocol is so resemble to EMB protocol. But in this protocol, majority of misroute is allowed in each moment. As a whole, when the packets length is not so long, backtracking protocols have less efficiency than progressive protocols. Because these protocols have longer standing time. But when the packets length is so large, backtracking protocols will have much efficiency than progressive ones, especially when network presented routes are great. VII. CONCLUSION

Deterministic routing algorithms always create similar routing between each pair of source and destination nodes. Adaptive routing algorithms use network traffic data or channel state in order to avoid network congested and erroneous areas. The adaptive routing is useful just when network traffic state changes slowly. According to adaptive algorithms progressing way, we can divide then in two groups: progressive and backtracking. Backtracking algorithms are mainly used for designing routing algorithms with fault tolerance capability. An algorithm which has no restriction in circulations implementation is called complete adaptive, but if there will be some restriction in each of these circulations, these algorithms are called partial adaptive. Most represented on chip algorithms in the network are partial adaptive. We can categorize routing algorithms in to profitable and misrouting groups according to their minimization. Profitable routing algorithms just provide channels that near to the packets to their distinction. Misrouting algorithms provide the channels that may discard the packet from its destination. Deflection routing is one of adaptive routing algorithms. Deflection routing is known as hot-potato too. One of its features is that it does not buffer the packets. The packets are always moving. Backtracking protocols work on the basis that if a channel is not available for every reason, instead of waiting for its releasing or amendment, it should search other routes. One of the most important applications of these protocols is the designing of backtracking routing algorithms. EPB accomplishes a firs-depth search in the network and only deploy useful links.

EMB protocol accomplishes a first-depth search in the network and can use profitable and non-profitable links. MB-m protocol is so resemble to EMB protocol. But in this protocol, majority of misroute is allowed in each moment.

[16]

[17]

REFERENCES
[1] D. Bertozzi, A. Jalabert, S. Murali, R. Tamhankar, S. Stergiou, L. Benini, and G. D. Micheli. "NoC Synthesis Flow for Customized Domain Specific Mutliprocessor Systems-on-Chip". IEEE Transactions on Parallel and Distributed Systems, 2006. T. Bjerregaard and J. Spars. "A router architecture for connectionoriented service guarantees in the MANGO clockless network-onchip". In Proceedings of Design, Automation andTesting in Europe Conference 2006 (DATE05). IEEE, 2006. E. Bolotin, I. Cidon, R. Ginosar, and A. Kolodny. "QNoC: QoS architecture and design process for network on chip". Journal of Systems Architecture, special issue on Network on Chip, Feb. 2005. T. Felicijan and S. B. Furber. "An asynchronous on-chip network router with quality-of service (qoS) support". In Proceedings IEEE International SOC Conference, Sept. 2007. O. P. Gangwal, A. Radulescu, K. Goossens, S. G. Pestana, and E. Rijpkema. "Building predictable systems on chip: An analysis of guaranteed communication in the thereal network on chip". In P. van der Stok, editor, Dynamic and Robust Streaming In And Between Connected Consumer-Electronics Devices, volume 3 of Philips Research Book Series Springer, 2006. K. Goossens, J. Dielissen, and A. Radulescu. "The thereal network on chip: Concepts,architectures, and implementations". IEEE Design and Test of Computers, Sept 2006. K. Goossens, S. G. Pestana, J. Dielissen, O. P. Gangwal, J. van Meerbergen, A. Radulescu, E. Rijpkema, and P. Wielage. "Service-based design of systems on chip and networks on chip". In P. van der Stok, editor, Dynamic and Robust Streaming In And Between Connected Consumer-Electronics Devices, volume 3 of Philips Research Book Series,Springer, 2006. Hansson, K. Goossens, and A. Radulescu. "A unified approach to constrained mapping and routing on network-on-chip architectures". In Intl Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS), Sept. 2006. J. Kim, D. Park, C. Nicopoulus, N. Vijaykrishnan, and C. Das. "Design and analysis of an noC architecture from performance, reliability and energy perspective". Symposium on Architectures for Networking and Communication Systems., Oct. 2006. M. Liu. "Improving the performance of a wormhole router and wormhole flow control". Masters thesis, School for Information and Communication Technology, Royal Institute of Technology, Stockholm, Sweden, Dec. 2006. Z. Lu, M. Zhong, and A. Jantsch. Evaluation of on chip networks using deflection routing".In Proceedings of GLSVLSI, 2007. D. Rostislav, V. Vishnyakov, E. Friedman, and R. Ginosar."An asynchronous Router for Multiple Service Levels Network on Chip". In Proceedings of the 12th IEEE International Symposium on Asynchronous Circuits and Systems, 2006. D. S. Tortosa and J. Nurmi. "Arbitration and routing schemes for on-chip packet networks".In J. Nurmi, H. Tenhunen, J. Isoaho, and A. Jantsch, editors, Interconnect-Centric Design for Advanced SoC and NoC. Kluwer Academic Publishers, 2006. W. Dally and B. Towles, "Route Packets, Not Wires: On-Chip nterconnection Networks", Proc. of the Design Automation Conference, Jun 2006. Y.-R. Sun, S. Kumar, and A. Jantsch, "Simulation and evaluation of a network on chip architecture using ns-2" In Proceedings of the IEEE NorChip Conference, November 2005.

R. Thid, M. Millberg, and A. Jantsch, "Evaluating NoC communication backbones with simulation" In Proceedings of the IEEE NorChip Conference, November 2006 R. Balasubramonian, N.Muralimanohar, K. Ramani, and V.Venkatachalapathy. "Microarchitectural Wire Management for Performance and Power in Partitioned Architectures". In 12th International Symposium on High-Performance Computer Architecture (HPCA-11),Feb. 2005.

[2]

[3]

[4]

[5]

[6]

[7]

[8]

[9]

[10]

[11] [12]

[13]

[14]

[15]

You might also like