You are on page 1of 4

19thIranianConferenceonElectricalEngineering(ICEE),IEEE,2011

A Technique for NoC Routing Based on Extended Compact


Genetic Optimization Algorithm
Zahra Emrani*, and Karim Mohammadi**
* zemrani@Elec.iust.ac.ir
** mohammadi@iust.ac.ir

In this paper, an automated design technique based


on Extended Compact Genetic Algorithm (ECGA)[7]
is presented that solves routing design problem in the
mesh based NoC with an objective of minimizing the
bandwidth which the entire system required, that is,
balancing the link load of entire system. While GA is a
kind of random optimization algorithm based on the
Genetic intelligence, it is applicable to solve NP
problems. However, it is always susceptibility to
entrapment at local optima.
In this paper, with use of ECGA solve NOC routing
problem. Compared to basic GA Algorithm[8], the
technique has better performance and significantly
guarantees the bandwidth requirement.

Abstract: Network-on-chip (NoC) has been proposed as a


solution for the global communication challenges of Systemon-chip (SoC) design in the nanoscale technologies. This
method tries to develop an efficient routing algorithm for
Network-on-Chip. The proposed routing methodology, based
on the Extended Compact Genetic Algorithm Optimization, is
applied on the 2D-Mesh NoC platform to balance the link
load. Experimental results show that this routing algorithm
can efficiently assign deadlock-free, minimal routing paths
for traffic traces in a short period of time.

Keywords:
Network-on-chip
(NoC),
routing
algorithm, Extended Compact Genetic Algorithm.
1.

Introduction

In the presentation and implementation of an


appropriate network-on-chip, the most important issues
that need to be addressed are: the selection of suitable
routing algorithms, selection of proper connections,
reduction of power utilization, improvement of
reliability, and balance the link load. NoC Routing is
one of the most important affects on efficient in NOC.
The routing strategy determines the path followed by
each packet between a sourcedestination pair.
The goal of this article is to offer an appropriate
routing approach with balance the link load in a
network-on-chip.
Deadlock-free and livelock-free are important
factors for the routing operation. The use of the virtual
channels is one of the approaches that has been
proposed in [1][3] for getting rid of deadlock and
livelock, and which has been applied in the networkson chip with different topologies. The XY routing
algorithm for two-dimensional meshes has been
presented in [4]. In this algorithm, a packet moves, first
along the X dimension and then, along the Y
dimension. This algorithm is not adaptive, but it is
deadlock-free. In [5], a partially-adaptive routing
algorithm has been presented in which the virtual
channels are not used.
In [6], a routing algorithm, called the odd-even turn
algorithm, has been proposed, which is based on the
turn model. In this algorithm, some of the turns are
prevented from happening, according to two rules, and
thus, a lack of deadlock is guaranteed.
Therefore, XY routing is simple, it does not take a
balance for communication traffics. The novelty of this
technique is that it solves the NoC routing problem in
the presence of bandwidth constraint to balance the
link load of network.

2.

NoC Routing Problem Description

The network-on chip is a very compact system


whose processing sources (the IP cores) are based on a
communication
infrastructure
made
up
of
switches/routers and the interconnection network
consisting of communication links between the
components of the network-on-chip.
On the whole, the network-on-chip consists of the
following main components:
1. Switches (routers): these are used for receiving,
routing, and sending of data packets throughout
the network.
2. Network interface: the main function of the
interface is to facilitate communication between an
IP core and the related switch, and also to
encapsulate data.
3. Intermediate connections: the main task of these
connections is to provide communication between
switches, and they could consist of one or several
physical or logic channels.
Data are transferred among the cores in the form of
packets. Generally, a packet consists of two main parts:
the header, and the data. The header includes
information such as the address of the sender of the
packet in the network, address of the destination
intended for the packet, and other information, if
necessary. Throughout the network, the packets are
transferred in the form of smaller units called flits.
A simple network-on-chip with mesh connection,
along with the relevant details has been shown in
Figure 1. This system comprises 16 computational
resources including processors, memories, hardware

19thIranianConferenceonElectricalEngineering(ICEE),IEEE,2011
task, and each directed arc aij =(ti,tj) represents the
communication from ti to tj.
Definition 2: A Topology Graph TG=G (N, L) is a
directed graph where each vertex ni represents a node
of the network, and each directed arc lij=(ni,nj)
represents a physical unidirectional channel (link)
connecting node ni to nj .
The routing algorithm of this paper is to choose a set
of reasonable and shortest paths for each trace, under
the constraints of bandwidth, so that the congestion of
communication is minimized. So the definition of
Routing Function is as follows:
Definition 3: A Routing Function R(n): R={R(n,m) :
n, m N} gives the set of paths that can be used to
send messages from source node n N to the
destination node m N, and the final set of paths must
balance the link load of system, at the same time,
satisfies the bandwidth constraint.
To sum up, the ultimate goal is minimize the link
load:

