Post on 08-Jul-2020
International Journal on Computational Science & Applications (IJCSA) Vol.5, No.3, June 2015
DOI:10.5121/ijcsa.2015.5301 1
ANGLE ROUTING:A FULLY ADAPTIVE
PACKET ROUTING FOR NOC
Foroogh Haj aghajani 1
,Ahmad Khademzadeh2
,Samira Saeidi3
and Kambiz Badie2
1
Computer Engineering Department of Islamic Azad University, Science and Research
Branch, Tehran, Iran 2
Iran Telecom Research Branch, Tehran, Iran 3
Computer Engineering Department of Islamic Azad University, Tehran Center Branch,
Tehran, Iran
ABSTRACT
The performance of network-on-chip largely depends on the underlying routing techniques. In this paper a
novel fully adaptive deadlock-free packet routing algorithm for network on chip is proposed. This method
which is called angle routing (AR) determines a path based on minimizing the angle between the candidate
neighbouring switch, current switch and destination. Simulation results under different traffic patterns
show that, as the volume traffic of the network on chip increases, our new algorithm achieves significant
better average latency compared to some other deterministic and partially adaptive routing algorithms.
KEYWORDS
Network on Chip, Adaptive Routing Algorithm, Angle Routing, Average Delay
1.INTRODUCTION
With enlarging the computation-intensive applications and low-power requirements for high
performance systems, the number of computing resources on a single-chip has increased, so the
interconnection among resources becomes a new challenging issue. In most SoC applications, a
shared bus interconnection is used. But for the complicated systems that the number of bus
requesters is large and their required bandwidth for intercommunication is more than the current
bus capacity, some other interconnection network must be considered [1]. Network-on-Chip
(NoC) has been proposed as a solution to provide better modularity, scalability, reliability and
higher bandwidth compared to bus-based communication infrastructures [2].
In [3], suitable switching and routing algorithm has been considered as one of the design space
dimensions of NoCs. In fact, the network performance and power consumption have been deeply
affected by that [3]. Routing algorithm, determines the path a packet takes in the network starting
from the source to its destination. Connectivity, adaptivity, fault tolerance and deadlock, livelock
and starvation freedom are contemplations of routing algorithms [4].
International Journal on Computational Science & Applications (IJCSA) Vol.5, No.3, June 2015
2
Depending on the degree of adaptiveness, routing algorithms are classified to three routing
categories. A non adaptive routing algorithm is deterministic and routes a packet from the source
to the destination along a unique, predetermined path. A minimal fully adaptive routing algorithm
routes all packets through any shortest paths to the destinations. A partially adaptive routing
algorithm allows multiple choices for routing packets via shortest paths, but it does not allow all
packets to use any shortest paths [5].
During the passing between switches in a 2D mesh, a packet can follow four directions: east,
west, north, and south. Eight distinct turns are possible in the path followed by a packet [6], [7],
as shown in Figure 1.
Figure1. Abstract cycles in 2-D mesh [7]
Algorithms with no restrictions on turns are named fully adaptive. Fully adaptive routing
algorithms are subject to deadlock conditions [6].
This paper presents a fully adaptive deadlock-free routing algorithm for NoC which optimizes
average latency considerably. The rest of this paper is organized as follows. Section two deals
with the previous works. Within section three, the Angle routing algorithm will be discussed. In
four, simulation results are presented and conclusion will be in section five.
2.RELATED WORKS
Most of the presented algorithms prohibit two or more turns to prevent deadlock, so the degree of
adaptiveness decreases. [5], [7], [8], [9], [10], [11], [12], [13], [14], [15], [16], [17], and [18]
propose some of these algorithms.
Since adaptiveness increases the chances that packets may avoid hot spots or faulty components
and reduces the chances that packets are continuously blocked, it can then be viewed as an
important factor for routing [5]. So it is better to prevent deadlock without prohibiting turns.
Several researchers used virtual channels to design partially adaptive and fully adaptive routing
algorithms for a variety of network architectures, including meshes [7], [19], [20], [21], [22], and
[23]. Adding virtual channels allows the design of highly adaptive routing algorithms. However,
adding virtual channels to meshes leads to a high overhead which is not favorable. It involves
adding buffer space and complex control logic to routers, thus communication performance of the
network and reliability of the routers may be affected [5].
In this paper, we propose a novel fully adaptive, deadlock-free routing algorithm without adding
virtual channels to network on chip.
International Journal on Computational Science & Applications (IJCSA) Vol.5, No.3, June 2015
3
3.ANGLE ROUTING ALGORITHM
As it was mentioned, network performance has been deeply affected by routing algorithm. Here
we introduce one routing algorithm that is fully adaptive and can turn to all directions. If there is
only one path with healthy links and sufficient free bandwidth between source and destination,
this algorithm can find it.
In this new approach priority of selecting outputs is based on the angle between destination
switch, current switch and each neighbouring switch. Figures 2(a) and 2(b) show the basic
concept of angle routing. In this issue, simple 2-D mesh is used. For more clarification suppose
that we want to determine the priority of selecting output in figure 2(b). First the angles for all
neighbouring switches of source are considered by computing ���∆�
∆� and calculating absolute
value of differences between it and �
�, ,
��
� and 2. Then they will be arranged from minimum
to maximum. This is going to be the priority of outputs. Therefore, the switch with maximum
priority (in fact minimum angle) is selected, if the relative link is not occupied or faulty, as shown
in Figure 2(b). This step is repeated for selected switch until it gets to destination. If relative link
to selected switch is occupied or faulty, another neighbouring switch with higher priority (less
angle) is selected.
(a) (b)
Figure 2. (a) Angle computation, (b) Priority of selecting next switch in a 2-D mesh
However, as far as our goal is determining priority only for four neighbouring switches for simple
2-D mesh, it does not seem necessary to calculate all these angles. Indeed the priority can be
considered just with being inspired by mentioned angles. For instance, if both ∆x and ∆y are
positive and ∆y is more than ∆x therefore, θ is between �
and
�
� and the priority of switches is
respectively: switch 2, switch 1, switch 3 and switch 4 which means select(Y+, X+, X-, Y-), as
shown in Figure 2(b). As a result without any need for calculating angles and just with being
inspired by mentioned angles, the priority of outputs can be determined. In this manner before
selecting next switch, the algorithm checks path for preventing loop.
As a matter of fact since proposed algorithm is fully adaptive some techniques must be planned to
avoid deadlock, livelock and starvation.
As it is mentioned in [7] there are three ways for deadlock handling including: deadlock
prevention, deadlock avoidance and deadlock recovery. Deadlock prevention strategies are very
conservative and they may lead to low resource utilization because of reserving all the required
resources before starting packet transmission. However, deadlock avoidance and recovery
International Journal on Computational Science & Applications (IJCSA) Vol.5, No.3, June 2015
4
techniques evolved during the last few years significantly. Suppose a set of packets which each of
them has reserved a channel when it requests another channel that is held by other packets in the
set. Clearly this situation will last forever since required channel cannot be granted. Therefore,
removing cyclic dependencies between channels is essential for preventing deadlock. Concerning
adaptive routing since packets usually have several choices even if one of them is held by another
packet, other choices may be available. Thus eliminating all the cyclic dependencies is not
necessary provided that every packet can always find a path toward its destination whose
channels are not involved in cyclic dependencies [7]. As proposed algorithm is fully adaptive
even if just one of the channels is not occupied or faulty, packet has the permission to choose it.
As a result, if there is any cyclic dependency it will be eliminated.
Respecting avoiding livelock three strategies are suggested [7]: Using only minimal paths,
restricting nonminimal paths and probabilistic avoidance. Utilizing just minimal paths can
prevent livelock easily but it can cause deadlock conditions and less fault tolerance. However,
even when nonminimal paths are used livelock can be avoided by limiting the number of
misrouting operations [7]. In our algorithm, the number of routers in packet’s path is considered
for preventing livelock. In point of fact this method starts by minimal paths and if it finds
reaching to destination through them implausible then it checks nonminimal paths respectively by
observing loop prevention.
In regard to starvation avoidance AR focuses on transmitting packets with more delay. Delay is
the absolute difference between current time and the time that packet is injected. Thus, packets
with more delay have more precedence for selecting output and it leads to starvation avoidance.
As for fault tolerance due to mentioned reasons and being fully adaptive, for every pair of source
and destination if there is even just one path available AR is able to find it.
TO be brief, for deadlock, livelock and starvation prevention as well as fault tolerance AR:
- Eliminates cyclic dependencies
- Avoids repetitious selections
- Considers number of routers in packet’s path
- Uses precedence for packets
By using this method the average latency is meaningfully decreased because packets are not kept
waiting for a long time. Additionally it always intends to find minimum feasible deviation from
direct path to destination. Consequently, the way which is traversed by packets is as short as
possible.
In spite of the fact that angle routing tries to find the shortest possible path to destination, but
sometimes it is forced to select other paths due to occupied or faulty links. Hence in these
situations packets consume more energy because of passing longer paths. To solve this problem
packet’s delay is also considered for selecting output. As it was mentioned, delay is the absolute
difference between current time and the time that packet is injected. It is clear that for those
packets which are not involved in long delay there is no need for making the path longer and
consuming more energy. Therefore, angle routing is just used for the packets whose delay is more
than d. In fact d is a parameter which determines the degree of adaptiveness of routing algorithm.
Actually the number of packets which use angle routing is influenced by d directly.
Consequently, it can be seen that the more d is, the less adaptiveness the routing algorithm has.
Therefore, the percentage of packets which use angle routing is limited to the packets with long
delay. It causes considerable reduction in average delay because these packets are the main
International Journal on Computational Science & Applications (IJCSA) Vol.5, No.3, June 2015
5
reason for increasing average delay. Moreover, if d is properly set the percentage of these packets
is not so much that causes any noticeable effect on energy consumption.
Furthermore, the number of routers in packet’s path (hop number) is considered for livelock
avoidance. In fact angle routing is used just for the packets which their hop number is less than
specific value. Clearly it should be proportional to the distance between source and destination. In
presented algorithm m*InitialDistance is used to show maximum allowable hop number which
InitialDistance is sum of horizontal and vertical distances between source and destination and m
is another factor which affects adaptiveness directly. As a matter of fact the more m is, the more
adaptive the routing algorithm.
The pseudo code of this algorithm for 2-d mesh is brought in below.
Algorithm: Angle Routing Algorithm for 2-D Meshes
Inputs: Coordinates of current node (Xcurrent, Ycurrent) ,
Source node (Xsrc, Ysrc) ,
Destination node (Xdest, Ydest) ,
Packet injection time (PacketInjectionTime) ,
Number of routers (hop number)/ * Number of Routers in Packet’s Path up to Current Node*/
Output: Selected output Channel
Procedure: /*(this procedure is executed for the packet with maximum precedence (delay) in order to
starvation prevention)*/
Xoffset := Xdest − Xcurrent;
Yoffset :=Ydest −Ycurrent;
InitialDistance:= abs(Xoffset) + abs(Yoffset);
Delay := CurrentTime - PacketInjectionTime;
if Xoffset = 0 and Yoffset = 0 then
Channel := Internal;
else if (Delay<=d or RouterNumber>=m* InitialDistance) then
Return RoutingXY (Xcurrent, Ycurrent, Xdes, Ydes);
else
if Xoffset > 0 and Yoffset >= 0 then
if Xoffset > Yoffset then
Channel := Select(X+, Y+, Y-, X-);
else
Channel := Select(Y+, X+, X-, Y-);
endif else if Xoffset =< 0 and Yoffset > 0 then
if -Xoffset > Yoffset then /*absolute(Xoffset) > absolute(Yoffset) */
Channel := Select(X-, Y+, Y-, X+);
else Channel := Select(Y+, X-, X+, Y-);
endif
else if Xoffset < 0 and Yoffset =< 0 then
if Xoffset < Yoffset then /*absolute(Xoffset) > absolute(Yoffset) */
Channel := Select(X-, Y-, Y+, X+);
else
Channel := Select(Y-, X-, X+, Y+);
endif else if Xoffset >= 0 and Yoffset < 0 then
if Xoffset > -Yoffset then /*absolute(Xoffset) > absolute(Yoffset) */
Channel := Select(X+, Y-, Y+, X-);
else Channel := Select(Y-, X+, X-, Y+);
International Journal on Computational Science & Applications (IJCSA) Vol.5, No.3, June 2015
6
endif
endif
endif
In above algorithm, according to acquired priority, output will be selected if the relative link is
not occupied or faulty. In addition for preventing repetition, it avoids selecting the same direction
that packet comes from.
As it can be seen in the results, this method presents better average latency in comparison with
other considered algorithms.
For comparing behavior of this algorithm with other algorithms, routing is done for a packet in
spite of occupied or faulty links by various ways of routing in Figure 3. The intent of occupied
links is the links which other applications have higher precedence to use them during the time that
this packet should get to destination.
In these Figures, the circle with S is the source of packet, the circle with D is the destination of
packet, the dashed links show occupied or faulty links and the dark links show selected links in
each routing algorithm.
In Figure 3(a), routing is done by the x-y routing method. As we know x-y routing is a
deterministic technique, hence as soon as a packet reaches an occupied or faulty link, it is
compelled to stop. As shown in Figure 3(a), the packet stops and cannot get to the destination
because the dashed link with a × symbol on it, is occupied or faulty.
If we use west first, north last and negative first algorithms like in Figures 3(b)-(d) for the same
situation data could not reach destination because of prohibiting some turns.
(a) (b)
International Journal on Computational Science & Applications (IJCSA) Vol.5, No.3, June 2015
7
(c) (d)
Figure 3. (a) X-Y routing, (b) West First routing, (c) North Last routing, (d) Negative first routing
But by the proposed algorithm, data could get to destination as shown in Figure 4, for the reason
of not prohibiting any turn for preventing deadlock.
Figure 4. Angle Routing
As it was mentioned due to acquire better performance in regard to energy consumption, angle
routing is just used for some packets and for the rest of packets XY routing algorithm is used. In
view of the fact that regarding average latency under some pattern traffics, other partially
adaptive routing algorithms such as west-first, negative-first and north-last perform better in
comparison with XY, they can be used in our algorithm instead of XY. In fact if each of
mentioned algorithms is used in place of XY, it will lead to a combination of these algorithms and
angle routing algorithm. For instance, if negative-first is used instead of XY, we will have angle-
negative-first (ANF) algorithm and so on. However, for each case average packet latency
decreases since packets mostly are not kept waiting for a long time but average energy
consumption increases because some packets are compelled to pass the longer path.
International Journal on Computational Science & Applications (IJCSA) Vol.5, No.3, June 2015
8
4.ANALYSIS OF SIMULATION RESULTS
In order to assess the performance of the purposed algorithm, we simulated it together with other
routing techniques by using a systemC based simulator which is called NOXIM [24] and
compared their results. Obviously, selecting suitable criteria to survey received consequences is a
serious subject. In this work, the efficiency of each type of routing is evaluated through latency-
traffic and energy-traffic curves. It is assumed that the packet latency spans instantly when the
first flit of the packet is created, to the time when the last flit is ejected to the destination node,
including the queuing time at the source. As for energy, the average energy which is consumed by
all received packets is considered including the required energy for forwarding flits, incoming
flits, flits which are standby and the energy which is used for performing routing algorithm.
Each simulation is run for a warm-up period of 1000 cycles. Thereafter, performance data are
collected for 10000 cycles. This procedure is repeated for 1000 times and presented results are the
averages of all collected data.
The network size during simulation is fixed to be 7*7 tiles. Each channel of all routers has a FIFO
buffer size of 4 flits. The minimum and maximum of packets’ sizes are 2 and 10 flits respectively.
Since the network performance is significantly influenced by the traffic pattern, three traffic
patterns are considered: uniform, transpose and hot spot. In the uniform traffic pattern, each core
sends a packet to any other cores with equal probability. For the transpose traffic, two types of
patterns are simulated. With the first transpose traffic pattern a core at (i, j) only sends packets to
the core at (6-j, 6-i). In the second transpose traffic pattern a core at (i, j) only sends packets to the
core at (j, i). In the hot spot traffic pattern, the cores at (2, 2) and (5, 5) are designated as the hot
spots, which receive 10% more traffic in addition to the regular uniform traffic.
As it was mentioned in order to achieve better performance regarding energy consumption, angle
routing is just used for packets whose delay is higher than d and for the rest of packets other
deterministic or partially adaptive algorithms such as XY, negative first, west first and north last
are used. Therefore as d decreases the percentage of packets which use angle routing increases
and as a result the number of packets kept waiting falls and it leads to better average packet
latency. However, it causes the energy consumption to go up since more packets pass longer
paths. In fact the new algorithm inherits some features like average latency and average energy to
some extent. For instance, concerning angle-negative-first (ANF) due to mentioned reasons we
have less average latency and more average energy consumption compared with negative first.
In Figure 5 the results of negative first and ANF for various values of d under the second
transpose traffic are displayed. As it can be seen in Figure 5(a) by reducing d, average packet
latency decreases significantly compared to slight increment of energy consumption which is
shown in Figure 5(b). For instance, concerning ANF 4000 for packet injection rate over .06
(packets/cycle) average packet latency decreases by more than 50% compared with NF while
energy consumption faces just less than 10% increase. Even if we consider greater values of d, it
is observed that in spite of trifling growth of energy consumption, improvement of average packet
latency is meaningful. However, d can be changed for different systems. When smaller d is
considered, betterment of average latency is even greater but average energy consumption could
face considerable increments.
International Journal on Computational Science & Applications (IJCSA) Vol.5, No.3, June 2015
9
(a) (b)
Figure 5. (a) Average packet latency under the second transpose traffic, (b) Average packet Energy under
the second transpose traffic
As it was noted, traffic pattern deeply affects the network performance. Figures 6-8 show the
simulation results for various kinds of traffic. In Figures 6(a) and 6(b), average packet latency and
average packer energy under uniform traffic for two values of d 2000 and 4500 are studied. As
expected, for uniform traffic XY presents better performance compared with partially adaptive
algorithms like west first and north last. However, owing to the reasons mentioned before, angle-
XY (AXY), angle-west-first (AWF) and angle-north-last (ANL) offers better average packet
latency but more average packet energy in comparison with XY, west first and north last.
(a) (b)
Figure 6. (a) Average packet latency under uniform traffic, (b) Average packet Energy under uniform
traffic
Figures 7(a) and 7(b) compare performance of algorithms under the first transpose traffic as well
as Figures 7(c) and 7(d) which represent average packet latency and average packet energy for
the second transpose traffic for two values of d 1000 and 6000. Taking the results using transpose
traffic, improvement of average latency for all algorithms which use angle routing is of a
considerable amount compared to additional power overheads. As shown in Figures 7(a)-(d) since
adaptive algorithms naturally behave better under non uniform traffics, performance gains of our
algorithm for transpose traffic ameliorate significantly contrasted with uniform traffic. Especially
as Figure 7(c) reveals for smaller delays our algorithm saturates at considerable high injection in
comparison with other considered algorithms.
0
500
1000
1500
2000
2500
0.04 0.05 0.06 0.07 0.08 0.09 0.1
Av
era
ge
Pa
cke
t La
ten
cy,c
ycl
e
Packet Injection Rate, packets per cycle
NF
ANF 7000
ANF 6000
ANF 5000
ANF 4000
ANF 3000
0
5E-09
1E-08
1.5E-08
2E-08
2.5E-08
0.04 0.05 0.06 0.07 0.08 0.09 0.1
Av
era
ge
Pa
cke
t E
ne
rgy
, J
Packet Injection Rate, packets per cycle
NF
ANF 7000
ANF 6000
ANF 5000
ANF 4000
ANF 3000
0
500
1000
1500
2000
2500
3000
3500
0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04 0.045 0.05
Av
era
ge
Pa
cke
t D
ela
y,
Cy
cle
s
Packet Injection Rate, Packets per cycle
XY
WF
NL
AXY 4500
AWF 4500
ANL 4500
AXY 2000
AWF 2000
ANL 2000
0
2E-08
4E-08
6E-08
8E-08
0.000000
1.2E-07
1.4E-07
1.6E-07
0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04 0.045 0.05
Av
era
ge
Pa
cke
t E
ne
rgy
, J
Packet Injection Rate, Packets per cycle
XY
WF
NL
AXY 4500
AWF 4500
ANL 4500
AXY 2000
AWF 2000
ANL 2000
International Journal on Computational Science & Applications (IJCSA) Vol.5, No.3, June 2015
10
(a) (b)
(c) (d)
Figure 7 (a) Average packet latency under the first transpose traffic, (b) Average packet Energy under the
first transpose traffic, (c) Average packet latency under the second transpose traffic, (d) Average packet
Energy under the second transpose traffic
In Figures 8(a) and 8(b), we show simulation results of algorithms under hot spot traffic for two
values of d 2000 and 6000. Here hot spot traffic with two hot spot nodes, which receive 10%
more traffic extra to the regular uniform traffic, is considered. Figures 8(a) and 8(b) represent that
on one hand angle routing optimizes average delay, but on the other hand it augments average
energy noticeably in compassion with transpose traffic.
(a) (b)
Figure 8. (a) Average packet latency under hot spot traffic, (b) Average packet Energy under hot spot
traffic
0
500
1000
1500
2000
2500
0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
Av
era
ge
Pa
cke
t D
ela
y,
cycl
e
PacketInjectionRate, packetspercycle
XY
NF
WF
NL
AXY 6000
ANF 6000
AWF 6000
ANL 6000
0
2E-09
4E-09
6E-09
8E-09
1E-08
1.2E-08
1.4E-08
1.6E-08
1.8E-08
2E-08
0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
Av
era
ge
Pa
cke
t E
ne
rgy
, J
PacketInjectionRate,packetspercycle
XY
NF
WF
NL
AXY 6000
ANF 6000
AWF 6000
ANL 6000
0
500
1000
1500
2000
2500
3000
3500
4000
0.010.020.030.040.050.06 0.070.080.09 0.1 0.11 0.120.130.140.15
Av
era
ge
Pa
cke
t D
ela
y,
cycl
e
PacketInjectionRate, packetspercycle
XY
NF
WF
NL
AXY6
ANF6
AWF6
ANL6
AXY1
ANF1
AWF1
ANL1
0
5E-09
1E-08
1.5E-08
2E-08
2.5E-08
3E-08
3.5E-08
4E-08
4.5E-08
0.0
1
0.0
2
0.0
3
0.0
4
0.0
5
0.0
6
0.0
7
0.0
8
0.0
9
0.1
0.1
1
0.1
2
0.1
3
0.1
4
0.1
5
Av
era
ge
Pa
cke
t E
ne
rgy
, J
PacketInjectionRate,packetspercycle
XY NF
WF NL
AXY6 ANF6
AWF6 ANL6
0
500
1000
1500
2000
2500
3000
3500
4000
4500
0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04 0.045 0.05
Av
era
ge
Pa
cke
t D
ela
y,
Cy
cle
s
Packet Injection Rate,Packets per cycle
XY
WF
NL
AXY7
AWF7
ANL7
AXY2
AWF2
ANL2
0
2E-08
4E-08
6E-08
8E-08
0.000000
1.2E-07
1.4E-07
1.6E-07
1.8E-07
0.000000
0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04 0.045 0.05
Av
era
ge
Pa
cke
t E
ne
rgy
, J
Packet InjectionRate,Packets per cycle
XY
WF
NL
AXY7
AWF7
ANL7
AXY2
AWF2
ANL2
International Journal on Computational Science & Applications (IJCSA) Vol.5, No.3, June 2015
11
On the whole our observation of the simulation results can be summarized as follows: Although
XY and partially adaptive algorithms perform better in regard to average energy consumption,
our algorithm presents significant improvement concerning average packet latency. Another
interesting fact is that angle routing algorithm does keep the advantages of deterministic and
partially adaptive routing when network is not congested. Furthermore, depends on the priority of
our needs the degree of adaptiveness can be changed. It means whenever average delay is more
important, smaller values of d is designated, otherwise provided that average energy is intended
to be more prominent, greater values of d would be preferred.
5.CONCLUSION
In this paper, a novel fully adaptive deadlock-free packet routing algorithm is presented, based on
being inspired by angle computation in 2-D meshes for Network on Chip without adding any
virtual channels.
As we know, decreasing average latency is one of the most significant objectives in routing
algorithms. According to the simulation results, average packet latency appears meaningfully
better in angle routing compared to other considered algorithms. In addition, as the priority is
computed in each step of routing, the proposed method was realized to be suitable for dynamic
applications. Moreover, using AR for three dimensional networks is an interesting subject for
future works.
REFERENCES
[1] Jun Ho Bahn, Seung Eun Lee and N. Bagherzadeh, “Design of a router for network-on-chip,”
International Journal of High Performance Systems Architecture, vol. 1, Issue 2, pp. 98-105, October
2007.
[2] D. Wu, B.M. Al-Hashimi and M.T. Schmitz, “Improving Routing Efficiency for Network-on-Chip
through Contention-Aware Input Selection,” 11th Asia and South Pacific Design Automation
Conference (ASP-DAC 2006), Japan, pp. 1-6, 2006.
[3] U. Ogras, J. Hu and R. Marculescu, “Key Research Problems in NoC Design : A Holistic
Perspective,” Proceedings of the 3rd IEEEACMIFIP international conference on Hardware software
codesign and system synthesis, Jersey City, New Jersey, USA, Sept. 19-21, pp. 69-74, 2005.
[4] J. Henkel, W. Wolf and S.T. Chakradhar, “On-chip networks: A scalable, communication-centric
embedded system design paradigm,” In Proc. VLSI Design, India, pp. 845-851, 2004.
[5] G.M. Chiu, “The odd-even turn model for adaptive routing,” IEEE Trans. Parallel Distrib. Syst., vol.
11, no. 7, pp. 729-738, Jul. 2000.
[6] A.V. de Mello, L.C. Ost, F.G. Moraes and N.L.V. Calazans, “Evaluation of Routing Algorithms on
Mesh Based NoCs,” Proc. Technical Report Series No.040, pp. 3-6, May 2004.
[7] J. Duato, S. Yalamanchili and L. Ni, “Interconnection Networks: An Engineering Approach,” Morgan
Kaufmann publishers, ISBN 1-55860-852-4, 2003.
[8] J. Hu and R. Marculescu, “DyAD - Smart Routing for Networks-on-Chip,” DAC, USA, pp. 260-263,
2004.
[9] T. Mak, P.Y.K. Cheung and W. Wayne Luk, “A DP-Network for Optimal Dynamic Routing in
Network-on-Chip,” Proceeding CODES+ISSS '09 Proceedings of the 7th IEEE/ACM international
conference on Hardware/software codesign and system synthesis ISBN: 978-1-60558-628-1, pp. 1-9,
2009.
[10] M.K.F. Sch¨afer, T. Hollstein, H. Zimmer and M. Glesner, “Deadlock-Free Routing and Component
Placement for Irregular Mesh-based Networks-on-Chip,” ACM International conference on
Computer-aided design IEEE Computer Society Washington, DC, USA , ISBN:0-7803-9254-X, pp.
238-245, 2005.
[11] R. Holsmark, M. Palesi and S. Kumar, “Deadlock free routing algorithms for irregular mesh topology
NoC systems with rectangular regions,” journal of Systems Architecture vol. 54, Issues 3-4, System
International Journal on Computational Science & Applications (IJCSA) Vol.5, No.3, June 2015
12
and Network on Chip, pp. 427-440, March-April 2008.
[12] F. Nasiri, A. Khademzadeh, A. Mehran and S. Saeidi, “A Backtracking Routing Algorithm for
Network on Chip,” In Proceedings of Communications in Computing, pp. 160-165, 2008.
[13] E. Behrouzian-Nezhad and A. Khademzadeh, “BIOS: A New Efficient Routing Algorithm for
Network on Chip,” Contemporary Engineering Sciences, vol. 2, no. 1, pp. 37-46, 2009.
[14] Sudeep Pasricha, Yong Zou, Dan Connors and Howard Jay Siegel, “OE+IOE: A novel turn model
based fault tolerant routing scheme for networks-on-chip,” Hardware/Software Codesign and System
Synthesis (CODES+ISSS 10), New York, USA, pp. 85-93, 2010 IEEE/ACM/IFIP.
[15] S. Pasricha and Y. Zou, “NS-FTR: A fault tolerant routing scheme for networks on chip with
permanent and runtime intermittent faults Proceedings of the 16th Asia and South Pacific Design Aut.
Conf. (ASPDAC '11), Colorado State Univ., Fort Collins, CO, USA, pp. 443-448, Jan. 2011.
[16] W.-C. Tsai, K.-C. Chu, Y.-H. Hu and S.-J. Chen, “Non-minimal, turn-model based NoC routing,"
Microprocessors and Microsystems, vol. 37 , Issue 8 , Article in Press, doi: [10.1016], 2013.
[17] Y. Zou, S. Pasricha, "NARCO: Neighbor Aware Turn Model-Based Fault Tolerant Routing for Nocs,"
IEEE Embedded Systems Letters, vol 2, pp.85-89,Sept. 2010.
[18] H.S. Castro, O.A. de Lima, “A fault tolerant NoC architecture based upon external router backup
paths,” New Circuits and Systems Conference (NEWCAS), 2013 IEEE 11th International
[19] N. Kavaldjiev, G.J.M. Smit and P.G. Jansen, “A virtual channel router for on-chip networks,” IEEE
International SOC Conference, USA, pp. 289-293, 2004.
[20] C. Teuscher, “Topology-Unaware Routing in Irregular Self-Assembled Networks-on-Chip: An
Explorative Case Study,” Proceedings of the 2nd international conference on Nano-Networks ICST
(Institute for Computer Sciences, Social-Informatics and Telecommunications Engineering) ICST,
Brussels, Belgium, Belgium ©2007 table of contents ISBN: 978-963-9799-10-3, 2007.
[21] Y. Turner and Y. Tamir, “Deadlock-free connection-based adaptive routing with dynamic virtual
circuits,” J. Parallel Distrib. Comput. ,pp. 13-32, 2007.
[22] M. Valinataj, S. Mohammadi, J. Plosila, P. Liljeberg, "A fault-tolerant and congestion-aware routing
algorithm for Networks-on- Chip", Design and Diagnostics of Electronic Circuits and Systems
(DDECS), 2010 IEEE 13th International Symposium, pp. 139-144, 2010.
[23] C. Chen and S. Cotofana, “An effective routing algorithm to avoid unnecessary link abandon in 2d
mesh noc,” In Proceedings of Digital System Design (DSD), pages 374-379, September 2013.
[24] M. Palesi, D. Patti and F. Fazzino, “http://www.noxim.org/,”