[IEEE 2009 International Conference on Computational Science and Engineering - Vancouver, BC, Canada...

8
Evaluating the Performance of a chaos genetic algorithm for solving the Network on Chip Mapping Problem Fahime Moein-darbari Islamic Azad University, Arak Branch, [email protected] Ahmad Khademzadeh Iran Telecommunication Research Center, [email protected] Golnar Gharooni-fard Islamic Azad University, Arak Branch, [email protected] Abstract The NoC paradigm is one, if not only one, fit to enable the integration of an exceedingly large number of computational, logical and storage blocks in a single chip. The paper presents a novel technique called CGMAP, which finds a mapping of the vertices of a task graph to the tiles of a mesh based NoC architecture, with an objective of improving the Quality of Service (QoS) in networks-on-Chip. The proposed algorithm is basically a genetic algorithm, which takes the advantage of the chaotic systems by using them instead of the random processes used in the GA. Different one-dimensional chaotic maps are introduced and applied to the proposed algorithm in order to compare the performance of each map in finding the best solution for the NoC mapping problem. The results confirm an increase in some performance indexes, due to chaotic sequences. 1. Introduction The growing complexity of embedded multi-processor architectures will soon require highly scalable communication infrastructures. There are many reasons why traditional bus- based shared medium architectures will not be suitable anymore, including high signal propagation delays, signal integrity issues, and etc. Packet switched Networks-on-Chip (NoC) have been proposed to support the trend for Systems-on-Chip integration. NoCs are well poised to realize the communication infrastructure for SoCs with tens or hundreds of computational cores, where parallel processing creates a significant traffic that needs to be managed with run-time techniques [1]. The Network-on-Chip architecture provides the communication infrastructure for the resources. In this way, it is possible to develop the hardware of resources independently as stand-alone blocks and create the NoC by connecting the blocks as elements in the network. There are many different ways to design a NoC, depending on the network architecture and protocol choice. We choose a two dimensional mesh interconnection which is very simple from a layout perspective and the local interconnections between resources and switches are independent of the size of the network. Moreover, routing in a two dimensional mesh is very easy resulting in potentially small switches, high bandwidth, short clock cycle, and overall scalability. Each tile of the mesh contains a resource and a switch. A resource is generally any core: a memory, an FPGA, a specific hardware block or any other IP (intellectual property) compatible with the NoC interface specifications. The design flow for NoC architecture involves several steps: Decomposition of the application into a set of concurrent communicating tasks, IP selection, task assignment and scheduling, and finally mapping of IPs onto the mesh in such a way as to optimize the metrics of interest. The result of the mapping process is a formal model that describes the implementation of an application on an architectural platform. A code generation process is then used to produce a concrete implementation of the system [1]. As the mapping problem is proved to be an NP-hard one [2], we attempt to develop a heuristic approach to obtain an optimal approximation of the desired performance indexes (delay, power consumption, etc.). The 2009 International Conference on Computational Science and Engineering 978-0-7695-3823-5/09 $26.00 © 2009 IEEE DOI 10.1109/CSE.2009.321 366 2009 International Conference on Computational Science and Engineering 978-0-7695-3823-5/09 $26.00 © 2009 IEEE DOI 10.1109/CSE.2009.321 366 2009 International Conference on Computational Science and Engineering 978-0-7695-3823-5/09 $26.00 © 2009 IEEE DOI 10.1109/CSE.2009.321 366 2009 International Conference on Computational Science and Engineering 978-0-7695-3823-5/09 $26.00 © 2009 IEEE DOI 10.1109/CSE.2009.321 366 2009 International Conference on Computational Science and Engineering 978-0-7695-3823-5/09 $26.00 © 2009 IEEE DOI 10.1109/CSE.2009.321 366 2009 International Conference on Computational Science and Engineering 978-0-7695-3823-5/09 $26.00 © 2009 IEEE DOI 10.1109/CSE.2009.321 366

Transcript of [IEEE 2009 International Conference on Computational Science and Engineering - Vancouver, BC, Canada...

Page 1: [IEEE 2009 International Conference on Computational Science and Engineering - Vancouver, BC, Canada (2009.08.29-2009.08.31)] 2009 International Conference on Computational Science

Evaluating the Performance of a chaos genetic algorithm for solving the

Network on Chip Mapping Problem

Fahime Moein-darbari Islamic Azad University,

Arak Branch, [email protected]

Ahmad Khademzadeh Iran Telecommunication

Research Center, [email protected]

Golnar Gharooni-fard Islamic Azad University,

Arak Branch, [email protected]

Abstract

The NoC paradigm is one, if not only one, fit

to enable the integration of an exceedingly

large number of computational, logical and

storage blocks in a single chip. The paper

presents a novel technique called CGMAP,

which finds a mapping of the vertices of a task

graph to the tiles of a mesh based NoC

architecture, with an objective of improving the

Quality of Service (QoS) in networks-on-Chip.

The proposed algorithm is basically a genetic

algorithm, which takes the advantage of the

chaotic systems by using them instead of the

random processes used in the GA. Different

one-dimensional chaotic maps are introduced

and applied to the proposed algorithm in order

to compare the performance of each map in

finding the best solution for the NoC mapping

problem. The results confirm an increase in

some performance indexes, due to chaotic

sequences.

1. Introduction

The growing complexity of embedded multi-processor architectures will soon require highly scalable communication infrastructures. There are many reasons why traditional bus-based shared medium architectures will not be suitable anymore, including high signal propagation delays, signal integrity issues, and etc. Packet switched Networks-on-Chip (NoC) have been proposed to support the trend for Systems-on-Chip integration. NoCs are well poised to realize the communication infrastructure for SoCs with tens or hundreds of computational cores, where parallel processing creates a significant traffic that needs to be managed with run-time techniques [1].

The Network-on-Chip architecture provides the communication infrastructure for the resources. In this way, it is possible to develop the hardware of resources independently as stand-alone blocks and create the NoC by connecting the blocks as elements in the network. There are many different ways to design a NoC, depending on the network architecture and protocol choice. We choose a two dimensional mesh interconnection which is very simple from a layout perspective and the local interconnections between resources and switches are independent of the size of the network. Moreover, routing in a two dimensional mesh is very easy resulting in potentially small switches, high bandwidth, short clock cycle, and overall scalability. Each tile of the mesh contains a resource and a switch. A resource is generally any core: a memory, an FPGA, a specific hardware block or any other IP (intellectual property) compatible with the NoC interface specifications.

The design flow for NoC architecture involves several steps: Decomposition of the application into a set of concurrent communicating tasks, IP selection, task assignment and scheduling, and finally mapping of IPs onto the mesh in such a way as to optimize the metrics of interest. The result of the mapping process is a formal model that describes the implementation of an application on an architectural platform. A code generation process is then used to produce a concrete implementation of the system [1].

As the mapping problem is proved to be an NP-hard one [2], we attempt to develop a heuristic approach to obtain an optimal approximation of the desired performance indexes (delay, power consumption, etc.). The

2009 International Conference on Computational Science and Engineering

978-0-7695-3823-5/09 $26.00 © 2009 IEEE

DOI 10.1109/CSE.2009.321

366

2009 International Conference on Computational Science and Engineering

978-0-7695-3823-5/09 $26.00 © 2009 IEEE

DOI 10.1109/CSE.2009.321

366

2009 International Conference on Computational Science and Engineering

978-0-7695-3823-5/09 $26.00 © 2009 IEEE

DOI 10.1109/CSE.2009.321

366

2009 International Conference on Computational Science and Engineering

978-0-7695-3823-5/09 $26.00 © 2009 IEEE

DOI 10.1109/CSE.2009.321

366

2009 International Conference on Computational Science and Engineering

978-0-7695-3823-5/09 $26.00 © 2009 IEEE

DOI 10.1109/CSE.2009.321

366

2009 International Conference on Computational Science and Engineering

978-0-7695-3823-5/09 $26.00 © 2009 IEEE

DOI 10.1109/CSE.2009.321

366

Page 2: [IEEE 2009 International Conference on Computational Science and Engineering - Vancouver, BC, Canada (2009.08.29-2009.08.31)] 2009 International Conference on Computational Science

unusual behavior of chaotic systems has recently attracted the attentions of the scientists in different fields. Chaos-Genetic Algorithm (CGA) presented in [3], has shown the potential to achieve this goal very well.

Our main aim is to present a Chaos-Genetic algorithm for mapping IP cores on the tiles of a mesh-based NoC and compare the efficiency of different one-dimensional maps as mapping operators in the mapping problem. The rest of the paper is organized as fallows. The related work will be reviewed in section 2. In section 3 we present the full description of the mapping problem. How the algorithm operates is discussed in details in section 4. Simulation results and comparisons between different chaotic maps are demonstrated in section 5, and finally the concluding remarks are highlighted in section 6.

2. Related Works NoC mapping problem has become a broad

topic of research and development in the new millennium. In [4], Dally and Towels, use the on-chip network instead of ad hoc global wiring to interconnect the entire IP module on a chip. In [5] Kumar and Jantsch, implement a 2D mesh NoC architecture that consists of a mesh of IP cores with an associated router for each core. In order to optimize the results of the mapping problem, various people try to enhance the results considering different performance elements. In [6] PMAP a two-phase mapping algorithm for placing the clusters onto processors is presented. The results of PMAP algorithm are shown to have very low communication costs. Fallowing the same objective in [7] Murali and De Micheli proposed NMAP, a fast algorithm that maps the cores onto mesh NoC architecture under bandwidth constraints, which could be extended to map cores onto different NoC topologies.

In [8], Chan-Eun Rhee et al., proposed a MILP algorithm for the many-to-many core switch mapping for the NoC architecture with the aim of optimizing the power consumption. BMAP is a binomial mapping and optimization algorithm presented in [9], to reduce the hardware cost of on-chip network infrastructure. BMAP is proved to have less computational complexity compared to the existing mapping algorithms. An evolutionary approach to the mapping problem was proposed in [10], by Ascia and Catania who attempt to solve the

problem in a multi-objective environment, with the aim of obtaining the Pareto mappings that maximize performance and minimize the amount of power consumption.

3. Problem Description The major concern of our algorithm is to improve

some of the performance indexes in NoC. The input of the CGMAP algorithm is a directed task graph ���, ��, in which every � � denotes a processing element or a memory unit (generally an IP core), and a directed edge �� �� , ��� denotes a communication trace from the source node � to the destination node �� . The weights of the edges ����� usually refer to the communication cost between two corresponding nodes.

A mesh-based topology of NoC is defined by ���, �� where each vertex � � denotes a node in the topology and each � � denotes a physical link between two vertices. The weight of a link ����� represents the bandwidth available across the link ��� . The problem of mapping IPs is to select IPs from the task graph and assign them to tiles of the NoC architecture.

In order to describe the proposed algorithm and how it works, a couple of concepts are needed to be explained.

3.1. Chaos Chaos is a none-periodic, long-term

behavior in a deterministic system that exhibits sensitive dependence on initial conditions. Edward Lorenz irregularity in a toy model of the weather displays first chaotic or strange attractor in 1963. It was mathematically defined as randomness generated by simple deterministic systems. A deterministic structure can have no stochastic (probabilistic) parameters. Therefore chaotic systems are not at all equal to noisy systems driven by random processes. The irregular behavior of the chaotic systems arises from intrinsic nonlinearities rather than noise.

In general, the most important defining property of chaotic variables is Sensitive dependence to Initial Conditions (SIC), which requires that trajectories originating from very nearly identical initial conditions diverge at an exponential rate. Pseudo-randomness and ergodicity are other dynamic characteristics of a chaotic structure [11]. The latter ensures that the track of a chaotic variable can travel ergodically over the whole space of interest. The

367367367367367367

Page 3: [IEEE 2009 International Conference on Computational Science and Engineering - Vancouver, BC, Canada (2009.08.29-2009.08.31)] 2009 International Conference on Computational Science

variation of the chaotic variable has a delicate inherent rule in spite of the fact that it looks like a disorder.

3.3. Genetic Algorithms

Genetic Algorithms were introduced by

John Holland in early seventies as a special technique for function optimization.algorithms are based on the biological phenomenon of genetic evolution.idea is as that the genetic pool of a given population potentially contains the solution, or a better solution, to a given adaptive problem. This solution is not active because the genetic combination on which it relies is several subjects. Only the association of different chromosomes can lead to the solution. During reproduction and crossover, new genetic combinations occur and, finally, a subject can inherit a good gene from both parents. algorithm operates in an iterative manner and evolves a new generation from the current generation by application of genetic operators. A new generation is created by first increasing the population by random individual solutions and then selecting a constant numbersolutions based on their fitness values [

Termination of the algorithm is usually based either on achieving a population member with some specified fitness or on having run the algorithm for a given number of generations.

3.4. Chaos-Genetic Algorithm (CGA) Recently, the idea of using chaotic systems

instead of random processes has been noticed in several fields. One of these fields is optimization theory. In randomoptimization algorithms, the role of randomness can be played by a chaotic dynamicExperimental studies assert that the benefits of using chaotic signals instead of random signals are often evident although it is not mathematically proved yet [15]. For example in genetic algorithms, chaotic sequences increase the value of some measured algorithmperformance indexes with respect to random sequences.

In this paper a Chaos-Genetic Mapping algorithm, CGMAP, is proposed thatthe concept of chaos with genetic algorithms when looking for an optimal mapping solution, in order to possess a joint advantage of GA and the chaotic variable [16,17]. Firstly, C

variation of the chaotic variable has a delicate in spite of the fact that it looks like a

Genetic Algorithms were introduced by John Holland in early seventies as a special

for function optimization. Genetic algorithms are based on the biological

of genetic evolution. The basic idea is as that the genetic pool of a given population potentially contains the solution, or a better solution, to a given adaptive problem. This solution is not active because the genetic combination on which it relies is split between several subjects. Only the association of different chromosomes can lead to the solution. During reproduction and crossover, new genetic combinations occur and, finally, a subject can inherit a good gene from both parents. The

tes in an iterative manner and evolves a new generation from the current generation by application of genetic operators. A new generation is created by first increasing the population by random individual solutions and then selecting a constant number of

[14]. Termination of the algorithm is usually

based either on achieving a population member with some specified fitness or on having run the algorithm for a given number of generations.

CGA)

Recently, the idea of using chaotic systems instead of random processes has been noticed in several fields. One of these fields is optimization theory. In random-based optimization algorithms, the role of randomness can be played by a chaotic dynamics. Experimental studies assert that the benefits of using chaotic signals instead of random signals are often evident although it is not

For example in genetic algorithms, chaotic sequences increase

d algorithm-performance indexes with respect to random

Genetic Mapping , is proposed that combines

the concept of chaos with genetic algorithms when looking for an optimal mapping solution,

ss a joint advantage of GA and ]. Firstly, CGMAP

takes the advantages of the characteristics of the chaotic variable to make the individuals of subgenerations distributed ergodically in the defined space and thus to avoid from thpremature of the individuals in the subgenerations. Secondly, CGMAP also takes the advantage of the convergence characteristic of GA to overcome the randomness of the chaotic process and hence to increase the probability of finding the global optimal solution.

4. CGMAP Algorithm

In this section we present our chaosalgorithm named CGMAP. As stated earlier, theproblem is to find a mapping of the vertices of a task graph to the tiles of a mesh based NoC architecture,with an objective of minimizing the communication cost between the IP cores. The first decision to be made is how to represent the solution. This has been made easy in this case since the genes in our problem can only take real values between 1 and of � is proportional to the number of tiles in the mesh. The length of each chromosome, however, depends on the number of nodes in the communication task graph. In a instance, a chromosome is formed by taking a value between 1 and 9. When numesh tiles as it is shown in Fig.1, the value of the gene in a solution represents the place of thecore in mesh.

Fig.1.The process of mapping a

task graph into a 2-D mesh

Population size is another important parameter. In

an actual application, it would be common to have somewhere between a few dozen and a few hundred individuals. For the purposes of this problem, however, we assume that our first population consists of 100 individuals.

of the characteristics of the chaotic variable to make the individuals of subgenerations distributed ergodically in the defined space and thus to avoid from the premature of the individuals in the subgenerations. Secondly, CGMAP also takes the advantage of the convergence characteristic of GA to overcome the randomness of the chaotic process and hence to increase the probability of finding the global optimal

In this section we present our chaos-genetic-based As stated earlier, the

problem is to find a mapping of the vertices of a task graph to the tiles of a mesh based NoC architecture,

nimizing the communication The first decision to be

made is how to represent the solution. This has been made easy in this case since the genes in our problem can only take real values between 1 and �. The value

tional to the number of tiles in the mesh. The length of each chromosome, however, depends on the number of nodes in the

In a 3 � 3 mesh, for instance, a chromosome is formed by 9 genes, each taking a value between 1 and 9. When numbering the mesh tiles as it is shown in Fig.1, the value of the i-th gene in a solution represents the place of the i-th IP

The process of mapping a

D mesh

Population size is another important parameter. In ctual application, it would be common to have

somewhere between a few dozen and a few hundred individuals. For the purposes of this problem, however, we assume that our first population consists

368368368368368368

Page 4: [IEEE 2009 International Conference on Computational Science and Engineering - Vancouver, BC, Canada (2009.08.29-2009.08.31)] 2009 International Conference on Computational Science

The next step is to initialize the populais usually done randomly. Therefore, a random number generator is utilized to assign values between 1 and n, to each of the � positions in each of the 100 individuals. Then the chaotic mapping operator is applied to each individual in the initial population in order to create a chaotic population. The chaotic mapping operator will be discussed in detail, in the next section.

At this stage, the fitness of all 200 individuals is evaluated. The fitness value is often proportional to the output value of the function being optimized. Since data always take the shortest distance in the network and there often exist more than one suchpath for data going from node ��� ��� , ��� , we estimated this distance as:

������ ��� ���+�� ���� (

and defined the fitness function as follows: ! ∑ ����������� #$% (2) Elitism is incorporated into the algorithm by

transferring the single fittest individual directly to the next generation.

Crossover is performed on randomly selected individuals according to a varying probability. order to improve the performance of CGMAP different types of crossover are integrated into the algorithm. Fig.2 demonstrates an examplecrossover operation used in CGMAP.

Finally, for mutation, as in the case of crossover, the probability can vary widely according to the application. However, in our proposed algorithm a constant mutation rate (0.01) is applied. The new population is now ready for another round of crossover, and mutation, producing yet another generation. So the initial population is replaced by these newly generated individuals. Obviogenerations are produced until the stopping (a maximum number of generations k

fittest chromosome is thus returned as a solution.

4.1. Crossover Operators

Since we use a real coded chaos-genetic algorithm to solve the mapping problem, we need special crossover and mutation operators that preserve the constraints. In order to improve the performance of CGMAP, following [18], we decided to integrate different crossover rules within the algorithm. The crossover function is the basic two-point crossover,

The next step is to initialize the population, which is usually done randomly. Therefore, a random number generator is utilized to assign values between

positions in each of the 100 individuals. Then the chaotic mapping operator is applied to each individual in the initial population in order to create a chaotic population. The chaotic mapping operator will be discussed in detail, in the

t this stage, the fitness of all 200 individuals is evaluated. The fitness value is often proportional to the output value of the function being optimized. Since data always take the shortest distance in the network and there often exist more than one such � �� , �) to

, we estimated this distance as:

(1)

and defined the fitness function as follows:

corporated into the algorithm by transferring the single fittest individual directly to the

Crossover is performed on randomly selected individuals according to a varying probability. In order to improve the performance of CGMAP

types of crossover are integrated into the an example of a

Finally, for mutation, as in the case of crossover,

the probability can vary widely according to the proposed algorithm a

constant mutation rate (0.01) is applied. The new population is now ready for another round of crossover, and mutation, producing yet another generation. So the initial population is replaced by these newly generated individuals. Obviously, more generations are produced until the stopping condition

k) is met. The fittest chromosome is thus returned as a solution.

genetic algorithm to apping problem, we need special

crossover and mutation operators that preserve the constraints. In order to improve the performance of

], we decided to integrate different crossover rules within the algorithm. The