accelerators, etc. Each resource is connected to its


router via an interface. Every router is also connected
to the routers around it. Each router consists of four
exit ports and four enter ports (except the edges), and
for every port, some buffer has been allocated for use
in the routing algorithm.

Figure 1 : NoC system diagram

Min{

ai , j A

Bw( ai,j ) * f (lk ) }

(1)

Where the parameters are defined as follows,


respectively:
Bw( ai , j ) : the bandwidth of each

communication trace .

NoC Routing is one of the most important design


challenges of interconnection networks. The routing
algorithm determines the path that each packet follows
between a sourcedestination pair.
3.

Problem Formulation and Definitions

In this algorithm, wormhole routing switching and


static two-dimensional XY grid NoC has been used. the
packet transmission latency from the source node Ri to
the destination node Rj is determined by the relative
distance of Ri & Rj , and the situation of network
congestion.
For reduce the latency of data communication, the
most effective way is to alleviate network congestion,
and the key of alleviating the congestion is to balance
the link load.
Balance the link load causes to optimize the latency,
and reduce the transmission time, so as to achieve the
purpose of reducing the task execution time. Moreover,
the link load is defined according to the bandwidth of
links in the networks.
To better analyze the routing problems, we present
some definitions and assumptions in this section.
On this basis, in order to illustrate the NoC routing
problem clearly, the mesh based NoC design problem
is defined as follows:
Given a directed graph G (V, A) where V is the set of
vertices and A is the set of edges. Otherwise, the
directed arc from vertex vi to vertex vj is indicated with
aij (vi , vj ) . Given an edge a A, src (a) and dst(a)
respectively stand for the source and the destination
vertex of the edge (e.g., src(aij)= vi and dest(aij) = vj).
Definition 1: A Communication Graph CG = G (T,
A) is a directed graph where each vertex ti represents a

0, lk nij
f (lk )
1, lk nij
U (lk ) : the link load of system.

(2)

In this paper prevents network congestion by static


routing of the communication traces subject to the peak
bandwidth constraint on the router ports, so as to
balance the link load of system.
4.
Algorithm Implementation
4.1
ECGA
The ECGA[7] is an estimation of distribution
algorithm that replaces the variation operators of GAs
with sampling probabilistic models of promising
candidate solutions. The ECGA is based on a key point
that choice of a suitable probability distribution is
equivalent to linkage learning.
The measure of a suitable distribution is quantified
based on minimum description length (MDL) models.
The key idea in MDL models is that all things being
simpler distributions are better than more complex
ones. The MDL restriction penalizes both inaccurate
and complex models, thereby leading to an optimal
probability distribution. Thus, MDL restriction
reformulates the problem of finding a suitable
distribution as an optimization problem that minimizes
both the probability model as well as population
representation.
The probability distribution used in ECGA is a class
of probability models known as marginal product

19thIranianConferenceonElectricalEngineering(ICEE),IEEE,2011
Therefore, ECGA decrease the probability to
entrapment at local optima.
The offspring population is generated by randomly
choosing subsets from the current individuals
according to the probabilities of the subsets as
computed in the probabilistic model.

models (MPMs). MPMs are formed as a product of


marginal distributions on a partition of the genes and
are similar to those of the compact GA (CGA) and
PBIL. Unlike the models used in CGA and PBIL,
MPMs can represent probability distributions for more
than one gene at a time. MPMs also facilitate a direct
linkage map with each partition separating tightly
linked genes. For example, the following MPM, for a
four-bit problem represents that the 1st and 3rd genes
are linked and 2nd and 4th genes are independent.
Furthermore, the MPM consists of the following
marginal probabilities:{p(g1= 0, g3= 0), p(g1= 0, g3= 1),
p(g1=1, g3=0), p(g1= 1, g3= 1), p(g2= 0), p(g2= 1),
p(g4= 0), p(g4= 1)}, where gi is the value of the ith
gene.
The ECGA can be algorithmically outlined as
follows:
1. Initialization: The population is usually initialized
with random individuals. However, other
initialization procedures can also be used.
2. Compute the fitness value of the individuals.
3. Selection: The ECGA uses roulette-wheel
selection. However, other selection procedures can
be used instead of roulette-wheel selection.
4. Probabilistic model: Both the structure and the
parameters of the model are searched in ECGA. A
greedy search heuristic is used to find an optimal
model of the selected individuals in the population.
5. New individuals: New individuals are created by
sampling the probabilistic model.
6. Replace the parental population with the offspring
population.
7. Repeat steps 26 until some convergence criteria
are met.
The following greedy search heuristic is used to
find an optimal or near-optimal probabilistic model.
1. Assume each variable is independent of each
other. The model is a vector of probabilities.
2. Evaluate the model complexity and population
complexity values of the current model.
3. Consider all possible ( - 1) / 2 merges of two
variables.
4. Compute the model and compressed population
complexity values for each model structure.
5. Select the merged model with lowest combined
complexity.
6. If the combined complexity of the best merged
model is better than the combined complexity of
the model computed in step 2, replace it with the
best merged model and go to step 2.
7. If the combined complexity of the best merged
model is less than or equal to the combined
complexity, the model cannot be improved and the
model of step 2 is the probabilistic model of the
current generation.
probability to entrapment at local optima in GA and
CGA is high and cause to decrease the efficiency.