point crossover,

except that the genes exchanged between the two parents have real-valued coordinates.

Figure.2. Two-point crossover

Initially equal probabilities (0.5) are

assigned to each of the crossover rules, and these probabilities are then updated, using the reinforcement learning scheme [iteration depending on whether the rule was successful or not. To determine whether to reward or penalize a crossover rule, we use a scheme that assigns a weightoffspring created by the crossover rulethe offsprings in increasing order of fitness values and assign the highest weightoffspring with the smallest fitness, and the smallest weight &' to the offspring with the largest fitness. The other offsprings haveweights ranging from &'() obtained using the following scheme:

& &' * + �,(��,()�- �&) &'� , . 2,3

The average fitness values of the offsprings are calculated and the weights of offsprings that have lower fitness value compared to the average are then addedtotal weight of these offsprings is greater than or equal to 0.75 then we reward the crossover rule that created the offsprings, if it falls bet0.25 and 0.75 then we neither reward nor penalize the crossover rule. If, however, the total weight is less than or equal to we penalize the crossover rule. Therefore we came up with a strategy that let the algorithm decide which crossover rule to use more when creating offspring for our mapping problem.

4.2 Mutation Operator

Local search is mainly implemented by the

crossover operation, while global search is assured by

except that the genes exchanged between the two valued coordinates.

point crossover

Initially equal probabilities (0.5) are assigned to each of the crossover rules, and

are then updated, using the reinforcement learning scheme [19], at each iteration depending on whether the rule was successful or not. To determine whether to reward or penalize a crossover rule, we use a scheme that assigns a weight & , to each

pring created by the crossover rule. We sort the offsprings in increasing order of fitness values and assign the highest weight &) to the offspring with the smallest fitness, and the

to the offspring with the he other offsprings have

to &4 which are obtained using the following scheme:

3,… , �6 1� (3)

fitness values of the offsprings the weights of all the

offsprings that have lower fitness value are then added. If the

total weight of these offsprings is greater than or then we reward the crossover rule

that created the offsprings, if it falls between then we neither reward nor

penalize the crossover rule. If, however, the total weight is less than or equal to 0.25, then we penalize the crossover rule. Therefore we came up with a strategy that let the algorithm

rule to use more when creating offspring for our mapping problem.

Local search is mainly implemented by the crossover operation, while global search is assured by

369369369369369369

Page 5: [IEEE 2009 International Conference on Computational Science and Engineering - Vancouver, BC, Canada (2009.08.29-2009.08.31)] 2009 International Conference on Computational Science

the mutation operation. In fact, the desired solution may happen not to be present inside a given genetic pool, even a large one. Mutations allow the emergence of new genetic configurations which, by widening the pool improve the chances to find the optimal solution.

A novel mutation operator proposed in [20], which reflects the idea that big numeral (gene) selected at random, change into small one, is used in our algorithm. This mutation operator assumes that the genes of the parent � ��)�4…�8 …�9� are mutated according to the following rule

�8: ; �8 , �8 .< �=> ?�>@>.=� A.> � �8 , �8 .< ?�>@>.=� A.> B (4)