4.2
The NoC Routing Based on ECGA
After every IP core mapping to resource node in the
NoC, the shortest distance (minimum hop distance)
between IP cores in NoC architecture is fixed.
However, there often exist more than one such paths
for a data going from source node i(xi,yi) to destination
node j(xj,yj). Fig.2 shows two different routing paths
from node (0, 0) to node (2, 2) with the same total
length.

Fig. 2: Two different routing paths from node (0, 0) to node(2, 2)[8]

For NoC routing we use steps of ECGA in Fig.3 to


find the shortest path between source and destination.
Extended Compact Genetic Algorithm (ECGA)
1.
2.
3.
4.
5.

Create a random population of N individuals.


Apply selection.
Model the population using a greedy MPM search.
Generate a new population according to the MPM
found in step3.
If stopping criteria is not satisfied, return to step2.
Fig. 3: Steps of ECGA for NOC Routing [7]

That is a important attention should be paid to. For


each communication trace, the hop distance between
the source node and destination node determines the
number of binary arrays, which stands for the routing
information. Moreover, the number of X and Y jump
respectively determine the number of the Binary Array
"1" and "0". That means, the legality of gens can be
verified by computing the number of 0 and 1 in binary
arrays. At this point the fitness function is the link load
of the network.
In ECGA less parameters of GA technique couple
together.

19thIranianConferenceonElectricalEngineering(ICEE),IEEE,2011
5.

[3]

Experimental Results

Our algorithm is implemented in C++. In the paper,


whether the algorithm can find suitable routing scheme
under the bandwidth constraint, measures the
performance of algorithm, that is, the judgment
standard is to the number of effective routing schemes
under a set of fixed mapping. Simulation results are
based on some typical applications shown in Table 1.

[4]
[5]

[6]

[7]

TABLE I: Graph Characteristics

Graph ID
G1
G2
G3
G4
G5

Nodes
6
7
8
12
12

Edges
6
8
11
13
15

[8]

[9]

C. J. Glass and L. M. Ni, "Maximally fully adaptive routing in


2d meshes, " In Proc. of Intl Conf. Parallel Processing, pp.
101-104, 1992.
Intel Corporation, "A Touchstone DELTA System
Description," 1991.
C. J. Glass and L. M. Ni, "The turn model for adaptive routing,
" Journal of the of the Association for Computing Machinery
(ACM), vol. 20, no.2, pp. 278-287, 1992.
G. M. Chiu, "The odd-even turn model for adaptive routing, "
IEEE Trans. on Parallel and Distributed Systems, vol. 11, no.
7, pp. 729-738, 2000.
K.Sastry1, D.. E. Goldberg, and D. D. Johnson, "Scalability of a
Hybrid Extended Compact Genetic Algorithm for Ground State
Optimization of Clusters," Materials and Manufacturing
Processes, vol. 22, pp. 570-576, 2007.
G. Fen and W. Ning, "Genetic Algorithm Based Mapping and
Routing Approach for Network on Chip Architectures,"
Chinese Journal of Electronics, vol. 19, No. 1, pp. 91-96,
2010.
X. Chuan pei, Y. Xiao feng, Chen Yu qian. "A Technique for
NOC Routing Based on Hybrid Particle Swarm Optimization
Algorithm," in proc. 2009 IEEE Genetic and Evolutionary
Computing Conf., pp.607-610.

Fig.4 shows the maximum link band-width


utilization of various benchmark applications after
route generation. As seen from the figure, ECGA better
results than Basic GA.
1.8
Maximum Link Bandwidth
(Normalized Values)

1.6
1.4

Basic GA
ECGA

1.2
1
0.8
0.6
0.4
0.2
0
G1

G2

G3

G4

G5

Fig. 4: Experimental Results

6. Conclusion
In this paper, the link load is chose as goal of twodimensional mesh NOC routing. This method not only
achieved effective, deterministic, deadlock-free,
minimal routing paths allocation program, but also
balance the link load of system. According to the
simulation results, This method has a favorable impact
on the performance of a network-on-chip. Compared to
the Basic GA algorithm, the algorithm is based on
ECGA, has a better optimization effect.
References
[1]

[2]

W. J. Dally, "Virtual-channel flow control," IEEE Trans. on


Parallel and Distributed Systems, vol. 3, no. 2, pp. 194205,
1992.
Y. M. Boura and C. R. Das. Efficient fully adaptive wormhole
routing in n-dimensional meshes. In Proc. of Intl Conf.
Distributed Computing Systems, pp. 589596, 1994.

You might also like