Where, � denotes the number of tiles in the mesh. In order to enhance the global search ability, we decide to mutate the worst offspring in any iteration, considering the mutation probability, 0.01. 4.3. One-dimensional chaotic maps

One-dimensional noninvertible maps are the

simplest systems with capability of generating chaotic motion. They’re capable of giving simple finite solutions without any complications. Here, we give a brief introduction to some well-known one-dimensional chaotic maps.

4.3.1. Logistic map. In 1976 Robert May, a professor of biology at Princeton, pointed out that the logistic map led to chaotic dynamics. Logistic map is a polynomial map. It is often cited as an example of how complex behavior can arise from a very simple nonlinear dynamical equation. This map is defined by [11]

�CD) E�F, �C� F�C�1 �C� , 0 G F H 4 (5)

in which F is a control parameter, and � is the variable. Since (5) represents a deterministic dynamic system, it seems that its long-term behavior can be predicted.

4.3.2. Tent map. In mathematics, the tent map is an iterated function, in the shape of a tent, forming a discrete-time dynamical system. It takes a point xn on the real line and maps it to another point [12]:

�CD) J F�C , �C G )4F�1 �C� , )4 H �C B (6)

where µ is a positive real constant. The tent map and the logistic map are topologically conjugate, and thus the behavior of the two maps is in this sense identical under iteration.

4.3.3. Bernoulli shift map. The Bernoulli shift map belongs to class of piecewise linear maps which consist of a number of piecewise linear segments. This map is a particularly simple example, consisting of two linear segments to model the active and passive states of the source. It is defined as follows [13]:

�CD) KLM�)(N� , 0 G �C G �1 O�LM(�)(N�N , �� P 1 O� G �C G 1B (7)

4.3.4. Sine map. The Sine map is described by the following equation:

�CD) QR sin�V�C� (8)

where 0 G @ H 4 . This map has qualitatively the same shape as the logistic map. Such maps are called unimodal maps.

4.3.5. ICMIC map. The iterative chaotic map with infinite collapses (ICMIC) is defined by

�CD) sin QLM (9)

where @ �0,∞� is an adjustable parameter. 4.4. Chaotic mapping operator

In this section the chaotic mapping operator

is defined using the logistic map. The reason we use this map is that it has extensively analyzed during the last decades and become the basis of numerous papers and studies in various disciplines.

The evolution process of the chaotic variables could be defined through the following equation

W��D) 4W���1 W��� , . 1, 2, … , � (10) in which W� is the i-th chaotic variable and X and X * 1 denote the number of iterations. Note that W� , is distributed in the range of �0 , 1.0�.

In order to perform the chaotic mapping, the following procedure is proposed: 1. Divide the interval �0 , 1.0� to � equal sub-intervals (� denotes the number of tiles in

370370370370370370

Page 6: [IEEE 2009 International Conference on Computational Science and Engineering - Vancouver, BC, Canada (2009.08.29-2009.08.31)] 2009 International Conference on Computational Science

mesh), of which the lower limit is represented by vector @, and the upper limit YA), A4, … , ACZ by vector A. 2. The value of each gene in the first randomly produced population is mapped to new values of � in the range of �0 , 1.0�, so that � 3. These values of ��)�, . 1linearly mapped using the operator

W� )[\(Q\ �� @� (11)

4. The next iteration chaotic variables will be produced through applying Eq.3. toW��)� values, generated in the previous section.

5. The chaotic variables W��4�, are then used to

produce ��4�, using ��4� @ * W��4��A @� , . 1, 2,… , �

Note that, ��4� has a value in the range of(0,1), therefore it should be mapped to a value between 0 and � . Thus, we can

process in order to produce the values of Although chaos variables are usually generated by logistic map, in this work, we do not have any prejudice in favor of using this map. Instead, we assume chaos variable can be generated by an arbitrary one-dimensional Therefore the equations related to discussed maps (5-9), can be replaced with (1

5. Experimental Results

In this section, we present the results of the

execution of CGMAP on two benchmark applications, Video Object Plane Decoder (VOPD) with 16 IP-cores and 20 links and MPEGwith 12 nodes and 13 links. Fig. 3. shows the core graph for one of the benchmark applications. has also been used in [7,9] in order to evaluate the performance of those algorithms. Afterwards we compare these results with those of previous maalgorithms such as NMAP [7], BMAP [etc. using the same routing and scheduling characteristics.

mesh), of which the lower limit Y@), @4, … , @CZ , and the upper limit

The value of each gene in the first randomly produced population is mapped to new values of �@ , A�. 1,2, … , � are

The next iteration chaotic variables W��4�, duced through applying Eq.3. to

values, generated in the previous section.

are then used to

� (12)

has a value in the range of , therefore it should be mapped to a value

Thus, we can repeat the

to produce the values of ����. usually generated

in this work, we do not have any prejudice in favor of using this map. Instead, we assume chaos variable can be

dimensional map. Therefore the equations related to any of the

be replaced with (10).

In this section, we present the results of the execution of CGMAP on two benchmark

eo Object Plane Decoder (VOPD) cores and 20 links and MPEG-4 decoder

shows the core benchmark applications. VOPD

] in order to evaluate the Afterwards we

compare these results with those of previous mapping ], BMAP [9], PBB [21],

etc. using the same routing and scheduling

Figure 3. VOPD task graph and the place of each IP

core in a 2-dimensional mesh

Fig.4 shows that, our proposed algorithm performs better than the other five mapping algorithms in both applications, considering thecommunication costs. Table 1comparison between the average most efficient mapping algorithms for two benchmark applications. The table shows that theaverage hop number is decreased and around 0.99, in the case of the VOPD

5.1. Complexity Analysis In order to evaluate the time complexity of

CGMAP, let n be the number of nodes in the task graph, e be the number of edges in the task graph, and k be the constants related to the GA’s design defining the population size and the numbgenerations. Since CGMAP is based on Genetic Algorithm therefore, its complexity depends on the complexity of the fitness function which is described in section 4. The complexity of the fitness function is calculated as ]�W � � � �4). Besides, thefunction will be iterated k times, equal to the maximum number of generations, to reach the optimal solution. Therefore the complexity of the algorithm is estimated as:

^�X�W � � � �4�� (13) We compare CGMAP with the two most efficient

mapping algorithms, NMAP and BMAP.algorithm domain, NMAP maps the cores onto a mesh topology under bandwidth constraints, and minimizes the average communication delay by iterations. NMAP costs more than computation time to do its shortest path optimization and get the best result [2], which is greater than the complexity of CGMAP. On the other hand, BMAP uses binomial merge method to get a fast and semigreedy optimized result, and prepares fooptimization phase for hardware costcosts ^��4 log���� complexity.

VOPD task graph and the place of each IP

dimensional mesh

shows that, our proposed algorithm better than the other five mapping

algorithms in both applications, considering the Table 1, demonstrates a average hop counts of the

most efficient mapping algorithms for two benchmark applications. The table shows that the

decreased to 0.95 in MPEG-4 in the case of the VOPD.

In order to evaluate the time complexity of be the number of nodes in the task

be the number of edges in the task graph, c be the constants related to the GA’s design

defining the population size and the number of generations. Since CGMAP is based on Genetic Algorithm therefore, its complexity depends on the complexity of the fitness function which is described

. The complexity of the fitness function is ). Besides, the fitness

times, equal to the maximum number of generations, to reach the optimal solution. Therefore the complexity of the

We compare CGMAP with the two most efficient pping algorithms, NMAP and BMAP. In the

NMAP maps the cores onto a mesh topology under bandwidth constraints, and minimizes the average communication delay by

NMAP costs more than ^��R log���� s shortest path optimization ], which is greater than the On the other hand, BMAP

uses binomial merge method to get a fast and semi-greedy optimized result, and prepares for the next

dware cost-down. It

371371371371371371

Page 7: [IEEE 2009 International Conference on Computational Science and Engineering - Vancouver, BC, Canada (2009.08.29-2009.08.31)] 2009 International Conference on Computational Science

Table 1. Hop count table

The average Hop Counts

NMAP BMAP CGMAP PMAP

VOPD 1 1.01 0.99 1.69

MPEG-

4 1 1.71 0.95 1.67

Figure 4. Comparison between the communication costs of six mapping algorithms

5.2. Performance Analysis of the

dimensional Chaotic Maps In [22] Tavazoei, presented a Comparison of

different one-dimensional maps as chaoticpattern in chaos optimization algorithmssection we compare the efficiency ofchaotic maps as the mapping operator in our ChaosGenetic algorithm. Since CGMAP is mainly based on genetic algorithms, therefore different results may be obtained each time the algorithm is executed. We use the average result obtained after executing the algorithm using a particularmap as a mapping operator. Each column in Fig.5 represents the probability of convergence to solution for the specified map. Twoapplications are used in this section.

Figure 5. Convergence probabilitiechaotic maps

PMAP

7054

PMAP

6128GMAP

5553

GMAP

7849

NMAP

4176

BMAP

4233

PBB

4317CGMAP

4135

0

1000

2000

3000

4000

5000

6000

7000

8000

9000

VOPD MPEG

Co

mm

un

ica

tio

n C

ost

PMAP GMAP NMAP BMAP

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

Logistic

map

Tent

map

Sine

map

Bshift

map

ICMIC

map

Convergence Probability

. Hop count table

s

GMAP PBB

1.33 1.03

2.13 1.02

Comparison between the communication

g algorithms

nalysis of the One-

presented a Comparison of dimensional maps as chaotic search

pattern in chaos optimization algorithms. In this section we compare the efficiency of the discussed chaotic maps as the mapping operator in our Chaos-

Since CGMAP is mainly based on genetic algorithms, therefore different results may be obtained each time the algorithm is executed. We use

10 times of particular chaotic

Each column in Fig.5 of convergence to the best

wo benchmark

probabilities of different

Figure 6. Communication costs of chaotic maps

For VOPD, the results show that ICMIC map

reaches the optimal solution with fewer numbers of iterations. In contrast, the finest results ausing Tent map in the case of MPEG

We also compare the communication costs of executing CGMAP with each of the discussed chaotic maps and demonstrate the average These differences prove that the choice of the most effective chaotic map is extremely dependablebenchmark problems; we usually need to make a tradeoff between the convergence rate and the communication cost.

6. Concluding Remarks In this work we introduce the novel idea of

combining the two concepts of gand chaotic sequences to solve the mapping problem in NoC. The proposed algorithm work quite better than most efficient mapping algorithms introduced in the previous works. However the results are highly dependent on the encoded scheme and the crossover and mutation operators being used. CGMAP utilizes the characteristics of the chaotic variable to distribute the individuals of subgenerations ergodically in the defined space and thus avoid the premature convergence of the individuals in the subgenerations.

In order to evaluate the effectiveness of the chaotic maps in reaching the best solution for the discussed problem, CGMAP was implemented using a couple of one-dimensional chaotic maps and communication cost and the convcalculated for each map. The experiments carried out on real applications (an MPEGsystem and VOPD application) confirm the efficiency, lower time complexity and scalability of the proposed approach.

7. References

[1] L. Benini and G. De Micheli, “Networks on chip

GMAP

NMAP

3676

BMAP

8286

PBB

3763 CGMAP

3528

MPEG-4

PBB CGMAP

ICMIC

VOPD

MPEG-4

0

1000

2000

3000

4000

5000

Logistic

map

Tent

map

Sine

map

Bshift

map

ommunication costs of chaotic maps

For VOPD, the results show that ICMIC map reaches the optimal solution with fewer numbers of iterations. In contrast, the finest results are achieved using Tent map in the case of MPEG-4.

We also compare the communication costs of the discussed chaotic

average results in Fig.6. the choice of the most

is extremely dependable on the we usually need to make a

tradeoff between the convergence rate and the

In this work we introduce the novel idea of combining the two concepts of genetic algorithms and chaotic sequences to solve the mapping problem

The proposed algorithm CGMAP appears to most efficient mapping

algorithms introduced in the previous works. highly dependent on the

encoded scheme and the crossover and mutation operators being used. CGMAP utilizes the characteristics of the chaotic variable to distribute the individuals of subgenerations ergodically in the defined space and thus avoid the premature

individuals in the subgenerations. evaluate the effectiveness of the

chaotic maps in reaching the best solution for the GMAP was implemented using

dimensional chaotic maps and communication cost and the convergence rate were

xperiments carried out on real applications (an MPEG-4 encoder/decoder system and VOPD application) confirm the efficiency, lower time complexity and scalability of

Networks on chip: a new

Bshift

map

ICMIC

map

VOPD

MPEG-4

372372372372372372

Page 8: [IEEE 2009 International Conference on Computational Science and Engineering - Vancouver, BC, Canada (2009.08.29-2009.08.31)] 2009 International Conference on Computational Science

SoC paradigm”, IEEE Computer, IEEE Computer society press, Jan 2002 pp. 70 – 78.

[2] Garey, M.R. and D.S.Johnson, Computers and

intractability: a guide to the theory of NP-completeness, Freeman, San Fransisco,CA, 1979. [3] X.F.Yan, D.Z.Chen and S.X.Hu, “Chaos-genetic algorithms for optimizing the operating conditions based on RBF-PLS model”, Computers and Chemical Engineering,

Elsevier, Amsterdam, 2003, pp. 1393-1404. [4] W. J. Dally and B. Towles, “Route Packets, Not Wires: On-Chip Interconnection Networks”, In Proceedings of the

38th Design Automation Conference (DAC '01), Las Vegas, Nev, USA, June 2001, pp. 684–689. [5] S. Kumar, A. Jantsch, J. P. Soininen, M. Forsell, M. Millberg, J. Öberg, K. Tiensyrjä and A. Hemani, “A Network on Chip Architecture and Design Methodology”, In Proceedings of the 2nd International Conference

VLSI’02, Pittsburgh, Germany 4, 2002, pp. 105–112. [6] N. Koziris, M. Romesis, P. Tsanakas and G. Papakonstantinou, “An Efficient Algorithm for the Physical Mapping of Clustered Task Graphs onto Multiprocessor Architectures”, In Proceedings of the 8th International

Conference EuroPDP, Rhodos, Greece, Jan, 2000, pp. 406-413. [7] S.Murali and G.D.Micheli, “Bandwidth-Constrained Mapping of Cores onto NoC Architectures”, In

Proceedings of the 4th International Conference on DATE’04, University Booth Demonstration, Feb. 2004, pp. 896-901. [8] C. E. Rhee, H. Y. Jeong and S. Ha, “Many-to-Many Core-Switch Mapping in 2-D Mesh NoC Architectures”, In Proceedings of IEEE International Conference on

Computer Design, San Jose, CA, USA, Oct. 2004, pp. 438-443. [9] W.T. Shen, C.H Chao, Y.K Lien, and A.Y. Wu, “A New Binomial Mapping and Optimization Algorithm for Reduced-Complexity Mesh-Based On-Chip Network,” In

Proceeding of the 1st IEEE International Symposium on

Networks-on-Chip (NOCS’07), Princeton, New Jersey, May 2007, pp. 317-322.

[10] G. Ascia, V.Catania and M. PALESI, “An Evolutionary Approach to Network-on-Chip Mapping Problem”, IEEE Congress on Evolutionary Computation. Edinburgh, UK, September 2nd-5th, 2005, pp. 112-119.

[11] Stavroulakis P., Chaos Application in

Telecommunications, CRC Press: Taylor and Francis group, New York, 2006. [12] Ott, E., Chaos in Dynamical Systems, Cambridge University Press, Cambridge, UK, 2002. [13] A. Erramilli, R.P. Singh, and P. Pruthi, “Modeling packet traffic with chaotic maps, Royal Institute of Technology”, ISRN KTH/IT/R-94/18-SE, Stockholm-Kista, Sweden, August 1994. [14] Mitchell, M., An Introduction to Genetic Algorithms, A Bradford Book The MIT Press, Cambridge, Massachusetts. London, England, 1998. [15] M.Bucolo, R.Caponetto, L.Fortuna, M.Frasca, and A.Rizzo, “Does chaos work better than noise?”, IEEE

Circuits and Systems Magazine, vol. 2, no. 3, 2002, pp. 4-19. [16] R.Caponetto, L.Fortuna, S.Fazzino and M.G. Xibilia, “Chaotic sequences to improve the performance of evolutionary algorithms”, IEEE Transactions on

Evolutionary Computation (7), 2003, pp. 289–304. [17] T. Lei and S. Kumar, “A Two-step Genetic Algorithm for Mapping Task Graphs to Network on Chip Architecture”, In Proceedings of the 3rd International

Conference DSD’03, Belek-Antalya, Turkey, Sept. 2003, pp. 180-187. [18] P.Kaelo, and M.M. Ali, “Integrated Crossover rules in real coded genetic algorithms”, European Journal of

Operational Research, 176(1), 2007, pp. 60-76. [19] P.C. Bressloff, “Stochastic dynamics of reinforcement learning”, Network: Computation in Neural Systems 6, 1995, pp.289-307. [20] G. Zhang, J. Ma and C. Zhou, “Three real coded Genetic algoritm with new mutation operators”, proceedings ISKE-2007, Atlantis Press, France, Oct. 2007, pp. 531-534. [21] J. HU, and R. Marculescu, “Energy-Aware Mapping for Tile-based NoC Architectures under Performance Constraints”, ASP-DAC 2003, pp. 233-239. [22] M. S. Tavazoei, and M. Haeri, “Comparison of one-dimensional chaotic search pattern in chaos optimization algorithms”, Elsevier journal of Applied Mathematics and

Computation, Volume 187, Issue 2, 15 April 2007, pp. 1076-1085.

373373373373373373