Académique Documents
Professionnel Documents
Culture Documents
ALGERIENNE
DEMOCRATIQUE
ET POPULAIRE
Universit
e dOran-Es-Senia
Facult
e des Sciences
D
epartement dInformatique
Ordonnancement Hi
erarchique
Multi-Objectif DApplication
Embarqu
ees Intensives
`
THESE
presente et soutenu publiquement le
pour lobtention du
Dipl
ome De Doctorat DEtat
(CAO/IAO&Simulation)
par
Encadreur : Mr B.BELJILALI.
Mr P.BOULET
Mr. K.RAHMOUNI
Examinateurs :
Mr. M.BENYETTOU
Mr. B.YAGOUBI
Promotion 2008-2009
vi
Introduction g
en
erale
Chapitre 1
Introduction aux syst`
emes embarqu
es
1.1
. . . . . . . . . . . . . . . . . .
10
1.1.1
Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
1.1.2
. . . . . . . . . . . . . . . . . . . . . .
10
1.1.3
11
1.2
Informatique embarquee
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
1.3
14
1.3.1
Mono-puce ( SOC)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
1.3.2
16
1.3.3
18
1.3.4
19
19
1.4.1
Du SOC au NOC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
1.4.2
Topologies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
1.4.3
23
1.4.4
25
1.4.5
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
25
1.4.6
25
1.4
Chapitre 2
Flots de conception dans les SOC
2.1
La notion de mod`ele
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
i
30
2.2
2.3
2.4
2.5
2.6
. . . . . . . . . . . . . . . . . . . .
31
32
2.3.1
Modelisation UML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
2.3.2
34
37
2.4.1
39
2.4.2
40
2.4.3
41
2.4.4
Nud r
ep
etitif : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
41
Lenvironnement GASPARD 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
42
2.5.1
Le paquetage Component . . . . . . . . . . . . . . . . . . . . . . . . . . .
42
2.5.2
Le paquetage factorisation . . . . . . . . . . . . . . . . . . . . . . . . . . .
44
2.5.3
Paquetage Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48
2.5.4
Le paquetage HardwareArchitecture . . . . . . . . . . . . . . . . . . . . .
50
2.5.5
Le paquetage association . . . . . . . . . . . . . . . . . . . . . . . . . . .
52
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
53
Chapitre 3
Calcul intensif et applications DSP
3.1
Calcul intensif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
55
3.2
56
3.3
57
3.4
58
3.4.1
MATLAB/SIMULINK . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
59
3.4.2
ALPHA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
59
3.4.3
61
3.4.4
63
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
70
3.5
Chapitre 4
Placement et Ordonnancement (ou AAS)
4.1
72
4.2
73
4.2.1
73
4.2.2
Probl`emes et objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
75
77
4.3.1
77
4.3
ii
4.3.2
4.4
4.5
91
4.4.1
91
4.4.2
95
4.4.3
97
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
97
Chapitre 5
Optimisation multi-objectif
5.1
Loptimisation combinatoire
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
5.2
Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
5.2.2
5.2.3
5.2.4
5.3
5.4
5.5
5.6
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Chapitre 6
Contribution
6.1
Mod`ele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
6.2
6.3
6.4
6.5
Algorithmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
6.6
6.7
6.8
6.7.2
. . . . . . . . . . . . . . . . . . . . . 133
6.7.3
6.7.4
6.7.5
Demarche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
iii
6.9
6.9.2
6.9.3
6.9.4
6.9.5
6.9.6
6.9.7
M
emoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
6.9.8
File dattente
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Introduction
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
7.2
7.3
7.4
7.5
7.6
7.6.2
7.6.3
7.6.4
7.7
7.8
7.7.2
7.7.3
7.7.4
7.7.5
7.7.6
7.7.7
. . . . . . . . . . . . . . . . . . 153
. . . . . . . . . . . . . . . . . . . . 154
7.9
Resultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
7.9.2
7.9.3
7.9.4
. . . . . .
. . . . . .
. . . . . .
. . . . . .
la maille
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
11
12
15
16
32
34
35
36
36
38
43
1.6
1.7
1.8
1.9
1.10
1.11
1.12
1.13
1.14
1.15
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
vi
. . .
. . .
. . .
. . .
dans
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
19
21
22
22
23
24
24
25
26
26
26
44
45
46
47
47
2.13 Illustration des liens Inter -Repetition, `a gauche le composant Gaspard representant une grille `a droite son equivalent en UML . . . . . . . . . . . . . . . . . . .
2.14 Exemple dune tache composee dans Gaspard, elle est constituee de 4 sous t
aches,
p, c1 , c2 et a. La tache a poss`ede deux dependances sur c1 et c2 , possedant ellememe chacune une dependance sur p. Les t
aches c1 et c2 peuvent etre executee
en parall`ele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.15 Parallelisme de donnees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.16 Un exemple de composant gaspard, processing Unit compose de trois sous composants instancies sous les noms cb, mem et mips correspondant respectivement
a un crossbar, une memoire et un processeur . . . . . . . . . . . . . . . . . . . .
`
2.17 Composant materiel Gaspard representant une grille de 16 unites de calcul reparties sur deux dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.18 Allocation de la tache appli sur le processeur proc . . . . . . . . . . . . . . . . .
2.19 ADistribution dune tache repetee sur une grille de 4x4 unites de calcul . . . . .
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
3.10
3.11
3.12
3.13
3.14
3.15
3.16
4.1
4.2
4.3
4.4
48
50
51
51
52
53
53
55
74
74
78
79
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
56
58
58
61
62
62
65
66
67
68
68
68
69
69
70
vii
4.5
4.6
4.7
: Methodologie de J.Hu et al . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
: Methodologie de D.Shin et al. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
: Exemple de placement du CTG sur le NOC. Les lignes flechees dans le NOC
representent les chemins de communications reservees par lalgorithme de placement.
4.8 : Methodologie de M.T.Schmitz et al. . . . . . . . . . . . . . . . . . . . . . . . .
4.9 : Methodologie de F.Gruain et al. . . . . . . . . . . . . . . . . . . . . . . . . . .
4.10 : Methodologie de L.A.Cortes et al. . . . . . . . . . . . . . . . . . . . . . . . . .
4.11 : R.Szymanek et al.Methodology. . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
5.9
5.10
5.11
5.12
79
81
83
86
87
87
89
101
102
102
103
104
104
105
105
107
108
109
5.13
5.14
5.15
5.16
6.1
6.2
6.3
6.4
6.5
6.6
6.7
6.8
6.9
6.10
6.11
6.12
114
114
115
115
115
121
121
123
124
124
124
125
7.1
7.2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
110
111
111
111
111
viii
7.3
7.4
7.5
7.6
7.7
7.8
7.9
7.10
7.11
7.12
7.13
7.14
7.15
7.16
7.17
7.18
7.19
7.20
7.21
7.22
7.23
7.24
7.25
7.26
7.27
7.28
7.29
7.30
7.31
7.32
ix
6.1
6.2
7.1
7.2
7.3
7.4
7.5
7.6
7.7
7.8
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. .
. .
. .
. .
. .
. .
. .
le
. .
84
84
90
90
93
93
96
147
155
157
157
158
162
162
170
Remerciements
C e document refl`ete laboutissement de plusieurs annees de travaux de th`ese entames entre
les universites dORAN et Lille1. Ce resultat nest quune etape dans le processus de recherche
quon a reellement lance depuis trois ans avec P.BOULET et B.Beljilali dans lequipe DaRT de
Lille. Mon plus grand espoir est que les propositions presentees ici pourront etre utiles en se
servant de base `a nos futur travaux et `a dautres propositions scientifiques plus avancees.
Je tiens `a remercier vivement le professeur P.BOULET de mavoir fait confiance et de mavoir
encadre dans ce th`eme. Sa generosite scientifique et sa disponibilite pour la recherche mont
permis davancer dans mes travaux et de surmonter avec lui toutes les difficultes.
Mes remerciements vont aussi `a B.Bouziane qui na jamais cesse de croire en moi. Merci `a ses
encouragements, ses conseils judicieux et son aide dans la redaction de ce manuscrit.
Merci au professeur K.Rahmouni qui nous a fait lhonneur daccepter de presider le jury de
soutenance.
Merci aux professeurs B.Yagoubi et M.Benyattou davoir accepte dexaminer ce travail.
Je tiens `a exprimer ma profonde gratitude `a lequipe DaRT/West de lINRIA futur et de son
directeur Jean-Luc DEKEYSER, qui avec P.BOULET mont accueilli au sein de leur equipe en
mettant `a ma disposition tous les moyens de lequipe. Sans le financement quils mont accorde,
pour mes travaux et conferences, il maurait ete tr`es difficile de finaliser ma th`ese.
Un grand merci pour mes coll`egues de DaRT, en particulier les permanents P.Marquet, Sami,
Anne, Abdoulaye, Cedric, Fred ainsi que tous les autres thesards et stagiaires.
Introduction g
en
erale
Context
Au debut des annees 70, lhumanite a pris connaissance de la conception par Marcian Hoff
du premier microprocesseur commercial Intel 4004. Meme si depuis de nombreuses technologies
ont ete proposees, les microprocesseurs reposent presque tous sur le meme principe dexecution
dit Von Newman. La complexite de ces dispositifs est passee de 2250 transistors, pour lIntel
4004, `a des centaines de milliers pour les microprocesseurs actuels. La puissance de traitement
elle, a augmente pendant la meme periode de 6000 instructions executees par seconde `a plusieurs
milliards pour les processeurs les plus performants. Cette evolution rapide de la technologie informatique represente lun des plus importants phenom`enes techniques depuis plusieurs decennies.
Cest elle qui a declenche cette course, que nous vivons maintenant, `a la miniaturisation de tout
appareil electronique.
Lexemple le plus illustrant de ce phenom`ene est la telephonie mobile. Les premiers syst`emes
offrant le service de telephonie mobile ont ete introduits au debut des annees cinquante. A cette
epoque ils etaient souvent assez gros et avaient une antenne assez importante. Ils etaient limites
par une mobilite assez restreinte, une capacite basse, un service reduit et une mauvaise qualite
du son en plus de leur prix qui etait souvent tr`es eleve. Actuellement, le monde, avec la revolution numerique, est transforme par la creation des telephones mobiles numeriques plus petits,
plus legers et plus performants. Ces telephones sont egalement, de plus en plus multimedia et
fournissent une meilleure qualite et un grand nombre de service. Ce qui a permis leur utilisation dans des domaines tr`es varies : pour passer des appels bien s
ur, pour prendre des photos,
pour ecouter la musique, et meme pour visualiser des videos. De plus, de nos jours, ils offrent
des fonctions de traitement dimages impressionnantes qui demandent des puissances de calcul
similaire `a celle des ordinateurs.
Ce rythme devolution effrene provient des avances technologiques des circuits integres et de
leurs architectures qui ont permis de developper des syst`emes informatiques plus petits, plus
compacts et plus rapides, grace en grande partie `a la capacite dintegration de plus en plus elevee. Un type de ces syst`emes qui a profite largement de cette evolution est le syst`eme embarque.
Les techniques de conception de ces syst`emes permettent maintenant de regrouper des syst`emes
heterog`enes sur la meme puce electronique, donnant ainsi naissance `a un nouveau paradigme
dans les syst`emes embarques : les syst`emes sur puce (SoC : System on Chip).
De part leur forte capacite dintegration, les SoCs offrent des grandes economies en consommation denergie et en espace ainsi quun gain important en performance. Du fait de ces avantages,
les SoCs sont donc souvent integres dans des syst`emes embarques afin de remplacer certaines
ressources informatiques. Mais on ne peut pas parler uniquement davantage sans citer des inconvenients, dont le plus important est la complexite de leur conception. Le risque que le produit
final ne corresponde pas `a la specification et les delais de production qui les rend obsol`etes avant
meme leur mise sur le marche, sans oublier la demande toujours croissante en puissance de calcul
complique enormement leur conception.
Cet inconvenient, qui est de taille, ne devait pas freiner les industriels et les chercheurs. Ils
doivent suivre cette revolution technologique au prix denormes efforts en recherche et develop4
pement. Cest dans cette optique que plusieurs equipes de chercheur se sont constituees afin de
proposer une methodologie de conception et de developpement facile de ces syst`emes. Le projet
INRIA DaRT en fait partie. Cest dans ce projet que notre travail, quon presentera par la suite,
sinscrit. Lun des principaux objectifs de cette equipe est la mise en uvre dune methodologie et
dun environnement de developpement pour les syst`emes sur puce `a hautes performances. Cest`a-dire, un cadre unifie pour le developpement de ces syst`emes en partant de leur modelisation
au plus haut niveau dabstraction jusqu`
a la generalisation du code.
DaRT vise comme domaine dapplication le traitement systematique `a parallelisme massif
dont la caracteristique principale est quil effectue une grande quantite de calculs reguliers sur des
donnees multidimensionnelles. Les applications de ce domaine op`erent dans des conditions temps
reel, elles sont generalement critiques et presentent un degre eleve de parallelisme de donnees de
calcul. Le projet DaRT a donc pour objectif de fournir un environnement de developpement pour
ces applications de traitement parall`eles en se basant sur le mod`ele de specification ARRAY-OL.
P robl
ematique
Comme on la presente auparavant, notre travail sinscrit dans le cadre dun projet global supporte par toute lequipe DaRT de lINRIA. Ce projet consiste `a realiser un flot de conception
et de developpement de SoC. Ce flot de conception est connu sous le nom GASPARD2 et qui
fait partie des methodes classiques en Y pour les SoC. Dans ce flot de conception la phase de
placement (mapping) ou association application/materielle constitue une etape tr`es importante,
car elle participe dune facon critique dans latteinte des objectifs arretes lors de la specification
du SoC.
Ce mapping a une particularite, dans ce contexte, car il ne sagit pas uniquement dun placement classique quon a lhabitude de rencontrer dans les syst`emes parall`eles mais il englobe trois
phases : Assignation, Affectation et Scheduling (AAS). De plus, du fait que Gaspard2 vise `a
traiter aussi des applications de traitement intensif, on est amene `a prendre en considerations
dans le mapping la nature repetitive de certaines taches qui traitent des donnees multidimensionnelles.
Ce dernier probl`eme nous permet de caracteriser le placement par deux categories : le placement
des calculs (taches) et le placement de donnees. Le premier type de placement nous permet de
trouver sur quel processeur doit sexecuter quelle t
ache et `a quel moment. Le deuxi`eme type
de placement doit determiner un acc`es efficace et rapide aux donnees avec si cest possible des
chemins dacc`es le plus court possible en prenant en consideration les caracteristiques de la topologie cible telle la bande passante.
Donc on ne peut faire un bon placement si on ne prend pas en consideration tous les aspects
o`
u on a des taches qui ne sont pas repetitives et dautres qui le sont. Ce type de placement ou
mapping est connu comme etant un placement GILR (Globally Irregular Locally Regular), il
consiste `a exploiter le parallelisme de t
aches et de donnees dans une architecture multiproces-
seurs [11,166]. Les benefices et utilites des GILR ont ete prouve dans [39,167] et bien entendu
dans [17] pour les deux types darchitectures heterog`enes et homog`ene.
Adopter directement des solutions proposees dans les syst`emes distribues classiques nest pas
conseille pour les architectures MPSoC. Ces derni`eres sont globalement heterog`enes et ont
quelques elements reguliers homog`enes (Tableau de PE. Ce qui doit nous amener `a extraire
les parties reguli`eres et irreguli`eres de darchitecture pour exploiter au maximum la correspondance dans lapplication. Le graphe suivant illustre un GILR o`
u les couleurs representent les
etapes suivies.
En generalisant cet exemple par une modelisation graphique on obtiendra des graphes hierarchiques. Et l`a on parlera dun placement hierarchique multi-niveaux, o`
u les nuds peuvent
etre de trois types : elementaire, compose ou repetitif. Donc un placement GILR nous am`ene
`a trouver le meilleur mapping dun graphe hierarchique de lapplication (HTG) sur le graphe
hierarchique de larchitecture.
Contribution
Afin de traiter le probl`eme dans sa globalite (GILR) on la decompose en sous probl`emes complementaires :
1. Pour le mapping des taches irreguli`eres sur larchitecture correspondante on a propose un
algorithme hybride. Ce dernier cherche loptimisation multi-objectif du placement dun
DAG application sur un DAG architecture. En effet, pour prendre en consideration les
specificites et les exigences des SoCs(NoC), on ne cherche pas la meilleure solutions selon un
seul objectif (temps, consommation denergie, taille memoire,..) mais plusieurs. Dans notre
cas on a fait du bi-objectif (temps et energie), car ils sont les plus importants. Cependant, le
co
ut global du placement ne depend pas uniquement des co
uts des unites de traitements,
il depend aussi des co
uts des communications. Do`
u une autre methode permettant de
chercher le meilleur mapping des communications sur la topologie cible, ce qui fat de
lalgorithme, propose pour ce sous probl`eme, un algorithme hybride doptimisation multiobjectif.
2. Pour le mapping des taches repetitives et des donnees reguli`eres, exprimees par le langage
Array-Ol, une autre approche est utilisee. Si pour le premier cas on a utilise une metaheuristique qui se justifie par la taille des DAG en entree, dans ce cas cest plutot une
methode exacte qui est utilisee. On justifie ce choix par le fait que les donnees, sur lesquelles
le traitement repetitif se fait, sont infinies. Le mapping de ces donnees ne les prends pas
toutes en meme temps mais par des paquets ayant le meme profil et la meme taille, appeles
Motifs. La taille de ces Motifs est petite, fixe et connue, et de meme pour larchitecture
reguli`ere cible. Donc pour ce probl`eme un algorithme hybride exact est propose pour
trouver le meilleur placement dune application DSP (chapitre 3) sur une architecture
6
reguli`ere.
3. En fin le troisi`eme sous probl`eme consiste `a prendre le GILR en entier avec son aspect
hierarchique. Ainsi pour placer une application hierarchique presentee par le graphe suivant
(Figure II) on doit balayer les deux graphes (HTG et HAG) de bas vers le haut en cherchant
`a chaque niveau loptimalite en y faisant appel aux algorithmes proposes pour les phases
1 et 2. Lexplication de la demarche se fera dans le chapitre 6.
Enfin, pour valider les resultats (ce qui nest pas tr`es evident du fait de loriginalite de la
demarche), on a essaye de comparer les resultats obtenus selon les deux crit`eres temporel et
qualitatif. Pour le premier crit`ere on a fait la comparaison des temps de convergence de la methode par rapport `a ceux obtenus par des methodes exactes denumeration en ayant en entree
des benchmarks de graphes. Pour le deuxi`eme crit`ere on a compare les resultats obtenus par
rapport `a ceux dun exemple reel (le HS69) modelisant une application DSP.
P lan du document
Le reste du document est structure en 7 parties selon un ordre quon a pense quil permet
tra au lecteur de suivre et comprendre la demarche. Evidemment,
les premiers chapitres sont
relatifs au contexte et letat de lart. Toute fois un lecteur initie aux concepts presentes peut les
eviter et passer directement aux parties qui linteressent.
Chapitre 1 : Dans cette partie on commence par introduire le concept des syst`emes embarques
et les domaines de leurs utilisations. On y abordera aussi avec plus de details les SoC et leurs
sous familles NoC et MPSoC.
Chapitre 2 : Les methodologies de conception et developpement des SoCs sont tr`es complexes
et delles dependra leur reussite. Cest ce quon essayera de presenter dans cette partie par
lenumeration de certains flots de conception, en insistant sur le flot GASPARD2 developpe par
lequipe DaRT INRIA. Ce flot avec tous les packages constituant son profil sont bien presentes
dans cette partie afin de permettre au lecteur de sy familiariser ou au moins de pouvoir y situer
notre contribution.
Chapitre 3 : Dans la partie precedente en parlant des differents flots de modelisation on a
aborde la modelisation des applications DSP. Afin de ne pas encombrer le chapitre precedent on
a prefere les presenter et les detailler dans ce chapitre.
Chapitre 4 : On ne peut parler de notre apport et du travail doptimisation dans les SoCs,
quon doit faire dans lequipe DaRT, sans aborder la problematique de lAAS en general. Dans
ce chapitre on etudiera les differentes methodes et approches les plus connues layant aborde.
Chapitre 5 : Ce chapitre sera consacre compl`etement `a loptimisation combinatoire multiobjectif. Les concepts qui y sont introduits sont necessaire au non initie `a loptimisation pour
comprendre le chapitre 6 en faisant le lien avec lui qui la precede.
Chapitre 6 : Dans cet avant dernier chapitre on presentera notre demarche pour lAAS du
GILR. Les differentes demarches ainsi que les formalismes qui les entourent seront presentes
avec details afin de clarifier au maximum notre contribution et mettre en evidence loriginalite
de la proposition.
7
Chapitre 7 : Les demarches et contributions, presentees dans le chapitre 6, doivent etre validees par des implementations et experimentations. Cest lobjet de ce dernier chapitre quon
consacrera `a la presentation de lenvironnement dexperimentation et discussion des resultats.
Chapitre 1
. . . . . . . . . . .
10
1.1.1
Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
1.1.2
. . . . . . . . . . . . . . . . . . . . .
10
1.1.3
11
1.2
Informatique embarqu
ee . . . . . . . . . . . . . . . . . . . . . . . . . .
14
1.3
Les diff
erentes architectures des diff
erents syst`
emes embarqu
es
14
1.4
. .
1.3.1
Mono-puce ( SOC)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
1.3.2
16
1.3.3
18
1.3.4
19
. . .
19
1.4.1
Du SOC au NOC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
1.4.2
Topologies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
1.4.3
23
1.4.4
25
1.4.5
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
25
1.4.6
25
1.1
1.1.1
D
efinition
Un syst`
eme embarqu
e peut
etre d
efini comme un syst`
eme
electronique et informatique autonome, qui est d
edi
e `
a une t
ache bien pr
ecise. Il ne poss`
ede g
en
eralement pas des entr
ees/sorties standards et classiques comme un clavier ou un
ecran
dordinateur. Le syst`
eme mat
eriel et lapplication sont intimement li
es, le logiciel
embarqu
e
etant enfoui, noy
e dans le mat
eriel. Ce dernier et le logiciel ne sont pas
aussi facilement discernables comme dans un environnement de travail classique de
type ordinateur P.C [75].
1.1.2
Calcul g
en
eral (G
en
eral computing)
Application similaire `
a une application de bureau mais empaquet
ee dans un
syst`
eme embarqu
e.
Jeu video, Set top box.
Contr
ole de syst`
eme
10
1.1.3
Caract
eristiques principales dun syst`
eme embarqu
e
11
1.2
Informatique embarqu
ee
1.3
Les diff
erentes architectures des diff
erents syst`
emes embarqu
es
1.3.1
Mono-puce ( SOC)
Un syst`
eme mono-puce appel
e encore SOC (Syst`
eme On Chip) ou syst`
eme sur
puce, d
esigne lint
egration dun syst`
eme complet sur une seule pi`
ece de silicium.
Ce terme est devenu tr`
es populaire dans le milieu industriel malgr
e labsence dune
d
efinition standard [23]. Certains consid`
erent quun circuit complexe en fait automatiquement un SOC, ce qui est faux. Une d
efinition plus appropri
ee de syst`
eme
mono-puce serait : un syst`
eme complet sur une seule pi`
ece de silicium, r
esultant de
la cohabitation sur silicium de nombreuses fonctions d
ej`
a complexes en elles m
eme,
processeurs, convertisseurs, m
emoire, bus..Etc. Il doit comporter au minimum une
unit
e de traitement de logiciel (un CPU) et ne doit d
ependre daucun (ou de tr`
es
peu) de composants externes pour ex
ecuter sa t
ache. En cons
equence, il n
ecessite
`
a la fois du mat
eriel et du logiciel. Dans la figure 1.3 est pr
esent
e un exemple de
syst`
eme mono-puce typique. Il se compose dun cur de processeur (CPU), dun
processeur de signal num
erique (DSP), de la m
emoire embarqu
ee, et de quelques
p
eriph
eriques tels quun DMA (Direct Memory Access) et un contr
oleur dE/S.
Le CPU peut ex
ecuter plusieurs t
aches via lint
egration dun OS, le DSP est habituellement responsable de d
echarger le CPU en faisant le calcul num
erique sur les
signaux de provenance du convertisseur A/N.[figure 1.3]
Fig. 1.3 Un exemple de syst`eme mono-puce (SOC)
Le syst`
eme pourrait
etre construit exclusivement de composants existants et
de solutions faites sur mesure. Plus r
ecemment, il y a eu beaucoup defforts pour
impl
ementer des syst`
emes multiprocesseurs sur puce [52].
La solution mono puce, pour diverses raisons,repr
esente une mani`
ere attrayante
pour impl
ementer un syst`
eme. Les processus de fabrication (de plus en plus fins)
daujourdhui permettent de combiner la logique et la m
emoire sur une seule puce,
r
eduisant le temps global des acc`
es m
emoires,
etant donn
e que le besoin en m
emoire
de lapplication ne d
epasse pas la taille de la m
emoire embarqu
ee sur puce, la
latence de la m
emoire sera r
eduite gr
ace `
a l
elimination de trafic de donn
ees entre
des puces s
epar
ees. Le nombre de broches peut
etre r
eduit puisquil ny a y plus
besoin dacc
eder `
a la m
emoire sur des puces externes et lutilisation de bus sur carte
devient inutile. Le co
ut total de fabrication est r
eduit `
a cause de la r
eduction du
co
ut de lencapsulation qui repr
esente en moyenne 50% du co
ut global du processus
15
1.3.2
Les progr`
es technologiques et la capacit
e dint
egration de centaines de millions
de transistors sur une seule puce ont fait
emerger deux tendances pour relever ce
d
efi. La premi`
ere tendance consiste `
a utiliser une architecture monoprocesseur tout
en am
eliorant consid
erablement les performances du CPU utilis
e et lutilisation de
coprocesseurs. Un tel CPU utilis
e se distingue par une fr
equence de fonctionnement
tr`
es
elev
ee, des structures mat
erielles sp
ecialis
ees, un ensemble dinstructions sophistiqu
ees, plusieurs niveaux de hi
erarchie m
emoire (plusieurs niveaux de cache),
et des techniques sp
ecialis
ees doptimisation logicielle (nombre dacc`
es m
emoire,
taille, etc.).
La figure 1.4 pr
esente un exemple darchitecture /coprocesseurs. Dans de telles
architectures la communication est bas
ee sur le principe matre/esclave. Le CPU
est le matre et les p
eriph
eriques sont des esclaves.(figure 1.4)
17
1.3.3
1.3.4
Architecture r
eguli`
ere `
a base de tableau de processeurs identiques
1.4
1.4.1
Du SOC au NOC
Lavanc
ee technologique des semi conducteurs va accrotre lexistence des SOC
dans les futurs syst`
emes. Ils seront capables dans la prochaine d
ecade dint
egrer
des centaines si cest des milliers de composants PE et/ou d
el
ements de stockage
dans une m
eme puce. La conception des SOC `
a ce stade ne va pas d
emarrer de z
ero
mais ils seront con
cus en r
eutilisant des composants existants tels les processeurs,
les contr
oleurs et les tableaux de m
emoires.
19
20
1.4.2
Syst`
eme embarqu
e daujourdhui (NOC)
SOC
MPSOC
Bus
Topologies
22
1.4.3
Le Bus centralis
e ou partag
e:
Il sagit dimpl
ementer plusieurs liens logiques de communication par un unique
m
edium de communication `
a acc`
es partag
e : le bus. Ce m
edium permet la mise en
place de liens uni ou multidirectionnels entre un matre et un ou plusieurs esclaves.
Les bus Ethernet et USB sont deux exemples c
el`
ebres de bus partag
es. Tous les
el
ements sont susceptibles de piloter les lignes du bus de donn
ees, mais seuls un ou
certains dentre eux peuvent piloter le bus dAdresse.(figure 1.11)
Ces
el
ements sont appel
es matres du bus, les autres esclaves. Les matres ini23
24
1.4.4
Les r
eseaux en
etoile et en anneau :
Une premi`
ere alternative int
eressante au bus partag
e est les r
eseaux en
etoile,
de type Ethernet avec un serveur central, et en anneau. LOctagon a r
ecemment su
tirer parti des avantages conjugu
es de ces deux architectures.
Ces syst`
emes contiennent des commutateurs de paquets, au centre de l
etoile ou
sur chaque nud de lanneau .Elles peuvent offrir une grande bande passante dans
le r
eseau et une bande passante r
eduite moins co
uteuse avec le composant p
eriph
erique.
1.4.5
Les r
eseaux Crossbar
1.4.6
Les r
eseaux commut
es ou `
a maille :
Ce type de r
eseau comporte plusieurs
etages, dont le franchissement sop`
ere au
travers dun commutateur qui se charge de router le message.
Limpl
ementation de chaque commutateur peut
etre `
a base de multiplexeurs voire
`
a base de petits bus crossbar. La propagation de linformation peut suivre lun des
deux sch
emas suivants :
25
Conclusion
Cette br`
eve introduction aux concepts qui composent les syst`
emes embarqu
es
nous permet de constater que pour concevoir des applications pour ce type de
plateformes on doit prendre en consid
eration leurs sp
ecificit
es. Larchitecture doit
r
epondre aux besoins de lapplication et cette derni`
ere prends en consid
eration leurs
caract
eristiques. Cest-`
a-dire qu`
a un moment de la conception du syst`
eme on ne
peut concevoir lapplication sans le mat
erielle sur lequel elle va
etre ex
ecut
ee et on
ne peut arr
eter le mat
eriel sans connatre le type dapplication quil va supporter.
Do`
u la m
ethodologie ou flot de co-conception quon va introduire dans le chapitre
suivant.
28
Chapitre 2
La notion de mod`
ele . . . . . . . . . . . . . . . . . . . . . . . . . . . .
30
2.2
LIng
enierie Dirig
ee par les Mod`
eles (IDM)
. . . . . . . . . . . . .
31
32
2.3
2.4
2.5
2.6
2.3.1
Modelisation UML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
2.3.2
34
37
2.4.1
39
2.4.2
40
2.4.3
41
2.4.4
Nud r
ep
etitif : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
41
Lenvironnement GASPARD 2 . . . . . . . . . . . . . . . . . . . . . .
42
2.5.1
Le paquetage Component . . . . . . . . . . . . . . . . . . . . . . . . . .
42
2.5.2
Le paquetage factorisation . . . . . . . . . . . . . . . . . . . . . . . . . .
44
2.5.3
Paquetage Application . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48
2.5.4
Le paquetage HardwareArchitecture . . . . . . . . . . . . . . . . . . . .
50
2.5.5
Le paquetage association . . . . . . . . . . . . . . . . . . . . . . . . . .
52
Conclusion
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29
53
2.1.
La notion de mod`ele
2.1
La notion de mod`
ele
2.2.
nelles de mod
elisation en fournissant un cadre de d
eveloppement logiciel au sein
duquel les mod`
eles passent de l
etat contemplatif (passif ) `
a l
etat productif (actif ),
cest-`
a-dire compr
ehensibles et interpr
etables par les machines.
2.2
LIng
enierie Dirig
ee par les Mod`
eles (IDM)
Les syst`
emes
etudi
es peuvent
etre mod
elis
es selon diff
erentes approches adapt
ees
`
a la nature de ces syst`
emes et au contexte dapplication dans lequel ils sont d
efinis.
Parmi ces approches, lIng
enierie Dirig
ee par Les Mod`
eles pr
esente une contribution importante dans le domaine de la conception de syst`
emes logiciels [84]. Elle
repr
esente une forme ding
enierie g
en
erative, par laquelle tout ou partie dune application est g
en
er
ee `
a partir des mod`
eles.
On peut voir lIDM comme une famille dapproches qui se d
eveloppent `
a la fois dans
les laboratoires de recherche et chez les industriels impliqu
es dans les projets de
d
eveloppement logiciels. Cette approche offre un cadre m
ethodologique et technologique qui permet dunifier diff
erentes fa
cons de faire dans un processus homog`
ene.
Il est aussi possible dutiliser la technologie la mieux adapt
ee pour chacune des
etapes du d
eveloppement, tout en ayant un processus de d
eveloppement global unifi
e. Le code source, dans lIDM, nest plus consid
er
e comme l
el
ement central dun
syst`
eme, mais comme un
el
ement d
eriv
e de la fusion d
el
ements de mod
elisation.
L
etude est bas
ee sur la construction de mod`
eles qui occupent la place principale
dans le cycle de d
eveloppement du syst`
eme, et doivent en contrepartie
etre suffisamment pr
ecis afin de pouvoir
etre interpr
et
es ou transform
es par des machines
vues comme un ensemble de transformation de mod`
eles. G
en
eralement, lIDM peut
etre d
efini autour de trois concepts de base : les mod`
eles, les m
eta- mod`
eles et les
transformations [figure 2.1].
Pour borner le nombre de couches superposables, on d
etermine un type de m
etamod`
ele particulier appel
e m
eta-m
eta-mod`
ele. La particularit
e de celui-ci est quil
est capable de sauto d
ecrire : Il est donc conforme `
a lui-m
eme. En effet, un m
etam
eta-mod`
ele est un m
eta-mod`
ele introduisant des notions permettant de d
efinir
des m
eta-mod`
eles : On va donc pouvoir utiliser ces notions pour d
efinir le m
etam
eta-mod`
ele.
Un des apports essentiels de lapproche IDM, consiste `
a automatiser la transformation de mod`
eles. Il sagit de transformer le code dun langage en un autre, ou une
mod
elisation abstraite en une structure de classe, ou m
eme un mod`
ele de donn
ees
en un autre mod`
ele tout en assurant que les propri
et
es des donn
ees sont conserv
ees
lors de la transformation. Dans ce contexte, la v
erification de mod`
eles bas
ee sur des
approches formelles donnant de sp
ecifications rigoureuses a pour objectif de garantir que les mod`
eles poss`
edent toutes les qualit
es attendues, en particulier lorsquils
31
2.3
32
2.3.1
Mod
elisation UML
et
e standardis
e par lOMG et vise la mod
elisation de syst`
eme informatique de tout
type. Son principal atout en plus d
etre r
epandu et connu de beaucoup dutilisateurs
est son caract`
ere g
en
eraliste. Cependant, dans sa forme livr
ee, il ne permet pas
une utilisation directe dans un processus ding
enierie dirig
ee par les mod`
eles du
fait de sa s
emantique g
en
eraliste qui manque de pr
ecision et ne permet pas de
produire directement un syst`
eme. Plus pr
ecis
ement, de nombreux points laissent
apparatre une s
emantique ambigu
e, laissant lutilisateur comme seul d
ecideur de
la signification `
a leur apporter [figure2.2].
De nos jours, lutilisation dUML dans un cadre ding
enierie dirig
ee par les mod`
eles se fait par linterm
ediaire de son m
ecanisme interne de m
eta-mod
elisation que
33
2.3.2
Extensibilit
e dUML : la notion de profil
namiques 3 ) et de cr
eer ainsi une nouvelle m
eta-classe h
eritant de toutes les propri
et
es de la m
eta-classe
etendue. Il devient aussi possible dajouter des nouvelles
propri
et
es `
a cette nouvelle m
eta-classe `
a laide de Tagged values. Il est `
a noter quil
est possible dobliger lutilisation de st
er
eotypes sur la m
eta-classe, de telle sorte
que lutilisateur ne soit plus autoris
e `
a employer le m
eta classe original dans un
mod`
ele.
Fermeture de points de variation s
emantique : En vue de pouvoir sadapter dans
diff
erents domaines, la norme UML laisse d
elib
er
ement certains points de s
emantique ouverts. Lextension dune m
eta-classe cause lh
eritage de sa s
emantique, ce
qui oblige `
a fixer les points de variation s
emantique pour le langage cr
ee en fonction
de la sp
ecialisation que lon en fait.
Ajout de contraintes OCL : La nouvelle m
eta-classe que lon cr
ee `
a laide dun
st
er
eotype sutilise `
a priori en respectant les contraintes appliqu
ees `
a la m
eta-classe
35
On voit que le st
er
eotype <dsl-Systeme> sp
ecialise la notion de classe servira `
a
36
2.4
37
Ce m
eta-mod`
ele sinspire de standard de lOMG comme SPT [33] pour la repr
esentation de larchitecture mat
erielle, SysML pour les m
ecanismes dassociation
et UML pour lapproche de mod
elisation par composants. Gaspard offre
egalement
la possibilit
e de mod
eliser sous une forme factoris
ee des applications et des architectures r
eguli`
eres ayant un caract`
ere r
ep
etitif ; cette expression est bas
ee sur le
langage Array-Ol (que nous pr
esenterons par la suite). Un m
ecanisme de factorisation permettant de repr
esenter de mani`
ere compacte les syst`
emes r
ep
etitifs r
eguliers
bas
e sur le langage Array-Ol est pr
esent. Pr
ecisons aussi que ce m
eta-mod`
ele est
en partie `
a la base du r
ecent standard MARTE.
Il faut noter aussi que le contexte de d
eveloppement, ce nest pas le m
eta-mod`
ele
Gaspard qui est directement manipul
e mais le profil UML associ
e, ceci afin de permettre lutilisation des outils standards de mod
elisation graphiques bas
es sur UML.
Une fois mod
elis
e, le mod`
ele conforme au profil UML Gaspard est transform
e vers
un mod`
ele conforme au m
eta-mod`
ele gaspard `
a laide dune transformation de mod`
eles [70].
38
2.4.1
Mod
elisation des applications DSP
Quel est le b
en
efice que lon peut tirer par lutilisation des approches IDM
(MDE) pour faire des applications DSP (Digital Signal Processing). Il ny a pas un
seul avantage mais plusieurs, des avantages techniques `
a la convivialit
e. Ceux cit
es
ci-apr`
es constituent les plus en vue.
Interop
erabilit
e : IDM est devenu de plus en plus utilis
e comme approche pour
d
evelopper le software. Ainsi plusieurs outils sont devenus disponibles pour manipuler des mod`
eles, m
eta-mod`
eles et les transformations de mod`
eles. Ces outils souvent
attach
es `
a des standards permettent une certaine interop
erabilit
e entre eux. En utilisant les outils de transformation de mod`
ele, il est facile dextraire `
a partir dun
mod`
ele connu les formats de fichiers dentr
ee pour lallocation, lassignation et le
Scheduling.
Abstraction : Lautre point fort des MDE est labstraction. G
en
eralement les
mod`
eles sont construits pour
etre facilement lus et compris par les humains. Lutilisateur peut mod
eliser son application, le hardware et leur association comme une
seule pi`
ece en utilisant une approche descendante, ascendante ou hybride comme il
le souhaite, et r
eutiliser des parties de ce mod`
ele facilement. Labstraction devrait
aussi permettre lint
egration des heuristiques diff
erentes de placement et dordonnancement, partager des mod`
eles communs de lapplication, du mat
eriel et leurs
associations. Ces mod`
eles devraient
etre extensibles pour permettre ladaptation
de futures techniques. LIDM aide dans cet aspect en permettant une facile extension de mod`
ele.
Caract
erisation : Dans le but de d
efinir compl`
etement lapplication et les param`
etres de larchitecture mat
erielle, le graphe mod`
ele doit
etre caract
eris
e. Ces caract
eristiques sont les attributs des nuds et arcs. Certaines de ces caract
eristiques
sont sp
ecifiques `
a lapplication telles les contraintes de temps r
eel et la consommation d
energie. Dautres sont relatives `
a larchitecture tel lensemble dinstructions du processeur, fr
equence dhorloge, consommation d
energie, taille m
emoire,
largeur de bande . . .etc. Sans oublier ceux qui caract
erisent lassociation des composants dapplication aux composants de larchitecture telles les temps estim
es ou
les contraintes de placement. Ces dernieres sont repr
esent
es par des liens entre le
graphe dapplication et le graphe darchitecture.
39
2.4.2
Principe de mod
elisation dans Gaspard2
Graphe de t
ache hi
erarchique (`
a reformuler)
Un programme peut
etre d
ecompos
e en structure de boucle et un graphe de
t
aches de d
ependance acyclique (ADTG) repr
esentant le corps de chaque boucle
ou sub-routine. Le parall
elisme inh
erent dans ces graphes acycliques augmente le
parall
elisme au niveau boucle disponible dans le programme. Ainsi Un graphe repr
esentant un tel programme, avec ces boucles localement encapsul
ees comme un
seul nud de t
ache et globalement vu comme un ADTG, est appel
e graphe de t
ache
hi
erarchique (HATG Hierarchical Application Task Graph). Pour plus de simplification dans la lecture on lappellera par la suite HTG (Hierarchical Task Graph).
Le probl`
eme dordonnancement dun tel graphe avec des crit`
eres doptimisation est
tr`
es complexe, car la construction dun tel graphe n
ecessite la mod
elisation des communications inter-t
aches et inter-processeurs. Traiter ce graphe comme un ADTG
pendant lordonnancement nous fait perdre le parall
elisme pr
esent dans les nuds
locaux encapsul
es ce qui a des cons
equences sur le potentiel doptimisation.
La plupart des heuristiques de placement utilisent des graphes bas
es sur la description de lapplication et de larchitecture. Dans le but de traiter des syst`
emes
plus complexes on doit avoir une description hi
erarchique dau moins lapplication.
Il est aussi important davoir une description hi
erarchique de larchitecture afin
daccommoder les granularit
es. Avec
ca on peut commencer par une optimisation
grossi`
ere quon essaye de raffiner par la suite. Une autre exigence dans ces repr
esentations est la mod
elisation des r
ep
etitions telles les boucles dans les applications ou
les unit
es SIMD dans le Hardware. Car de cette repr
esentation d
epend le gain de
la parall
elisation des traitements et des donn
ees. Puisque nous d
ependons de lalgorithme doptimisation utilis
e pour placer et ordonnancer ces structures r
ep
etitives
on doit les voir comme des entit
es indivisibles ou comme une r
ep
etition de structure
(r
eguli`
eres) ou m
eme comme de non structure (irr
eguli`
ere) densemble de t
aches.
On a propos
e des mod`
eles de graphe hi
erarchique pour d
ecrire le calcul intensif
des applications embarqu
ees et les plateformes de SOC [[73],[5]]. Ces mod`
eles sont
bas
es sur le profil UML2 et sont incorpor
es dans loutil de co-modeling Gaspard2
[53].
Une application Gaspard2 est un ensemble de composants connect
es entre eux
par des d
ependances de donn
ees. Ces composants doivent
etre construits `
a partir dun bas niveau (visuel ou textuel) composant. Les donn
ees
echang
ees entre
ces composants sont des donn
ees parall`
eles (tableaux multidimensionnelles dobjets
el
ementaires). Le composant graphe introduit le parall
elisme de t
ache et les
composants peuvent
etre utilis
es dans des it
erateurs parall`
eles de donn
ees. Sil y a
utilisation de ces it
erateurs parall`
eles de donn
ees, le composant donn
e est ex
ecut
e
40
2.4.3
2.4.4
Nud r
ep
etitif :
41
2.5
Lenvironnement GASPARD 2
Comme on la avanc
e pr
ec
edemment, dans le contexte de d
eveloppement, ce
nest pas le m
eta-mod`
ele Gaspard qui est directement manipul
e mais le profil UML
associ
e, ceci afin de permettre lutilisation des outils standards de mod
elisation graphiques bas
es sur UML. Une fois mod
elis
e, le mod`
ele conforme au profil UML gaspard est transform
e vers un mod`
ele conforme au m
eta-mod`
ele gaspard `
a laide dune
transformation de mod`
ele. Les principaux paquetages composants le m
eta-mod`
ele
permettent de mod
eliser les notions de composants, de factorisation, dapplication,
darchitecture et dassociation. La figure 2.7 illustre lorganisation des diff
erents
el
ements constitutifs du profil, agenc
es de mani`
ere `
a bien illustrer le Y form
e par
les paquetages application, hardware architecture et association.
2.5.1
Le paquetage Component
Fig. 2.7 Vue densemble des differents paquetages constituants le profil Gaspard
une instance dun composant B, cela signifie que le composant A utilise B dans son
impl
ementation. Elementery component est un composant ne contenant aucune instance ce qui nous permet de le rapprocher dune boite noire , d
esignant un niveau
de pr
ecision `
a partir duquel le mod`
ele napporte plus dinformations.
La figure 2.8 illustre ces diff
erents concepts avec un exemple dunit
e de calcul
Processing Unit d
efinie `
a laide de trois composants
el
ementaires : un processeur
MIPS, une m
emoire Memory et un crossbar Crossbar4.
Selon le cas o`
u linterface, re
coit ou
emet des donn
ees, les ports utilis
es peuvent
etre qualifi
es de In ou out. En labsence de qualificatif, linterface est capable
d
emettre et de recevoir. Ces qualificatifs sont tr`
es importants vis-`
a-vis des connexions,
en effet les connecteurs de d
el
egation, reliant un composant `
a une instance, ne
peuvent connecter que des ports ayant la m
eme orientation tandis que les connecteurs dassemblage, reliant deux instances, ne peuvent connecter que des ports ayant
des orientations oppos
ees.
43
Fig. 2.8 Un exemple de composant gaspard, processing Unit compose de trois sous composants
instancies sous les noms cb, mem et mips. Les ports et les connecteurs indiquent les relations
entre les instances
2.5.2
Le paquetage factorisation
La notion de Shape
Ce concept permet dindiquer quun
el
ement poss`
ede une multiplicit
e, il peut
etre appliqu
e `
a une instance ou `
a un port. Shape est appliqu
e sur un
el
ement vu
comme une collection compos
ee dun nombre d
el
ements quil d
etermine. Cette collection est structur
ee avec un tableau multidimensionnel et son expression se fait
par linterm
ediaire dun vecteur de nombres entiers strictement positifs, chaque
composante du vecteur d
eterminant la taille, cest-`
a-dire le nombre d
el
ements, de
la dimension du tableau associ
e. La figure 2.9 illustre ce concept avec un exemple
repr
esentant 4 instances dun composant organis
ees sous la forme dun tableau bidimensionnel de 2x2 instances.
A noter quune dimension peut
etre d
eclar
ee comme infinie en sp
ecifiant le symbole `
a la place dun entier, cette sp
ecificit
e ne sapplique
evidemment qu`
a lapplication pour repr
esenter un traitement r
ep
et
e de mani`
ere infinie dans le temps,
d
efinir un composant mat
eriel aux ressources physiques illimit
ees nayant bien s
ur
pas de sens [70].
44
Fig. 2.9 Representation dun composant Gaspard2 avec une multiplicite bidimensionnelle (sur
la gauche) et son equivalent en UML2 (sur la droite)
Notion de Tiler
Le concept de Tiler a
et
e cr
ee pour acc
eder aux
el
ements des tableaux multidimensionnels caract
eris
es par un Shape dune fa
con simple et compact. On commence
par identifier au sein de ces tableaux des ensembles de points quon appelle Motifs
, appel
es aussi tuile (Tile en anglais), ils sont caract
eris
es par un espacement r
egulier des diff
erents points cest ce quon appelle lajustage (fitting en anglais). Avec
un ensemble de Motifs il est donc possible de parcourir tout le tableau afin den
r
ecup
erer tous les
el
ements. Comme les
el
ements des motifs, les diff
erentes tuiles
sont caract
eris
ees par un espacement entre elles, cest le pavage (paving en anglais).
La couverture compl`
ete dun tableau n
ecessite trois informations suppl
ementaires :
Une origine, point faisant office de r
ef
erence, un espace de r
ep
etition d
elivrant une
information concernant le nombre de tuiles `
a utiliser afin de parcourir tout le tableau et la taille du motif (le nombre de points `
a consid
erer pour chaque dimension
du tableau). Ce sont l`
a les notions de base du mod`
ele de calcul Array-ol quon
introduira dans le chapitre suivant. Pour un motif donn
e, la tuile correspondante
est identifi
ee `
a partir dun
el
ement de r
ef
erence dans le tableau, nous lappellerons
ref. Lespacement des diff
erents
el
ements au sein de la tuile est d
etermin
e par linterm
ediaire de la matrice dajustage et en rapport avec le point de r
ef
erence. Le
nombre de lignes de la matrice correspond au nombre de dimensions du tableau et
le nombre de colonnes correspond au nombre de dimensions du motif que lon veut
r
ecup
erer. Chaque
el
ement ei de la tuile est d
etermin
e par la somme des coordonn
ees du point de r
ef
erence et de la multiplication de la matrice dajustage par les
coordonn
ees i de l
el
ement du motif, comme exprim
e dans la formule suivante :
i0 i < S pattern , ei = ref + F.imodSarray
45
La notion de Reshape
Le concept de Reshape a
et
e introduit afin de permettre la liaison
el
ement par
el
ement de deux tableaux ayant des formes diff
erentes [70]. Au niveau conceptuel, un
reshape se contente simplement dassocier deux Tilers lun apr`
es lautre, le premier
Tiler ayant pour t
ache de rassembler par motif les
el
ements du premier tableau
vers un motif interm
ediaire et le second Tiler ayant pour fonction de r
epartir les
el
ements du motif interm
ediaire sous une nouvelle forme dans le tableau de sortie.
En plus des deux Tilers, , le Reshape apporte les notions de Pattern Shape et
de Repetition Space, le PatternShap permettant de repr
esenter la forme du motif
interm
ediaire et le Repetition-Space permettant dexprimer lespace de r
ep
etition
parcouru afin de compl`
etement remplir le tableau de sortie. La figure 2.11 illustre
un exemple de Reshape. Dans cet exemple, il y a deux t
aches t1 et t2 , chaque ligne
du tableau de sortie t1 est rang
ee dans une colonne du tableau dentr
ee t2 . On passe
donc dun tableau de dimension 3x2 `
a un tableau de dimension 2x3.
Figure 2.11 : Un exemple de Reshape
Ce concept permet une repr
esentation plus compacte permettant d
eviter lintroduction dune t
ache f antme ne faisant que consommer les motifs dun tableau
dentr
ee pour ensuite les ranger dans un tableau de sortie par linterm
ediaire de
46
47
Fig. 2.13 Illustration des liens Inter -Repetition, `a gauche le composant Gaspard representant
une grille `a droite son equivalent en UML
2.5.3
Paquetage Application
Ce paquetage `
a travers les notions quil apporte permet dassocier une s
emantique propre `
a tout composant repr
esentant une partie de lapplication. Avec cette
s
emantique, les applications peuvent
etre repr
esent
ees par langage de flot de donn
ees sappuyant sur les concepts d
efinis dans les paquetages Component et Factorization. Ce langage est tr`
es fortement inspir
e de Array-Ol que nous allons voir par
la suite. Par application on d
efinit le comportement du syst`
eme en fonction des
entr
ees quon lui fournit, tout ou partie de lapplication peut donc
etre sous forme
logicielle ou mat
erielle.
Lobjectif est de permettre lexpression dapplications de traitement de signal
intensif travaillant avec des tableaux multidimensionnels. La mise au point de telles
applications nest pas complexe `
a cause des fonctions
el
ementaires les constituant
mais de leur association ainsi que de la mani`
ere dacc
eder aux tableaux utilis
es. La
finalit
e de tels syst`
emes
etant den ressortir des performances, il est indispensable
dutiliser le parall
elisme potentiel offert par lapplication de mani`
ere `
a lassocier au
parall
elisme disponible offert par larchitecture mat
erielle.
Pour constituer ce langage un certain nombre de principes de base ont
et
e choisis :
1. Expression de tout le parall
elisme potentiel ;
2. Expliciter toutes les d
ependances de donn
ees ;
3. Les tableaux sont `
a assignation unique, chaque
el
ement peut
etre lu plusieurs
fois mais ne peut
etre
ecrit quune seule fois ;
4. Il ny a pas de diff
erentiation dans le traitement des dimensions spatiale et
48
Parall
elisme de t
aches
La notion de parall
elisme de t
aches na de sens que dans le contexte de t
aches
compos
ees. Dans ce cas, la composition interne dun composant correspond `
a un
graphe acyclique orient
e, chaque nud du graphe correspond `
a une t
ache et chaque
arr
ete correspond `
a une d
ependance reliant deux ports de m
eme taille et de m
eme
type, un nud repr
esentant une instance et une arr
ete connecteur reliant port de
sortie et port dentr
ee [70]. On na pas de contrainte sur le type et la taille des
ports dentr
ee et de sortie dune t
ache. Cette derni`
ere peut lire deux tableaux `
a
une dimension pour ne produire quun tableau `
a deux dimensions. La figure 2.14
pr
esente un parall
elisme de t
aches avec un exemple contenant 4 t
aches : un producteur, deux consommateurs et un agr
egateur. Celui ci poss`
ede une d
ependance sur
les consommateurs C1 et C2 . Les ports de chaque composant sont orient
es, imposant
lex
ecution du producteur p avant les autres t
aches. Les deux consommateurs C1 et
C1 peuvent
etre ex
ecut
es en parall`
ele.
49
Fig. 2.14 Exemple dune tache composee dans Gaspard, elle est constituee de 4 sous taches,
p, c1 , c2 et a. La tache a poss`ede deux dependances sur c1 et c2 , possedant elle-meme chacune
une dependance sur p. Les taches c1 et c2 peuvent etre executee en parall`ele
Parall
elisme de donn
ees
Il est toujours li
e`
a lexpression des r
ep
etitions de t
aches, lid
ee
etant que chaque
r
ep
etition de la t
ache est ind
ependante : il ny a pas dordre impos
e pour lex
ecution,
les t
aches peuvent donc
etre ex
ecut
ees en parall`
ele. Les connectors qui interviennent
ne peuvent
etre sp
ecifi
es quavec des Tilers. Ils vont permettre de d
ecouper les tableaux pr
esents sur les ports du composant p`
ere, pour en faire des motifs qui seront
pr
esents sur les ports du composant lui-m
eme [70].
Ainsi chaque r
ep
etition de t
ache na le droit dacc
eder quaux sous ensembles des
tableaux du composant. La figure 2.15 pr
esente un exemple dapplication mettant
en uvre le parall
elisme de donn
ees. E composant A plus B contient une t
ache Sum
r
ep
et
ees 16x16 fois et prenant en entr
ee les donn
ees de deux matrices pour en sortir
un r
esultat. Chaque r
ep
etition de la t
ache va soccuper de traiter deux motifs des
tableaux dentr
ee.
Le paquetage Application apporte des notions de s
emantique permettant de repr
esenter les d
ependances entre les t
aches et les r
ep
etitions de t
aches. Il est
egalement possible de d
eterminer les d
ependances entre un
el
ement du tableau de sortie
et les
el
ements du tableau dentr
ee. Toutes ces informations permettent `
a la fin, de
d
eduire un ordre dex
ecution des t
aches.
2.5.4
Le paquetage HardwareArchitecture
La d
efinition de la composition de larchitecture mat
erielle du syst`
eme sur puce
se fait `
a laide des
el
ements apport
es par ce paquetage. Les notions du paquetage
Component permettent de repr
esenter la structure et la hi
erarchie du mat
eriel `
a
50
Fig. 2.16 Un exemple de composant gaspard, processing Unit compose de trois sous composants
instancies sous les noms cb, mem et mips correspondant respectivement `a un crossbar, une
memoire et un processeur
Il faut noter aussi que les concepts introduits par le paquetage Factorization
concernant les multiplicit
es peuvent
etre appliqu
es aux composants mat
eriels, la
ecification dune grille de processeurs et ce dune mani`
ere
figure 2.17 illustre la sp
51
Fig. 2.17 Composant materiel Gaspard representant une grille de 16 unites de calcul reparties
sur deux dimensions
2.5.5
Le paquetage association
2.6. Conclusion
tableau de donn
ees sur un ensemble de m
emoires. La figure 2.19 suivante illustre
cette notion `
a laide dun exemple de distribution de t
aches sur un
el
ement dune
architecture mat
erielle.
2.6
Conclusion
53
Chapitre 3
Calcul intensif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
55
3.2
56
3.3
57
Sp
ecification multidimensionnelle et mod`
eles de calcul pour le TSI
58
3.4
3.5
3.4.1
MATLAB/SIMULINK . . . . . . . . . . . . . . . . . . . . . . . . . . . .
59
3.4.2
ALPHA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
59
3.4.3
61
3.4.4
63
Conclusion
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
54
70
Afin de pouvoir presenter le placement dans sa globalite (le graphe HTG), nous
devons commencer par pr
esenter une de ses parties importantes qui est le traitement intensif. Dans ce chapitre on introduira le principe g
en
eral des applications de
traitement de signal intensif, les domaines faisant appel `
a ce type de traitement et
les principaux mod`
eles de calcul existants pour leur sp
ecification. Par la suite, nous
3.1
Calcul intensif
3.2
3.3
Si on consid`
ere des domaines dapplication courants tels lintelligence artificielle,
surveillance, maintenance, m
edecine `
a distance, gestion des catastrophes, etc. avec
des plateformes de calcul `
a files ou sans o`
u il y a diff
erents types de nud (laptops,
palmtop, mobile, PDA, etc.) on a ici un sc
enario commun typique de la transmission
vid
eo et audio (one to one, one to many, many to many). Le probl`
eme ici, en plus
des vitesses de calcul diff
erentes des diff
erentes unit
es de traitement, se situe aussi
au niveau des communications. Cette particularit
e est due aux bandes passantes
diff
erentes, aux p
eriph
eriques h
et
erog`
enes, `
a la latence etc. Dans ce type dapplication le transcoder, quon pr
esentera juste apr`
es, joue tout son r
ole.
Transcoder : Il peut
etre mobile ou reli
e`
a un r
eseau fixe. Le transcoder convertit
un format vid
eo en dautres en consid
erant la compatibilit
e avec des bandes passantes du r
eseau, puissance de calcul et lutilisation des p
eriph
eriques utilisateurs
eo se fait en deux phases :
[15]. Transcoder un flot vid
a D
ecoder X-Format.
b Encoder dans Y-Format, figure 3.3.
57
La phase encoder n
ecessite plus de puissance de calcul que lautre phase (en
g
en
eral 3 `
a 4 fois plus de temps pour le m
eme encodage) et elle est tr`
es d
ependante
des param`
etres (tels la taille des frames).
La fonction de base pour les deux
etapes est :
1. D
ecoder, le flot MPEG dans un format ligne (YUV, YU12, PPM, etc.).
2. Encoder, transforme la ligne dans la vid
eo MPEG avec les nouveaux param`
etres.
Eliminateur de parasites (CSLC Coherent Side Love Cancellation) : est un autre
exemple de traitement technique. Cette application a pour but de r
eduire les parasites avec coh
erence sur les antennes. Dans la figure 3.4, nous donnons le graphe
global de lapplication CSLC o`
u on voit que la FFT est appel
ee deux fois et lIFFT
une seule. Ceux-ci constituent les blocs majeurs dune application CSLC. Les autres
blocs constituent des nuds r
eguliers mais sont moins gourmand en termes de calcul par rapport au FFT et lIFFT. Un tel domaine dapplication est hautement `
a
donn
ees intensives et donne plus de chance de faire du parall
elisme de donn
ees que
celui de t
aches.
3.4
Sp
ecification multidimensionnelle et mod`
eles de calcul pour
le TSI
Beaucoup de mod`
eles de calcul ont
et
e propos
es pour la mod
elisation et la
mise en uvre des applications de traitement du signal intensif. On peut citer
MATLAB/SIMULINK, ALPHA [?], MDSDF (MultiDimensional Synchronous Data
Flow) [67], GMDSDF ( Generalized MultiDimensional Synchronous Data Flow) [66]
et le langage Array-Ol (Array Oriented Langage). Malgr
e la diversit
e, de ces mod`
eles, leur occupation principale consistant `
a mieux mod
eliser les grandes quantit
es
de donn
ees multidimensionnelles dont le but est de faciliter la description et l
etude
des applications de traitement intensif `
a parall
elisme de donn
ees massif.
58
3.4.1
MATLAB/SIMULINK
3.4.2
ALPHA
Cest un langage `
a parall
elisme de donn
ees [[16],[79] et fonctionnel cr
ee par
l
equipe API `
a lIRISA de Rennes. La premi`
ere d
efinition de ce langage a
et
e proee sur le formalisme des syst`
emes d
equapos
e par Mauras en 1989 [57] et est fond
tions r
ecurrentes [44], mais depuis il a
evolu
e. Cest un langage `
a parall
elisme de
donn
ees permettant la description de haut niveau dalgorithmes de calcul r
eguliers.
Le formalisme qui est derri`
ere le langage est appel
e le mod`
ele poly
edrique, et se
trouve aujourdhui, `
a la base de plusieurs m
ethodes de parall
elisation automatique
59
V1,2
V2,2
V1,3
V2,3
V3,3
60
3.4.3
IL a
et
e propos
e par Edward Lee en 2002 [67]. Il
etend le concept du mod`
ele SDF
(Synchronous DataFlow) [[49],[50]] pour lappliquer dans un contexte multidimensionnel. Lobjectif est de permettre la sp
ecification des applications de traitement du
signal manipulant des donn
ees multidimensionnelles tels que le traitement dimage
et de la vid
eo.
Le mod`
ele SDF repr
esente un cas sp
ecial des mod`
eles flot de donn
ees qui sont
g
en
eralement utilis
es pour d
ecrire des applications de traitement du signal par des
graphes, en repr
esentant les fonctions par des nuds et les donn
ees par les arr
etes
du graphe. Lajout du terme synchrone implique que le nombre de donn
ees
consomm
ees et produites soit connu d`
es la conception de lapplication, cest-`
a-dire
qui permet de r
ealiser des ordonnancements statiques. Ce mod`
ele est int
egr
e `
a
5
elisation et de simulation dapPTOLEMYdynamiques , lenvironnement de mod
plications pour les syst`
emes embarqu
es.
Une application, dans SDF, est d
ecrite par un graphe orient
e acyclique o`
u chaque
nud consomme des donn
ees en entr
ee et produit des r
esultats en sortie. Donc les
calculs sont repr
esent
es par des nuds [Actor] et les donn
ees [Tokens] par des arcs
(figure 3.5). Les symboles associ
es aux entr
ees et aux sorties de chaque acteur dans
un graphe SDF sp
ecifient le nombre de jetons consomm
es ou produits par lacteur
en question. Ainsi, la relation entre les acteurs dans un graphe SDF doit satisfaire
la relation suivante :
ri Oi = ri+1 Ii+1 o`
u ri repr
esente le nombre de r
ep
etition dun acteur i et Oi (resIi )
est le nombre de jetons produits (resp consomm
es) par lacteur i. Le vecteur r =
[r1 r2 . . . rn ] peut regrouper les r
ep
etitions des acteurs. Dans lexemple de la figure
40,
r = [11010010] qui signifie que pour chaque ex
ecution de lacteur A, il y aura 10
ex
ecutions de lacteur B, 100 de lacteur C et 10 de lacteur D.
http ://ptolemy.eecs.berkeley.edu
61
Avec MDSDF on rend plus exacte lexpression dune application multidimensionnelle et possible la mod
elisation dapplication qui ne pouvait
etre d
ecrite en SDF. La
figure ?? illustre un exemple dune application non repr
esentable en SDF. On a un
acteur A qui produit une colonne de deux jetons et un acteur B qui consomme une
ligne de trois jetons. Les deux jetons de la colonne ne seront donc pas consomm
es
par la m
eme it
eration du deuxi`
eme acteur comme le montre le graphe de d
ependances. La mod
elisation de cette application en SDF nest pas possible puisque ce
dernier ne permet pas de sp
ecifier le mode de construction du graphe de d
ependance [65].
3.4.4
Cest un langage sp
ecialis
e dans la description dapplications de traitement du
signal intensif. Comme on la pr
esent
e pr
ec
edemment, ce type dapplication est
caract
eris
e par une manipulation de grande quantit
e de donn
ees qui sont trait
ees
par un ensemble de t
aches de fa
con r
eguli`
ere. Le langage Array-Ol est bas
e sur la
constatation que la complexit
e de telles applications vient des acc`
es aux donn
ees
(toujours des tableaux) et non des fonctions de calcul. Cest un langage `
a assignation
unique o`
u seules les d
ependances de donn
ees sont exprim
ees et o`
u les dimensions
spatiales et temporelles des tableaux sont banalis
ees. Donc le mod`
ele Array-Ol est
multidimensionnel et permet dexprimer un parall
elisme potentiel complet sur des
applications, que ce soit un parall
elisme de donn
ees ou un parall
elisme de t
aches.
Avant de comprendre lapport de ce langage, on doit comprendre le contexte dans
lequel est utilis
e le Array-Ol, en commen
cant par ces applications qui pr
esentent
plusieurs difficult
es [30].
Peu de mod`
eles de calcul sont multidimensionnels,
Les profils dacc`
es aux tableaux de donn
ees sont diverses et complexes,
Ordonnancer ces applications avec un temps et des ressources limit
es est un
chalenge sp
ecialement dans les contextes distribu
es.
A ce jour uniquement deux mod`
eles de calcul ont tent
e de proposer un formalisme
pour mod
eliser et ordonnancer de telles applications de traitement de signal multidimensionnel : MDSDF (vu pr
ec
edemment), son suivant GMDSDF et Array-Ol
[[17],[18]]. Ce dernier est introduit par Thomas Marconi Sonar et dont la compilation a
et
e
etudi
ee par Demeure, Soula, Dumont et al [[17],[18],[8],[87].
Ces deux langages propos
es ont les m
emes objectifs et m
eme sils sont diff
erents
dans la forme, ils partagent un certain nombre de principes tels que :
1. La structure de donn
ees doit avoir des dimensions multiples visibles.
2. Placement statique doit
etre possible avec des ressources limit
ees.
3. Domaine dapplication est le m
eme : application de traitement de signal intensif
multidimensionnel.
Comme une premi`
ere remarque on doit attirer lattention sur le fait que ArrayOl est uniquement un langage de sp
ecification. Il ny a pas de r`
egles sp
ecifi
ees pour
lex
ecution dapplication d
ecrite avec ce langage. Toute fois un ordonnancement
peut
etre facilement obtenu en utilisant la description.
63
el
ements des tableaux `
a partir du quel il lit ou dans lequel il
ecrit.
Tel quon la avanc
e pr
ec
edemment, Array-Ol est `
a assignation unique. Le temps
est donc repr
esent
e par une (ou plusieurs) dimensions des tableaux de donn
ees. Par
exemple un tableau repr
esentant une vid
eo a des motifs `
a trois dimensions (largeur
de frame, hauteur de frame, nombre de frame).
Toute description dune application en Array-ol fait successivement appel `
a deux
niveaux. Le premier niveau, appel
e mod`
ele global, d
efinit lenchanement des diff
erentes parties de lapplication dans son ensemble alors que le deuxi`
eme niveau
appel
e mod`
ele local pr
ecise les actions
el
ementaires `
a effectuer sur les
el
ements de
tableaux et le parall
elisme de donn
ees sur les diff
erentes t
aches.
Mod`
ele global (parall
elisme de t
aches)
Ce mod`
ele permet de nommer et de d
efinir les tableaux et les t
aches de calcul
dune application (figure 3.8).
Fig. 3.8 Exemple de composant : reduction `a partir dune haute definition vers une definition
TV standard.
Ce mod`
ele est repr
esent
e par un graphe dirig
e acyclique o`
u chaque nud repr
esente une t
ache, et chaque arc repr
esente un tableau multidimensionnel (figure 3.9).
Le nombre de tableaux en entr
ee et en sortie est illimit
e. Il ny a pas non plus
de corr
elation entre les nombres de dimensions de ces tableaux. Dans ce cas il est
65
Mod`
ele Local (parall
elisme de donn
ees)
La r
ep
etition de donn
ees parall`
eles dune t
ache est sp
ecifi
ee dans le composant
r
ep
etitif. Lhypoth`
ese de base est que toutes les r
ep
etitions de cette t
ache sont
ind
ependantes. Elles peuvent
etre ordonnanc
ees dans nimporte quel ordre m
eme
en parall`
ele. La seconde hypoth`
ese est que chaque sous t
ache op`
ere avec les sous
tableaux des entr
ees/sorties de la r
ep
etition.
Donc le mod`
ele local permet dexprimer tout le parall
elisme potentiel dans une
t
ache, et de d
efinir linteraction entre une t
ache et ses tableaux op
erandes et r
esultats. Cest un graphe dans lequel chaque tableau op
erande et r
esultat est reli
e
`
a la t
ache de ce mod`
ele en sp
ecifiant comment les donn
ees sont consomm
ees et
produites par cette t
ache. Une t
ache, dans ce mod`
ele, est toujours compos
ee dun
constructeur de r
ep
etition, o`
u chaque r
ep
etition est ind
ependante et appliqu
ee sur
un sous ensemble fini de points des diff
erents tableaux en entr
ee et en sortie (fi66
tableau 2D.
Fig. 3.12 Un exemple simple dajustage des elements dun tableau par leurs indexes dans le
motif (i), illustrant la formule i, 0 i < Spattern , ei = ref + F xi.
Du fait que dans Array-Ol toutes les dimensions de tableaux sont torodales, il
faut que toutes les coordonn
ees des
el
ements du motif soient calcul
ees modulo la
taille des dimensions du tableau. La figure 3.12 fournit plus dexemples complexes
de motifs obtenus `
a partir d
el
ements r
ef
erence fixe (O comme origine dans la figure
3.13)dans des tableaux `
a taille fixe.
Pour chaque r
ep
etition on doit sp
ecifier les
el
ements r
ef
erence des entr
ees et
sortie. Les
el
ements r
ef
erence de la r
ep
etition r
ef
erence sont donn
e par le vecteur
origine O de chaque Tiler. Les
el
ements r
ef
erence des autres r
ep
etitions sont obtenus `
a partir du vecteur o. comme vu pr
ec
edemment, les coordonn
ees sont obtenues
par combinaison lin
eaire de la matrice de pavage :
r, 0 r < Srepetition , ref r = (0 + P xr)modSarray
O`
u Srepetition est le profil de lespace r
ep
etition, P
etant la matrice de pavage et Sarray
le profil du tableau (figure 3.13).
Ainsi on peut r
esumer toutes ces explications par les deux formules suivantes :
r, 0 r < Srepetition , ref r = (0 + P xr)modSarray , donne les
el
ements de r
ef
erence
des
Les formules pr
ec
edentes explicitent quel
el
ement en entr
ee ou sortie dun tableau va
etre consomm
e ou produit par une r
ep
etition. Le lien entre les entr
ees et
sorties est donn
e par lindex de r
ep
etition r.
Pour une r
ep
etition donn
ee, les motifs de sortie (pour un index r) sont produits par
la t
ache r
ep
etitive `
a partir des motifs en entr
ee (pour lindex r). Ainsi lensemble
des Tilers, des profils des motifs et lespace de r
ep
etition d
etermine les d
ependances
entre les
el
ements des tableaux en sorties et les
el
ements des tableaux en entr
ees
dune r
ep
etition.
Pour illustrer lutilisation de ce langage, nous allons
etudier la sp
ecification dun
exemple classique et acad
emique dun produit de matrices. Cet exemple permet de
montrer la puissance du mod`
ele local pour lexpression du parall
elisme de donn
ees
dans un algorithme. A1
etant une matrice de taille 3x2 et A2 une matrice de taille 5x2,
nous calculons le produit A1 xA2 = A3 avec A3 de taille 3x2. Le calcul dun produit
de matrice revient au calcul du produit scalaire de chaque ligne A1 par chaque
colonne de A2 . Les diff
erents produits scalaires sont ind
ependants et peuvent
etre
alors effectu
es en parall`
ele.
Le langage Array-Ol permet dexprimer tout ce parall
elisme en identifiant les
motifs n
ecessaires en entr
ee pour produire les motifs r
esultats. Soit la t
ache
el
ementaire Produit Scalaire qui prend en entr
ee deux vecteurs de taille 5, et produit
en sortie un scalaire correspondant au Produit scalaire de ces deux vecteurs. Dans
le mod`
ele local, illustr
e par la figure 3.16, lespace de r
ep
etition de la t
ache Proache pour la production de
duit Scalaire est d
efini par le vecteur [[71],[?]] (Une t
chaque point du tableau de sortie). A travers cet exemple on montre la possibilit
e
dexprimer tout le parall
elisme potentiel dans une application, ce qui facilite son
interpr
etation par des outils doptimisation et de compilation.
69
3.5. Conclusion
Dans lordre de simplifier la figure, et puisque le traitement est fait frame par
frame, uniquement les deux premi`
eres dimensions sont repr
esent
ees. La troisi`
eme
dimension de lespace de r
ep
etition est aussi infinie. La troisi`
eme dimension de lespace de r
ep
etition est aussi infinie. Les motifs ne rencontrent pas cette dimension
et uniquement le vecteur de pavage a un
el
ement non nul comme troisi`
eme
el
ement
t
(001) comme dimension infinie de lespace de r
ep
etition. Les tailles des tableaux
ont aussi
et
e r
eduites par un facteur de 60 dans chaque dimension pour des raisons
de lecture.
Fig. 3.16 Quelques repetitions du filtre horizontal pour illustrer les dependances entre les
entrees/sorties dune repetition.
3.5
Conclusion
Dans ce chapitre on a pr
esent
e les applications et les domaines o`
u on fait du
calcul intensif. Pour ce domaine, le DSP, plusieurs langages de sp
ecification existent
et on a cit
e les plus connus. Lobjectif essentiel de ces langages est de permettre
avec une relative simplicit
e de mettre en
evidence le parall
elisme de t
aches ou de
donn
ees inh
erent `
a ces applications. Notre choix sest port
e sur Array-Ol pour
expliciter le parall
elisme des t
aches r
ep
etitives quon va placer sur des architectures
r
eguli`
eres. Mais avant daborder ce probl`
eme qui constitue une partie de notre
approche globale, nous devons pr
esenter la probl
ematique g
en
erale du placement
sur les SoC. Le chapitre suivant va nous permettre de cerner ce probl`
eme et davoir
une id
ee sur les diff
erentes approches utilis
ees pour le solutionner.
70
Chapitre 4
72
4.2
Probl
ematique du placement et ordonnancement . . . . . . . . . . .
73
4.3
4.4
4.5
4.2.1
73
4.2.2
Probl`emes et objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . .
75
77
4.3.1
77
4.3.2
85
91
4.4.2
95
4.4.3
97
Conclusion
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
71
97
4.1
Les m
ethodologies de conception des NoC partagent les m
emes objectifs avec
les m
ethodologies de conception des SoC, tels la r
eduction de la consommation
d
energie, la minimisation de la surface de la puce et la maximisation des temps de
performance. La pr
eservation de l
energie est tr`
es importante sp
ecialement dans la
conception des syst`
emes embarqu
es portables o`
u le fonctionnement du syst`
eme d
epend de la dur
ee de vie de la batterie et de la chaleur des circuits. Dans les NoC, les
switchs et les m
emoires occupent jusqu`
a 80% de la surface de la puce, en r
eduisant
la complexit
e fonctionnelle des switchs (algorithmes de routage) et en maximisant
lutilisation des m
emoires on peut r
eduire la surface de la puce. Les contraintes de
temps r
ef`
erent aux hard et soft deadlines dont le non respect peut causer la panne
(ou larr
et) du syst`
eme. Dans la r
ealit
e ces objectifs sont contradictoires, car en minimisant la consommation d
energie on ralentit la vitesse des calculs ce qui affecte
les performances du syst`
eme.
Ainsi lors de la conception des SoC on doit trouver un compromis entre ces diff
erents objectifs, ce qui va nous amener `
a faire du multi-objectifs qui constitue la
partie centrale de notre travail. Durant le placement (mapping) des t
aches, celles
qui consomment le plus d
energie sont affect
ees aux processeurs consommant le
moins d
energie pour
equilibrer la consommation totale d
energie. En fin, on peut
dire que le placement est responsable de lexploitations de la concurrence dans
lapplication, d
ependant du parall
elisme de larchitecture cible en prenant en consi72
etre utilis
e pour minimiser la consommation d
energie du syst`
eme. Ceci sobtient
en faisant ex
ecuter certaines t
aches sur certains processeurs `
a niveau de voltage bas.
Le placement et ordonnancement sont parmi les t
aches les plus difficiles lors de
la conception, de bons algorithmes de placement et ordonnancement sont cruciaux
pour avoir un maximum de performance pour une application sur une plateforme
donn
ee. Les syst`
emes NOC sont `
a la base des syst`
emes multiprocesseurs h
et
erog`
enes faiblement coupl
es utilisant un routage par paquets pour les communications
inter-processeurs. Une des plus importante particularit
e des NoC par rapport aux
multiprocesseurs, cest que les NoC contiennent certains
el
ements sp
ecialis
es quon
ne peut pas utiliser pour des calculs g
en
eraux mais pour uniquement certaines
fonctions sp
ecialis
ees. Cette diff
erence doit
etre pris en consid
eration lors de la
conception et surtout dans la phase de placement.
4.2
Probl
ematique du placement et ordonnancement
4.2.1
Le mod`
ele darchitecture et le mod`
ele dapplication
Le mod`
ele darchitecture est g
en
eralement un graphe orient
e avec deux types
de nuds repr
esentant les processeurs (PE) et les switchs qui sont interconnect
es par des arcs repr
esentant les liens de communication (CL) dans la plateforme.
Puisque le NoC peut
etre un syst`
eme multiprocesseur alors les PE peuvent
etre
des processeurs g
en
eraux ou sp
ecialis
es tels les ASIC, FPGA, etc. CL peut
etre une
connexion point `
a point ou bus. PE et CL peuvent avoir plusieurs types de voltage
permettant leur utilisation dynamique. Les techniques de gestion d
energie peuvent
etre utilis
ees pour carr
ement arr
eter les
el
ements non utilis
es et diminuer par l`
a
73
el
ements de calcul (routage). Le placement pour les NoC peut aussi inclure lassignation des composants IP aux tuiles du NoC et en m
eme temps lassignation
des chemins de routage (communication mapping r
ef
er
ee dans la litt
erature par
lassignation r
eseau ). Ce dernier est souvent trait
e apr`
es le placement des t
aches
et tends `
a r
eduire les distances des communications sur la puce.
Le scheduling est lordonnancement des temps des t
aches et communications sur
leurs ressources auxquelles elles sont assign
ees. Il doit assurer lexclusion mutuelle
entre lex
ecution de t
aches sur la m
eme ressource. Dans la figure 4.2 on illustre le
scheduling de lexemple 1. Le graphe de Gantt est utilis
e pour une repr
esentation
graphique des r
esultats du placement et ordonnancement.
4.2.2
Probl`
emes et objectifs
S
epar
es ou int
egr
es
Les probl`
emes de placement et ordonnancement peuvent
etre trait
es s
epar
ement,
ou ensemble int
egr
es dans un m
eme probl`
eme. Dans ce dernier cas la solution optimale correspondra `
a la meilleure solution. Mais les deux probl`
emes sont NP.hard,
les solutionner s
epar
ement est moins co
uteux que de les traiter ensemble comme
un seul probl`
eme cest-`
a-dire simultan
ement.
etre solutionn
es avec des m
ethodes qui d
eterminent loptimum dune fa
con d
eterministe. Ces m
ethodes (d
eterministes) explorent dune fa
con exhaustive tout
le domaine des solutions et retournent loptimum th
eorique cest-`
a-dire exact ; Le
Branch-and-Bound (BB) en est une.
Les heuristiques sont des m
ethodes de recherches pseudo al
eatoires et des techniques doptimisation qui explorent et exploitent lespace des solutions en se basant
sur lexp
erience apprise. Elles sont utilis
ees quand une recherche d
eterministe ou
exhaustive est tr`
es hard ou impossible et quand le temps de recherche augmente
dune fa
con exponentielle avec la taille du probl`
eme. Les heuristiques permettent
dobtenir des solutions de qualit
e raisonnable en un temps tr`
es court. Les heuristiques constructives permettent de construire graduellement des solutions partielles
valides jusqu`
a atteindre loptimum. Les heuristiques de transformation alternent
des solutions existantes en cherchant `
a
elargir lespace dexploration de lespace des
solutions. LS (List Scheduling) et GA (Genetic Algorithms) sont des exemples, respectivement, dheuristiques constructives et transformatives.
Ce quon vient de dire ne doit pas nous fait oublier dautres approches utilis
ees
m
eme si elles le sont rarement dans notre domaine. La programmation math
ematique [85] en est la premi`
ere avec ces diff
erentes variantes : programmation lin
eaire
en nombre entier (ILP), Programmation non lin
eaire (NLP) et programmation en
nombre entier mix
e (MILP). On cite aussi la programmation par contrainte dont
la classe englobe celles de ILP et MILP.
4.3
4.3.1
ti,tj
Ebit
=
nhops
X
k=1
Esbit +
nhops1
X
Elbit
(4.1)
k=1
Do`
u la consommation d
energie totale pour transf
erer les donn
ees peut
etre calcul
ee en multipliant l
energie obtenue lors de l
equation pr
ec
edente par le volume
des donn
ees :
ti,tj
ti,tj
Etotal
= datasizeti,tj Ebit
(4.2)
80
M AP : U 7 V vj = map(ui ), ui U, vj V
(4.3)
rij =
(4.4)
ns|v|
o`
u
B(li,j , Pm,n ) = 1sili, j L(Pm,n ); B(li,j , Pm,n ) = OSinon
(4.5)
LSi + (nhops 1) Ll
(4.6)
inhops
82
min
TW aiting ; i | M || K |
. O`
u | M | est le nombre de switch et | K | est le nombre de chemin de communications dans le switch.
Fig. 4.7 : Exemple de placement du CTG sur le NOC. Les lignes flechees dans le NOC
representent les chemins de communications reservees par lalgorithme de placement.
Hin-chou et al font le placement et lordonnancement en deux
etapes. Dans la
premi`
ere il d
etermine le placement `
a laide dune heuristique, le r
esultat est utilis
e
pour ordonnancer les chemins de communication dans la deuxi`
eme
etape (figure
4.6-bis). Si les r
esultats de lordonnancement ne v
erifient pas les contraintes de la
latence de communication alors le placement est refait en r
e-ex
ecutant la premi`
ere
R
esum
e
Les tables 4.1 et 4.2 [77] synth
etisent les
etapes et les objectifs des m
ethodologies
vues pr
ec
edemment.
Comme on le voit dans ces tableaux les m
ethodologies des N0C ne couvrent
pas compl`
etement lespace dexploration surtout si on prend en consid
eration les
communications. Une approche traite de lassignation r
eseau [21] et une autre lordonnancement des communications [41]. Bien que deux approches [[35],[21]] minimise le volume des communications inter-processeur durant le placement des t
aches.
La consommation d
energie est lobjectif pr
ef
er
e dans les approches doptimisation. Quatre de ces approches [[35],[41] , [21],[37] ] sont bas
ees sur le probl`
eme,
83
Ref
G.Varatkar
et al
T.Lei
et al
J.Hu et al.
D.Shin et al.
Mapping
Network
assignment
Task Tile Com
LS
2-GA
LS
GA
GA
Exact
GA
Scheduling
Tile
LS
ASAP/
ALAP
LS
LS
Com
Exact
-
Voltage
Selection
Tile Com
ILP
-
LS
Power
Manage
Tile Com
LS
Ref
G.Varatkar et al
T.Lei et al.
J.Hu et al.
D.Shin et al
Consommation denergie
Dynamique
Statique
Task Comm Task Comm
DVS
Y
Y
Y
SVS
ABB
SPM
Contraint
du temp
Hard Soft
Y
Y
Y
Y
-
memoire
Code Data
-
Zone
84
4.3.2
Les syst`
emes embarqu
es multiprocesseurs dont la communication est `
a base de
bus amplifient la complexit
e du probl`
eme de placement et ordonnancement. Car
dans ce type de syst`
emes les bus sont assimil
es `
a des processeurs, ce qui entrane le
m
eme traitement pour les t
aches et les communications. Des approches diverses sont
d
evelopp
ees pour les MPSOC `
a base de bus, elles ciblent toutes diff
erents objectifs
doptimisation et focalisent sur certaines
etapes de conception. Ainsi, la consommation d
energie avec DVS est cibl
ee par M.T.Schmitz et al. [[48],[64]], de m
eme
pour A.Andrei et al. [3], F.Gruian et al.[27] et L.Benini et al.[48]. Le traitement de
lordonnancement avec des deadlines soft est fait par L.A. Cortes et al. [[45],[46]]
pendant que le placement et lordonnancement pour l
equilibrage de charge de la
m
emoire est lint
er
et de R.Szymanek et al. [82].
Approches bas
ees sur l
energie
M.T. Schmitz et al. [[48],[63]] ont d
evelopp
e une m
ethodologie, pour les syst`
emes
embarqu
es h
et
erog`
enes distribu
es, appel
ee LOPOCOS (Low Power CO-Synthesis)
qui tend `
a minimiser la consommation d
energie en off-line des applications multim
edia ou t
el
ecommunications en garantissant les contraintes temps r
eel Hard et
les contraintes de taille de la puce. Cette m
ethode est constitu
ee de deux boucles
imbriqu
ees : la boucle externe traite lallocation des composants et le placement des
t
aches. La boucle interne pour lordonnancement de temps, placement des communications et la s
election de voltage (Figure 4.8).
Le placement de t
aches est trait
e s
epar
ement du placement des communications et
il est impl
ement
e`
a laide du GA. Lalgorithme nomm
e EE-GMA (Energy Efficient
Genetic Mapping Algorithm) est bas
e sur loptimisation de l
energie dans le sens o`
u
uniquement les solutions de placement et dordonnancement correspondantes `
a la
85
87
XX
T
X
W CNwtt1
W CNt
W CNrtt1
+
+ Wppt1m
)] dlt t
[Xptm
(Rppt1m
fm
f
fm
m
t =1
(4.7)
OF =
P
X
T ranscostij
(4.8)
O`
u T ransCostij est une valeur obtenue par la m
ethode introduite par Benini en
utilisant la d
ecomposition `
a laide des Benders. Cette fonction objectif doit
etre
minimis
ee tout en respectant les contraintes de pr
ec
edence. Si l1 etl2 sont deux activit
es qui se suivent alors il faut que :
Startl1 + durationl1 + T ransT imel1l2 Startl2
O`
u Startl1 , Startl2 sont les temps de d
ebut des activit
es l1 etl2 ;
W CNi
Durationl1 = fi
T ransT imel1l2 est le temps dinitialisation sp
ecifi
e dans la matrice des transitions
obtenue avec les Benders.
Approches bas
ees sur la m
emoire
R.Szymanek et al. [[81],[82]] ont d
evelopp
e une m
ethode qui fait le placement et
lordonnancement simultan
ement avec un
equilibrage de lutilisation de la m
emoire
et en v
erifiant les deadlines hard (figure 4.10). La m
ethodologie fait le placement
en m
emoire du code et des donn
ees et sassure aussi que les donn
ees
echang
ees
soient pr
esentes dans les m
emoires du producteur et du consommateur pendant la
communication.
La m
ethodologie est bas
ee sur LS avec un objectif adapt
e et des priorit
es dynamiques qui aident loutil CLP `
a explorer efficacement lespace des solutions. La
t
ache la plus importante en consommation de donn
ees ou urgente (selon lobjectif )
est toujours assign
ee au processeur le plus pauvre en terme dutilisation de la m
emoire en code ou en donn
ees. Les objectifs sont inter-chang
es quand les contraintes
de donn
ees ne sont pas v
erifi
ees.
Ref
Mapping
M.T.Schmitz et al
A.Andrei et al
R.Szymanek et al
F.Gruian et al
L.Cortes et al
Task
GA
-
Com
GA
-
Scheduling
Task
GA+LS
LS+CLP
Com
GA+LS
-
LS
BB+LS
Voltage
Selection
Task Com
LS
NLP/
-
Power
Manage
Task Com
LS
-
Ref
M.T.Schmitz
et al
A.Andrei et al
F.Gruian et al
R.Szymanek et al
L.A.Cortes et al
Consommation denergie
Dynamique
Statique
Task Comm Task Comm
DVS
DVS
DVS
-
ABB
-
Contraint
du temp
Hard Soft
Y
Y
Y
Y
Y
memoire
Code Data
Y
Y
-
Y
-
Zone
Y
-
90
4.4
Les m
ethodes vues auparavant concernant ce probl`
eme vont
etre compar
ees par
la suite selon les crit`
eres : Contraintes de temps, consommation d
energie et les
contraintes de taille ou de surface.
4.4.1
V
erification des contraintes de temps r
eel
91
92
Ref
G.Varatkar
et al.
T.Lei et al.
D.Shin et al.
J.Hu
et al.
Temps de Communication
Min
Min
Band
Volume
Distance
passante
TM
TM
-
NA
CM
+CS
Manhattan
Manhattan
Min
Dispo
Const
SVS
Const.
Retard global
T
ache
Temp
ET
Com
WCET
WCET
WCET
WCET
AVG
WCRT
WCRT
Garantie
de
Deadline
N
N
Y
Y
Ref
G.Varatkar
et al.
T.Lei et al.
D.Shin et al.
J.Hu et al.
placement des
t
aches
But
affectation PE
disponible le
plus proche
Min.chemin critique
Repair BD
violations EFT<BD
Fastest Greedy
reassignments
Ordonnancement
des t
aches
Priorite
Temp critique
min(EST+LFT)
ASAP, ALAP
temp critique
min|ASAPstar ALAPend |
Temp critique
max(EFTBD),EFT.BD
D
elai de communication
Le d
elai de communication dans les NOC a un grand impact sur le co
ut total. Le
d
elai darc (Edge delay) d
epend de la taille message, la bande passante et le d
elai
de transmission unitaire. La taille de message par la bande passante nous donne le
nombre dunit
es `
a transmettre. Ils repr
esentent souvent le volume de communication de larc et de la bande passante du lien respectivement. Le d
elai de transmission
93
V
erification des deadlines hard
Hard deadlines sont garanties si et seulement si les pires ET des d
elais de t
aches
et communications sont fournies. ET de t
ache sont souvent donn
ee comme WCET.
Lestimation pessimiste des d
elais de communication n
ecessite la connaissance des
pires conditions dans lesquelles la communication est faite, comme exemple, le volume totale des communications des arcs se partageant un lien [21] ou le chemin
minimal disponible quand lusage des liens est exclusif [41].
94
4.4.2
La minimisation de la consommation d
energie
Par minimisation d
energie on veut dire r
eduction dynamique et statique de la
consommation d
energie par les t
aches et les communications durant le placement
de t
aches et la s
election de voltage. La majorit
e des approches introduites dans
la section 4.3 ciblent la minimisation dynamique d
energie de t
aches. Certaines
dentre elles traitent m
eme les deux probl`
emes de placement de t
ache selon l
energie et le DVS des t
aches. Une seule approche traite SVS pour les liens quand les
approches pour les NOC tendent `
a minimiser l
energie de communication en minimisant les communications du NOC sur le plan volume et distance. Les autres
m
ethodes traitent la r
eduction statique de l
energie.
Placement de t
ache avec optimisation de l
energie
Plusieurs approches on
et
e propos
ees, nous citerons ci-apr`
es quelques unes et
insistant sur limpact de la priorit
e des t
aches, assignation des PE et les objectifs
sp
ecifi
es pour la minimisation d
energie.
G.Varatkar et al.[35] tendent de minimiser l
energie des communications en minimisant le volume des communications interprocesseur. Ils se basent aussi sur le
fait que les communications ne d
epassent pas un certain seuil (crit`
ere de communication). Durant le placement et ordonnancement simultan
es des t
aches, la t
ache
la plus urgente est assign
ee au processeur auquel est affect
ee la t
ache avec laquelle
elle communique le plus tout en v
erifiant les deadlines hard. L
energie de communication d
epend du volume de la communication inter processeur et de la distance
moyenne de communication dans le NOC. Le placement et ordonnancement des
communications ne sont pas trait
es, ce qui ne permet pas de connatre le volume
de communication par lien. Le crit`
ere de communication est utilis
e par ces auteurs
pour veiller `
a ce que le volume local moyen de communication par arc (`
a partir des
arc entrant dans le TG) ne d
epasse pas le volume moyen global de communication
(`
a partir de tous les arcs dans TG) multipli
e par un param`
etre K (0 k 10), arr
et
e
par lutilisateur.
D.Shin et al.[21] tendent de minimiser l
energie de communication en minimisant le volume de communication inter processeur et les distances de communication
dans le NOC durant le placement et lassignation r
eseau. L
energie de communication est la somme des
energies statique et dynamique de tous les liens. L
energie
dynamique des liens d
epend du volume total des communications des arcs partageant le m
eme lien, la vitesse (fr
equence) du lien et la capacit
e de switching du lien.
Le volume de communication de chaque lien est connu apr`
es le placement.
95
Ref
G.Varatkar
et al.
D.Shin et al.
Priorite
-
Task mapping
affectation PE
La plupart de volume
de communication
-
J.Hu et al.
difference
denergie
energie
derni`erement
But
limite les volumes
de communication
min les volumes
de communication
-
4.5. Conclusion
nication. G.Varatkar et al [35] minimise uniquement le volume de communication
inter processeur sans traiter le placement de communication.
4.4.3
Contraintes mat
erielles et m
emoire
4.5
Conclusion
L
etude de l
etat de lart dans le domaine du placement sur les NOC nous a
permis de tirer quelques constations. La premi`
ere est que dans ce domaine, par
placement on d
esigne Assignation, affectation et ordonnancement (AAS). Effectivement dans les travaux vus, et surtout ceux fait r
ecemment, on ne traite jamais
le placement sans ordonnancement ou linverse. Tous les travaux les abordent ensemble. Seulement la mani`
ere change, pour certains ils sont trait
es s
equentiellement, cest-`
a-dire placement ensuite ordonnancement, pour dautres ils sont trait
es
ensemble cest-`
a-dire simultan
ement. Pour chacune de ces approches on a vu quil y
a des avantages et des inconv
enients, m
eme si la deuxi`
eme approche lemporte. Le
deuxi`
eme constat est que ce probl`
eme est trait
e pour atteindre certains objectifs,
comme le temps r
eel, consommation d
energie, m
emoire, etc. Souvent ces objectifs sont cherch
es ensembles. Car, on ne peut minimiser le temps de calcul global
sans minimiser le co
ut de communication global, ou augmenter les performances
97
4.5. Conclusion
du NOC sans penser `
a minimiser la perte de l
energie, etc. Do`
u notre conviction
que ce probl`
eme ne peut
etre solutionner en cherchant des objectifs s
epar
ement
mais dessayer dau moins datteindre quelques objectifs pertinents ensemble. Cest
ce quon appelle loptimisation multi-objectifs qui sera pr
esent
ee dans le chapitre
suivant. En plus de ce qui a
et
e avanc
e, du fait des domaines quon aborde o`
u les
applications peuvent
etre hi
erarchiques o`
u on rencontre des t
aches r
ep
etitives et
dautres non, forc
ement les techniques quon va utiliser seront de familles diff
erentes. Si les m
eta-heuristiques (transformatives) simposent pour lirr
egulier dans
les probl`
emes de grande taille, il faut plut
ot penser `
a des m
ethodes d
eterministes
pour les applications `
a t
aches r
ep
etitives.
98
Chapitre 5
Optimisation multi-objectif
Sommaire
5.1
Loptimisation combinatoire
. . . . . . . . . . . . . . . . . . . . . . . 100
5.2
Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
5.2.2
5.2.3
5.2.4
5.3
Probl`
emes doptimisation multi-objectif . . . . . . . . . . . . . . . . . 105
5.4
Classification des m
ethodes . . . . . . . . . . . . . . . . . . . . . . . . 107
5.5
Approches de r
esolution . . . . . . . . . . . . . . . . . . . . . . . . . . 108
5.5.1
5.6
Conclusion
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
99
Loptimisation
combinatoire consiste `
a trouver une solution optimisant une
fonction co
ut, g
en
eralement pour des probl`
emes complexes de grandes tailles. Dans
le monde industriel, g
en
eralement, les probl`
emes doptimisation sont de nature
multi-objectif puisque plusieurs crit`
eres permettent de caract
eriser une solution.
Pour les SoC, objet de notre
etude, les crit`
eres les plus connus sont le temps de
calcul, la consommation d
energie, les dimensions de la puce, taille m
emoire, etc.
5.1
Loptimisation combinatoire
Un probl`
eme doptimisation combinatoire est d
efini par un ensemble fini de solutions dites r
ealisables (formant lespace de d
ecision ) et une fonction objectif (f )
associant `
a chaque solution de lespace de recherche un co
ut. Cet ensemble de valeurs constitue lespace objectif (Y, nous avons donc f : Y ). Ainsi une solution
r
ealisable x peut
etre d
ecrite par un vecteur de d
ecision (x1 , x2 ,. . ., xn ) `
a laquelle une
valeur objectif est associ
ee `
a f(x). La r
esolution dun probl`
eme doptimisation combinatoire revient donc `
a trouver la ou les solutions(s) r
ealisable(s) de co
ut minimal
6
7
(ou maximal dynamiques ) de dynamiques .
D
efinition 1 : x (x ) est une solution optimale si et seulement si :
x f (x) f (x)
Dans loptimisation combinatoire, la difficult
e majeure r
eside dans le ph
enom`
ene
dexplosion combinatoire (laugmentation de la taille des donn
ees engendre laugmentation exponentielle de la taille de lespace de recherche). Ce qui nous emm`
ene
`
a parler de la classe des probl`
emes NP-difficiles qui correspondent aux probl`
emes
pour lesquels aucun algorithme de r
esolution polynomial en temps nest connu.
Cest cette explosion de la taille de lespace de recherche qui emp
eche lexploration
en un temps raisonnable.
Les m
ethodes utilis
ees en optimisation combinatoire peuvent
etre class
ees en deux
grandes cat
egories :
dun cot
e nous avons les m
ethodes exactes permettant de trouver la (ou les)
solution(s) optimale(s).
dun autre cot
e, nous avons les m
ethodes approch
ees permettant de trouver
une solution de bonne qualit
e mais non optimale.
Du fait que les m
ethodes exactes sont gourmandes en temps de recherche qui augmente dune fa
con exponentielle avec la taille du probl`
eme, elles coupent des parties
6
7
100
5.2
5.2.1
D
efinition
Un vecteur de fonction co
ut, est un vecteur dont chacune de ses composantes est
un objectif. Donc un probl`
eme doptimisation combinatoire multi-objectif consiste `
a
optimiser plusieurs de ces composantes. Si nous notons ? lespace d
ecisionnel, alors
un probl`
eme doptimisation multi-objectif peut se d
efinir par :
M inf (x) = (f1 (x), f2 (x), . . . , fk (x)) n avec x
Avec f la fonction qui associe `
a chaque variable x de un vecteur co
ut et K le
nombre dobjectifs consid
er
es. La figure 5.1montre un exemple avec deux variables
de d
ecision et trois fonctions objectifs.
5.2.2
etre meilleure quune autre sur certains objectifs mais moins bonne sur dautres.
Donc une solution doptimalit
e doit
etre d
efinie pour permettre de cerner un ensemble de solutions optimales. Edge-worth [77] introduit la notion la plus utilis
ee
qui est g
en
eralis
ee par la suite par Pareto [78]. Cest ce qui a permis de parler
maintenant dans ce domaine de Pareto et de solution Pareto optimale (cest-`
a-dire
au sens Pareto). Nous parlerons aussi de lensemble des solutions Pareto optimales.
La d
efinition suivante permet de caract
eriser la notion de dominance entre deux
solutions.
D
efinition 2 : Dans un probl`
eme de minimisation avec K objectifs, une solution x
0
domine une solution x si et seulement si :
(
k [1..k], fk (x) fk (x )
0
k [1..k], fk (x) < fk (x )
Nous noterons x x
Points particuliers
Les points particuliers qui existent dans lespace des objectifs permettent de
borner lensemble Pareto ou encore de discuter de lint
er
et des solutions trouv
ees.
102
5.2.3
Caract
eristique du front Pareto
Solution support
ees/non support
ees
Le front Pareto comporte plusieurs solutions, de meilleur compromis, appel
ees
solutions Pareto Optimales. Nous allons caract
eriser les diff
erents types de solutions
composants ce front. Deux types de solutions le composent.
Les solutions support
ees : leurs images dans Y se trouvent sur lenveloppe
convexe de Y. Chacune de ces solutions peut
etre trouv
ee en optimisant une
agr
egation lin
eaire des objectifs (voir la th
eorie de Geoffrion [79]).
Les solutions non support
ees : elles sont Pareto optimales mais leurs images
dans Y ne sont pas situ
ees sur lenveloppe convexe de Y. Aucune de ces solutions ne peut
etre trouv
ee en optimisant une agr
egation lin
eaire des objectifs
(corollaire du th
eor`
eme de Goffrion).
Nous pouvons donc avoir des cas extr
emes dans lesquels la fronti`
ere Pareto est
e
totalement convexe ou concave (figure 5.5). Souvent le front Pareto sera compos
103
5.2.4
Choix de la m
ethode daide `
a la d
ecision
Dapr`
es nos insertions pr
ec
edentes un probl`
eme multi-objectif nadmet pas une
solution optimale unique mais un ensemble de solutions Pareto optimales, do`
u la
n
ecessit
e de lintervention humaine `
a travers un d
ecideur pour le choix de la solution finale `
a impl
ementer.
Donc, avant de lancer la r
esolution dun probl`
eme multi-objectif, il faut se poser
la question du moment o`
u le d
ecideur intervient. Il existe trois types dapproches
distinctes pour la r
esolution dun probl`
eme multi-objectif [mesmer] :
1. A priori : Le d
ecideur oriente la recherche d`
es le d
ebut en donnant des pr
ef
erences (exemple : agr
egations) `
a chacun des objectifs. Avec cette m
ethode une
solution unique est obtenue. Celle-ci ne convient pas forc
ement `
a ce qui
etait
souhait
e ; par exemple, les solutions non support
ees ne peuvent
etre atteintes
par agr
egation. En revanche lobtention du r
esultat est assez rapide.
104
5.3
Probl`
emes doptimisation multi-objectif
f21 (x) = x2 ;
f22 (x) = (x 1)2 .
Pm
j
= {x | x < ; j = 1 . . . n};
j j
x {0, 1}; j = 1, . . . m.
j
O`
u
xj =
1sil0 elementjestdanslesac;
0sinon.
Uj le poids (volume) de l
el
ement j, et Cij lutilit
e de l
el
ement j par rapport au
crit`
ere i.
B- Applications industrielles La plupart des travaux portant sur loptimisation
combinatoire multi-objectif concernent des applications industrielles. Plusieurs probl`
emes ont
et
e trait
es dans diff
erents domaines dapplication :
106
5.4
Classification des m
ethodes
Dans la litt
erature, une attention particuli`
ere a port
e sur les probl`
emes `
a demi
crit`
eres en utilisant les m
ethodes exactes tels que le branch and bound [85,92],
lalgorithme A* et la programmation dynamique [94]. Ces probl`
emes sont efficaces
pour des probl`
emes de petites tailles. Pour des probl`
emes `
a plus de deux crit`
eres
ou de grandes tailles, il nexiste pas de proc
edures exactes efficaces,
etant donn
e
les difficult
es simultan
ees de la complexit
e NP-difficile, et le cadre multicrit`
ere des
probl`
emes.
Ainsi, des m
ethodes heuristiques sont n
ecessaires pour r
esoudre les probl`
emes de
grandes tailles et/ou les probl`
emes avec un nombre de crit`
eres sup
erieurs `
a deux.
Elle ne garantissent pas de trouver de mani`
ere exacte lensemble PO (Pareto optimale), mais une approximation de cet ensemble not
e PO*. Les m
ethodes heuristiques peuvent
etre divis
ees en deux classes : dune part les algorithmes sp
ecifiques
`
a un probl`
eme donn
e qui utilisent des connaissances du domaine, et dautre part
les algorithmes g
en
eraux applicables `
a une grande vari
et
e de PMO, cest-`
a-dire les
m
etaheuristiques qui feront lobjet de notre int
er
et dans la suite de ce chapitre. Plusieurs adaptations de m
etaheuristiques ont
et
e propos
ees dans la litt
erature pour
la r
esolution de PMO et la d
etermination des solutions Pareto : le recuit simul
e,
la recherche tabou et les algorithmes
evolutionnaires (algorithmes g
en
etiques, strat
egies
evolutionnaire). Les approches utilis
ees pour la r
esolution de PMO peuvent
etre class
ees en trois cat
egories [talbi] (figure 5.9).
5.5
5.5.1
Approches de r
esolution
Les m
ethodes bi-objectif
108
et
Utilisation de la m
etrique de Tchebycheff
Pour trouver une solution Pareto optimale, il est possible de trouver une solution minimisant sa distance au point Ideal Z I ou au point Utopique Z U . Il nous faut
109
Fig. 5.12 Recherche entre le point Ideal et le point Nadir (Gauche), et Division en deux sous
recherches (Droite)
Haimes et al. [96] ont propos
e cette approche pour
etre appliqu
ee pour un
nombre quelconque dobjectifs. Elle consiste `
a borner K-1 objectifs (o`
u K est le
nombre dobjectifs) et `
a optimiser le dernier. Les probl`
emes r
esolus sont de la
forme (en posant M lensemble des contraintes et Mj la contrainte sur lobjectif j) :
(
Cette approche peut trouver toutes les solutions Pareto en choisissant des contraintes
appropri
ees. La m
ethode e-contraintes, quon va voir, est une application de lapproche e-contrainte pour les probl`
emes Bi-objectif. Dabord un des deux extr
emes
est calcul
e, prenons par exemple lextr
eme ayant la plus petite valeur sur f1 . Puis,
cette solution nous donne une borne sur lobjectif f2 . La meilleure solution sur lobjectif f1 respectant cette borne est calcul
ee (figure 5.13). G
en
eralement, lobjectif
le plus facile `
a optimiser peut
etre celui `
a optimiser (f1 dans lexemple) et lautre
sera donc utilis
e comme borne.
En r
ealisant cette m
ethode it
erativement, en utilisant `
a chaque
etape la solution
pr
ec
edente afin de d
efinir la nouvelle borne (figure 5.14), il est possible gr
ace `
a une
m
ethode mono-objectif de trouver lensemble du front Pareto. Cette m
ethode sarr
ete lorsqu`
a une
etape donn
ee aucune solution Pareto nest g
en
er
ee. Dans lexemple
erot
ees (BorneB1, BorneB2,..)
complet illustr
e par la figure 5.15, les bornes sont num
et les solutions sont aussi num
erot
ees en fonction de lordre dans lequel elles sont
trouv
ees.
Cette m
ethode requiert une recherche par solution de lensemble Pareto. Chacune
de ces recherches est born
ee, ce qui signifie souvent l
enum
eration de nombreuses
solutions afin de trouver la solution recherch
ee. De plus, si il existe une m
ethode
de r
esolution mono-objectif efficace lajout de cette borne emp
echera g
en
eralement
son utilisation. Les recherches peuvent donc prendre un temps de calcul important
110
La m
ethode Deux phases
Cette m
ethode appel
ee aussi TPM (Two Phase Method) a
et
e, initialement,
propos
ee par Ulungu et Teghem pour la r
esolution du probl`
eme daffectation BiObjectfi[92]. Cette m
ethode est compos
ee de deux phases, une premi`
ere phase o`
u
sont recherch
ees les solutions support
ees et une seconde o`
u sont recherch
ees les
solutions non-support
ees.
La premi`
ere phase
La premi`
ere phase consiste `
a trouver lint
egralit
e des solutions support
ees. Pour
ceci des agr
egations du type 1 f1 + 2 f2 sont utilis
ees pour v
erifier lexistence dune
solution support
ee entre (dans lespace objectif ) deux autres solutions support
ees.
Pour commencer, les deux extr
emes (qui sont des solutions support
ees) sont calcul
es afin de borner lespace de recherche (figure 5.16.a).
Pour rechercher entre deux solutions support
ees xr et xs, o`
u f(xr) et f(xs) sont leurs
images dans lespace des objectifs (supposons que f1 (xr ) < f1 (xs ) et f2 (xr ) > f2 (xs )),
la direction de recherche sera perpendiculaire `
a la ligne (f (xr ), f (xs )) en fixant
1 = f2 (xr ) f2 (xs ) et 2 = f1 (xs ) f1 (xr ) (figure 5.16.b). Avec cette recherche sil
existe au moins une solution support
ee xt avec f (xt ) entre f (xr ) et f (xs ) dans
lespace objectif alors elle sera trouv
ee. Si une nouvelle solution est trouv
ee alors
r
t
deux nouvelles recherches seront lanc
ees, une entre f (x ) et f (x ) lautre entre f (xt )
et f (xs ) (figure 5.16.c) [Mesmer]. On constate quil y a une forte ressemblance entre
cette m
ethode et la m
ethode dichotomique. Mais ici seules les solutions support
ees sont trouv
ees car aucune contrainte nest ajout
ee, lors dune recherche entre
r
s
deux solutions (x etx ), lune de ces deux solutions peut
etre trouv
ee (f (xr )ouf (xs )),
contrairement `
a la m
ethode dichotomique. A la fin de cette phase, toutes les solutions support
ees sont connues (figure 5.16.d).
5.6. Conclusion
reto. Elles ne peuvent
etre trouv
ees gr
ace `
a une agr
egation des objectifs. Par contre
u
ee entre f (xr ) et
nous savons que toutes solutions non support
ees x avec f (xu ) plac
f (xs ) (o`
u f (xr ) et f (xs ) sont des solutions support
ees) alors f1 (xr ) < f1 (xu ) < f1 (xs ) et
f2 (xr ) > f2 (xu ) > f2 (xs ).
Graphiquement, les solutions support
ees entre f (xu ) et f (xs ) se situent forc
ement
r
s
dans les triangles bas
es sur les solutions f (x ) et f (x ) (figure 5.18.e). Entre chaque
paire de solutions support
ees un triangle de recherche est construit. Tous les triangles sont alors explor
es afin de trouver toutes les solutions non-support
ees (figure
5.19.f ). La m
ethode de recherche `
a lint
erieur de chacun des triangles d
epend du
probl`
eme
etudi
e. A la fin de cette phase, toutes les solutions Pareto sont trouv
ees
(figure 5.19.g).
5.6
Conclusion
112
Chapitre 6
Contribution
Sommaire
6.1
Mod`
ele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
6.2
Formulation math
ematique
6.3
Premi`
ere phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
6.4
6.5
Algorithmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
6.6
Mapping des t
aches r
ep
etitives. . . . . . . . . . . . . . . . . . . . . . . 123
6.7
6.8
6.7.2
6.7.3
6.7.4
6.7.5
. . . . . . . . . . . . . . . . . . . . 133
6.9
. . . . . . . . . . . . . . . . . . . . . . . . 115
Demarche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Le choix dune m
ethode `
a base de GA pour le placement irr
egulier 137
6.9.1
6.9.2
6.9.3
6.9.4
6.9.5
6.9.6
6.9.7
M
emoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
6.9.8
File dattente
6.10 Conclusion
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
113
6.1. Mod`ele
6.1
Mod`
ele
Fig. 6.2
La figure 6.3 repr
esente une application r
eelle dun d
ecodeur vid
eo avec communication.
114
6.2
Formulation math
ematique
115
m est la dur
ee des communications entre les t
aches ti et tj si elles sont plac
ees
dQijpq
respectivement sur les processeurs p et q au mode m. On va voir apr`
es comment ce
param`
etre est calcul
e.
m est la dur
qpq
ee de communication unitaire (bit, octet ou paquet) entre p et q au
mode m.
em
energie consomm
ee par une unit
e de donn
ee (bit, octet ou paquet ) durant
pq est l
son transfert de p `
a q au mode m.
Sil nexiste pas un lien direct entre p et q soit (p, q) = (pi, pj) le chemin (succession
de liens) reliant p `
a q.
Alors la dur
ee dutilisation des liens est :
0
m
dQijpq
=
m
Qij qplpk
ou(pl, pk) (p, q)
La consommation d
energie due `
a la communication des t
aches i et j si elles sont
plac
ees sur les processeurs p et q au mode m en utilisant le m
eme chemin est :
m
Eijpq
=
Qij em
plpk ou(pl, pk) (p, q).
Dans ce mod`
ele on consid`
ere que la consommation d
energie due aux communications intra-processeurs est n
egligeable, et de m
eme pour la dur
ee des communications. On peut aussi consid
erer que ces param`
etres sont inclus dans les temps
dex
ecution et l
energie consomm
ee. Chaque chemin contient un certains nombres
de switch et de routeurs qui consomment de l
energie et causent des dur
ees suppl
ementaires de communication.
Dans les travaux de Ascia et al le probl`
eme est pos
e mais ils nexpliquent pas comment ils le traitent. Dans ce travail on propose une valeur moyenne de consommation
(CSW ) et de dur
ee (dSW ) due `
a lutilisation des switch et routeurs. On peut les estimer en consid
erant les communications en entr
ee et sortie des routeurs comme
stochastique.
116
m
m
Eijpq
= Eijpq
+
Et la dur
ee totale des communications :
0
m
dQm
ijpq = dQijpq +
mn
X
m=m1
dipm +
N X
S
S
X
X
mn
X
m m
Xip
Xjq dQm
ijpq aveci 6= j, p 6= q
Cette
equation peut
etre simplifi
ee car p est fixe et on consid`
ere par hypoth`
ese que
P m
les communications intra-processeur sont n
egligeables. Pour un i fix
e,
Xip = 1
start
Pour une t
ache i, si Di
est son temps de d
ebut, alors son temps de terminaison
f in
est Di , il est donn
e par la formule suivante :
Dif in = Distart + Di
Lordonnancement est obtenu par LS o`
u le d
ebut de lapplication correspond
avec le d
ebut de sa premi`
ere t
ache t1 et sa fin correspond `
a la fin de la derni`
ere
start
t
ache tn . Ainsi, pour la t
ache ti son temps de d
ebut Di
correspond au temps
de fin de la derni`
ere des t
aches qui la pr
ec`
edent. Donc la liste LS est obtenue en
utilisant la strat
egie ASAP (As Soon As Possible).
Dnf in = Dnstart + Dn
est le temps de fin de la derni`
ere t
ache tn .
Ce temps est donc le temps de fin de lapplication Df in qui est donn
e par la
formule suivante :
ebut de lapplication, qui corDf in = Dnstart + Dn Donc si Dstart est le temps de d
respond au temps de d
ebut de la premi`
ere t
ache D1start , et Df in le temps de fin de
117
N X
s
X
mn
X
m
xm
ip ETip +
N X
N X
s
s
X
X
mn
X
m
m
xm
ip xjp Eijpq
m est la consommation de la t
ETip
ache i affect
ee au processeur p au mode m. La
m
ethode propos
ee pour quelle soit utilis
ee apr`
es dans le mapping global, cest-`
a-dire
le GILR doit pouvoir traiter des probl`
emes de grandes tailles. Donc pour converger rapidement lors de la recherche dune solution optimale pour un probl`
eme de
grande taille on doit utiliser un algorithme
evolutionnaire. Dans cette contribution,
on verra par la suite que pour les applications r
ep
etitives un algorithme exact est
choisi. Il sera pr
esent
e par la suite et comment
e. Mais pour le moment on doit traiter le cas dapplication quelconque et de grande taille tout en essayant datteindre
plusieurs objectifs en m
eme temps. Do`
u cette approche hybride bas
ee sur lalgorithme
evolutionnaire et une m
ethode de recherche des communications optimale.
On a `
a chercher un ensemble de solutions sous plusieurs objectifs. On consid`
ere
ici sp
ecialement deux objectifs ; le temps dex
ecution totale et la consommation
d
energie globale. Notre approche est constitu
ee de deux phases. Dans la premi`
ere
on cherche tous les placements qui satisfont le deadline final dlf inal . Do`
u lors de
cette phase on doit fixer le mode dex
ecution (au mode modmax) et chercher tous
les placements dont le temps total dex
ecution dlf inal .
Ensuite, dans la deuxi`
eme phase on essaye doptimiser la consommation d
energie
en variant les modes cest-`
a-dire en ralentissant les processeurs et les communications.
Les deux phases ont `
a atteindre aussi un autre objectif qui consiste `
a loptimisation
des communications. Cest-`
a-dire que pour toute solution sassurer quon a choisi
les communications les moins co
uteuses en temps et
energie.
6.3
Premi`
ere phase
elev
ee (m = modmax ), alors l
equation 3 devient :
0
S
S
m m
m
Di = dipm + N
j=1
p=1
q=p+1 Xip Xjq dQijpq avec i 6= j, p 6= q
Pour cette phase on propose une technique bas
ee sur les AG hybrid
ee avec une
heuristique de recherche du chemin optimal dans larchitecture mat
erielle. Le choix
de cette m
ethode est justifi
e, apr`
es, par rapport `
a dautres m
ethodes, en plus,
du fait quelle permet de prendre en consid
eration le multi-objectif. Avec plus de
pr
ecision, un algorithme
evolutionnaire front Pareto (SPEA Strength Pareto Evolutionary Algorithm) qui maintient un ensemble externe pour pr
eserver les solutions
non domin
ees rencontr
ees avant. Le chromosome est une repr
esentation de la solution du probl`
eme qui dans ce cas d
ecrit le mapping. Chaque
el
ement dex
ecution
dans le mesh lui est associ
e un g`
ene qui encode la t
ache qui lui est affect
ee. Si
on a un NoC en Mesh de S processeurs et une application avec N t
aches alors le
chromosome est form
e de S g`
enes. Chaque g`
ene contient N bits.
Comme exemple prenant 2 processeurs et 3 t
aches, alors le chromosome 101010
repr
esente le mapping de 3 t
aches : les t
aches 1 et 3 sont affect
ees au processeur 1,
la t
ache 2 affect
ee au processeur 2 (le premier g`
ene est 101 et le second est 010).
On doit ins
erer une contrainte qui sp
ecifie lassignation unique de chaque t
ache,
cest-`
a-dire une t
ache ne peut
etre mapp
ee (ou affect
ee) qu`
a un seul processeur `
a
la fois et elle ne peut
etre ex
ecut
ee qu`
a un seul mode.
S M odmax
X
X
p=1
m
Xip
= 1, ti T
m=1
n
On it`
ere cette phase k fois, o`
u k = 10
si n > 100 sinon k = 3 (apr`
es exp
erimentations),
n
avec une population = 5 . Les r
esultats de cette
etape sont tous les placements ayant
des co
ut dex
ecution total dlf inal .
Ayant un chromosome chri , on note par D0 (chri ) la dur
ee de calcul selon l
equation
6. Ainsi :
0
S = {chri /D (chri ) dlf inal } est lensemble de tous les placements ayant D
dlf inal .
Ce r
esultat sera lentr
ee de la phase 2. Avant de la pr
esenter on doit aussi savoir
comment on peut augmenter la vitesse de recherche de cette
etape ou autrement
dit, comment diminuer le temps de convergence durant cette phase. Comme en le
sait toute heuristique ou m
ethode it
erative d
epend du choix de ses param`
etres et
de la solution initiale. Pour notre algorithme on a essay
e de placer les t
aches qui
communiquent le plus sur des processeurs voisins ou carr
ement sur le m
eme processeur Afin de sassurer que dans la population initiale on a quelques bons individus.
(ti ) = {tj T ouV | (ti , tj ) E}
Et
119
6.4
Seconde phase
Dans cette
etape on cherche `
a optimiser l
energie consomm
ee pour les placements trouv
es lors de l
etape 1. Etant donn
e S, lensemble des solutions de l
etape
pr
ec
edente, comme entr
ee de cette phase. Comme sortie de celle-ci on obtient lensemble S. Ce dernier
etant lensemble des solutions non domin
ees qui minimisent
la consommation et v
erifient le deadline final dlf inal comme contrainte. Pour cette
phase on d
efinit un autre codage d
eriv
e`
a partir des chromosomes de S. Ainsi si on
a M modes de fonctionnement des processeurs, le chromosome maintenant va
etre
constitu
e de S g`
enes tel que chacun est constitu
e de n M bits. Si le bit k + i du
k
g`
ene j a comme valeur 1 alors Xij = 1 ; cest `
a dire que la t
ache i est mapp
ee sur le
processeur j et sex
ecutant au mode k.
On d
efinit une application qui transforme un chromosome de S vers la phase 2.
00
120
6.5. Algorithmes
101010. Dans l
etape 2 on peut avoir p1 et p2 sex
ecutant `
a deux modes diff
erents.
0
Ainsi si 101010 S alors
00
00
6.5
Algorithmes
Pour l
etape 1, on utilise un algorithme bas
e sur le GA qui a les m
emes
etapes
que nimporte quel algorithme
evolutionnaire (figure 6.6). Avant dexpliciter lalgorithme, on essaye de pr
esenter et de d
ecrire les phases les plus importantes le
constituant. On commence par la m
ethode principale (son corps) qui est inspir
e du
GA (figure 6.7).
6.5. Algorithmes
4 G
en
erer une solution initiale en se basant sur la technique de la phase 1
5 R
ep
eter
6 Pour chaque population faire
7 Pour chaque chromosome faire
8 V
erifier que chaque t
ache est affect
ee `
a un seul processeur
8 Traiter les contraintes
9 Calculer le chemin le plus court
10 Calculer le temps global dex
ecution
11 Si le chromosome ne v
erifie pas les contraintes tel l
equilibrage, taille m
emoire,
largeur de bande et file dattente ajouter des p
enalit
es `
a sa fitness
12 Cr
eer une nouvelle population en utilisant croisement et mutation
13 Utiliser la fitness pour s
electionner le meilleur
14 Jusqu`
a crit`
ere darr
et v
erifi
e
15 Fin
Algorithme de l
etape 2
1 D
ebut
2 Initialisation
3 Soit SS lensemble des solutions trouv
ees lors de la phase 1 et d
eriv
ees selon la
description donn
ee en 6.4
4 Soit BestCostE : consomation d
energie la plus petite obtenue dans la phase 1
(dans cette phase tous les processeurs sex
ecutent `
a vitesse max) et OPT la solution
correspondante `
a BestCostE alors SS = SS OP T
5 Tantque SS 6= faire
6 Selectionner Si ; SS = SS Si
7 Calculer le temps dex
ecution D(Si ) correspondant
8 SI (D(Si) < dlf inal ) alors
9 Calculer la consommation E(Si)
10 FINSI
11 SI (E(Si ) < BestCostE) alors BestCostE = E(Si ) et OP T = Si FSI
12 FINTANQUE
13 (Retourner (Best(OPT, BestCostE))
14 FIN.
Algorithme du premier bon choix de l
etap1
1 D
ebut
2 Soit T T = T lensemble des t
aches et P P = P lensemble des processeurs
3 Calculer (ti ) = {tj T ouV | (ti , tj ) E} pour toutes les t
aches de TT. Cest
lensemble des voisins de chacune delle
4 Calculer (pi ) = {pj P orU | (ti , tj ) F } pour toutes les t
aches de PP. Cest
122
6.6
Mapping des t
aches r
ep
etitives.
Les t
aches r
ep
etitives ont la particularit
e de pr
esenter les m
emes caract
eristiques : nombre de cycles dex
ecution et la taille des donn
ees trait
ees. En plus ces
t
aches sappliquent sur des donn
ees de m
eme dimension et structures, quon appelle
motifs. La figure suivante illustre lapplication de d
etection de contour. Une image
est un tableau de valeurs
el
ementaire appel
ees pixel. La d
etection de contour dune
image est r
ealis
ee par une convolution . Une convolution est une op
eration simple
qui produit chaque pixel de limage de sortie `
a partir dune combinaison lin
eaire de
certains pixels de limage dentr
ee. Les cfficients de la combinaison lin
eaire sont
donn
es dans une matrice de coefficient (figure 6.8).
etre calcul
e selon la formule suivante :
T otaltaches
X=
M otiftaches
D
efinition : La r
ep
etition dans un motif est le nombre de placements (AAS) de
communications et t
aches r
ep
et
es dans un m
eme motif avec une m
eme quantit
e de
donn
ees en entr
ee avant de commencer les sorties du motif. On lappelle aussi motif
inter-r
ep
etition.
Lexemple de la figure 6.12 donne des motifs illustr
es avec le diagramme de Gantt,
Fig. 6.12 Exemple de probl`eme doptimisation combinatoire multi-objectif
o`
u la partie sup
erieur du diagramme repr
esente lAAS des communications et la
partie inf
erieure lAAS des t
aches ou calculs.
Figure 6.12 : lAAS des communications et t
aches avec 5 processeurs. A : une seule
inter-r
ep
etition, B : Deux inter-r
ep
etitions, et C : trois inter-r
ep
etitions.
Objectif : lobjectif derri`
ere linter-r
ep
etition est de trouver le bon nombre de t
aches
quon r
ep`
ete au sein dun m
eme motif. Les crit`
eres quon a retenus sont la diminution de la consommation d
energie et lutilisation maximale des ressources tout en
respectant les deadlines.
Soit dli = dlt le deadline dune t
ache. Il est aussi celui de toutes les t
aches car elles
sont identiques.
125
W CN m
dijm = f m ij o`
u W CNijm est le nombre de cycles n
ecessaires `
a la t
ache i pour
j
m
sex
ecuter sur le processeur j au mode m.l`
a aussi W CNij varie uniquement selon le
mode dex
ecution des processeurs.
fjm est la fr
equence dhorloge du processeur j au mode m.Elle est aussi la m
eme
pour tous les processeurs `
a un m
eme mode.
Ainsi si dans un motif, apr`
es ordonnancement, la t
ache k est la derni`
ere dans
lex
ecution et dlk est son deadline alors dlf inalmotif = dlk . Il est le temps avant lequel
se termine le motif et qui correspond au temps de fin de la derni`
ere t
ache du motif.
Qij est le volume de donn
ees
echang
ees entre les t
aches ti et tj .Il est le m
eme
pour toute les t
aches.
0m
dQijpq est la dur
ee des communications entre les t
aches ti et tj si elles sont plac
ees
respectivement sur les processeurs p et q au mode m. ce temps ne d
epend pas de
la nature des liens car ils sont identiques mais uniquement de la distance ou la
longueur du chemin reliant les processeurs sur lesquels sex
ecutent ces t
aches. On
va voir apr`
es comment ce param`
etre est calcul
e.
m
q est la dur
ee de communication unitaire (bit, octet ou paquet) entre p et q au
mode m.
em est l
energie consomm
ee par une unit
e de donn
ee (bit, octet ou paquet ) durant
son transfert de p `
a q au mode m.
Sil nexiste pas un lien direct entre p et q soit (p, q) = (pi, pj) le chemin (succession
de liens) reliant p `
a q.
Alors la dur
ee dutilisation des liens est :
0
m
dQijpq
=| (p, q) | q m
m
dEijpq
=| (p, q) | em
126
m
m
Eijpq
= Eijpq
+
Et la dur
ee totale des communications :
0
m
dQm
ijpq = dQijpq +
mn
S
S
N
m m
m
m
Di = mn
m=m1 Xip Xjq dQijpq avec i 6= j, p 6= q
q=p+1
p=1
m=m1 dip +
j=1
Cette
equation peut
etre simplifi
ee car p est fixe et on consid`
ere par hypoth`
ese
P m
que les communications intra-processeur sont n
egligeables. Pour un i fix
e, Xip = 1
start
Pour une t
ache i, si Di
est son temps de d
ebut, alors son temps de terminaison
f in
est Di , il est donn
e par la formule suivante :
Dif in = Distart + Di
127
N X
s
X
mn
X
m
xm
ip ETip +
N X
N X
s
s
X
X
mn
X
m
m
xm
ip xjp Eijpq
Etant donn
ee que le nombre de processeurs est donn
ee dans une architecture
r
eguli`
ere et qui est souvent raisonnable, alors le nombre de t
aches constituant le
motif est lui aussi raisonnable par rapport au nombre total des t
aches r
ep
etitives.
Pour ce placement on a propos
e une approche bas
ee une m
ethode exacte pour atteindre les objectifs. Pour optimiser les chemins de communication on a, comme
pour le GI, utilis
e une approche bas
ee sur dijkstra.
La m
ethode propos
ee pour solutionner ce probl`
eme est une m
ethode hybride constitu
ee dune part dune m
ethode exacte permettant de trouver le meilleur placement
selon plusieurs objectifs. Et dautre part dune m
ethode bas
ee sur Dijkstra pour
trouver le mapping des communications. Une fois loptimisation AAS, dun motif,
obtenue on peut aborder le placement de toutes les taches r
ep
etitives.
D
efinition : Le processus de r
ep
etition dun motif X fois est appel
e r
ep
etition de
motif, o`
u:
X=
T otaltaches
M otif taches
Objectif : g
en
erer le placement de toutes les t
aches r
ep
etitives.
Donc la r
ep
etition dun motif est un moyen pour g
en
erer lAAS complet dun
nombre donn
ee de t
aches
egale `
a T otaltaches X fois sans augmenter la complexit
e
des traitements. Ceci est bien illustr
e par la figure 6.11.
Algorithme de placement des t
aches r
ep
etitives
1 D
ebut
2 Introduire le nombre de PE, S et la matrice de topologie
3 Introduire les caract
eristiques de larchitecture et des t
aches r
ep
etitives
4 M otiftaches = 0 ; totalslack =
129
6.7.
5 Pour N = S `
a N = S S faire
6 utiliser la m
ethode exacte pour trouver le placement au mode max des processeurs
7 Utiliser lalgorithme doptimisation des communications
8 calculer totalN slack selon la formule
9 Si totalN slack < totalslack alors totalslack = totalN slack et M otiftaches = N sinon rien fsi
10 fin pour
11 faire changer le mode des processeurs
12 Calculer pour chaque placement la dur
ee dex
ecution et l
energie selon les
equations 12 et 13
13 Retenir le front Pareto ou les solutions non domin
ees
14 FIN.
6.7
130
6.7.
de sp
ecification des routeurs. A cause de la logique simple des routeurs ce type
de routage fournit une latence faible quand le r
eseau nest pas congestionn
e.
Et dun cot
e impl
ementer des routeurs adaptatifs n
ecessite plus de ressources.
En plus dans un routage adaptatif les paquets doivent respecter lordre dutilisation ce qui n
ecessite limpl
ementation dautres protocoles qui ne peuvent
qualourdir la deuxi`
eme solution et la rendre co
uteuse.
Estimation du trafic : La plupart des NoC sont d
evelopp
es pour une seule
application ou au plus pour une petite classe dapplications. Par cons
equent
le concepteur a une id
ee sur les communications et les caract
eristiques de la
plateforme cible, ce qui lui permet dutiliser ses informations pour bien placer
les IP et trouver un routage
evitant les congestions. Cest ce quon a fait dans
ce travail en v
erifiant pour chaque plus court chemin trouv
e, en terme de co
ut,
la non saturation de la bande passante. Ce qui rend dans ce type de syst`
eme
lavantage du routage adaptatif insignifiant.
Donc le concepteur quand il a `
a choisir entre les deux concepts il doit analyser
les sp
ecificit
es du domaine dapplication. Dans notre cas, pour les raisons quon a
avanc
e auparavant, on a opt
e pour le routage d
eterministe ou off-line car le deuxi`
eme
napporte pas davantages. Au contraire il complique la conception du syst`
eme et
alourdis son soft ce qui est tr`
es d
econseill
e dans les SoC. Dun autre cot
e avec le
premier type de routage on a une estimation `
a lavance des co
uts de communication du moment o`
u ce co
ut est calcul
e comme
etant la somme des co
ut des liens qui
constitue le chemin de routage.
6.7.1
G
en
eration de chemin
Le probl`
eme de g
en
eration de chemin on la formul
e comme le plus court chemin
`
a origine unique. Ce probl`
eme consiste `
a trouver un chemin entre deux sommets
tels que la somme des valeurs des arcs le constituant soit minimale. Dune fa
con
plus formelle, ayant un graphe valu
e o`
u V est lensemble des sommets, E lensemble
des arc et une fonction d
evaluation qui associ
e `
a chaque arc une valeur r
eelle :
w : E R. La valeur du chemin = (v1 , v2 , . . . , vk ) est la somme des valeurs des arcs
le constituant.
W () =
k
X
w(vi1 , vi )
i=1
(u, v) =
Le plus court chemin entre les sommets uetv est df ini par n0 importe quel chemin
avec un cot :
131
6.7.
W () = (u, v)
Si (u, v) = alors il nexiste pas de chemin entre ces deux sommets.
les diff
erentes variantes des probl`
emes du plus court chemin
Les variantes suivantes des probl`
emes du plus court chemin peuvent
etre r
esolues par lalgorithme du probl`
eme de lorigine unique.
Origine unique : consiste `
a chercher tous les chemin `
a partir dun sommet origine
unique `
a tous les sommets v de V ( cest `
a dire one to n).
Probl`
eme du plus court chemin pour cible unique : Cest trouver le chemin le plus
court vers un sommet cible et `
a partir de tous les sommets de V. ( n to one ).
Probl`
eme du plus court chemin entre une paire de sommets : cest le plus court
chemin entre les sommets u et v. Ce probl`
eme a une solution si le probl`
eme dorigine unique donne des solutions. (c-`
a-d one to one).
Probl`
eme du plus court chemin entre toutes paires de sommets : trouve le plus
court chemin entre de u vers v pour les couples de sommets (u, v) V V . (c-`
a-d n
to n ).
Le tableau suivant donne les algorithmes plus connus pour ce type de probl`
eme.
Tableau 1 : Quelques algorithmes importants utilis
es pour r
esoudre le probl`
eme
du plus court chemin `
a origine unique.
On peut citer aussi une m
ethode tr`
es utilis
ee dans les r
eseaux et surtout dans
les r
eseaux `
a Mesh, cest la m
ethode X-Y ou Nord-Est. Elle est facile `
a impl
ementer
et converge rapidement. Seulement cette m
ethode donne le plus court chemin en
terme de nombre darcs et non pas la somme des valeurs.
Algorithme de Dijkstra
1 D
ebut
2 Introduire G,W,s
3 Initialise origine unique (G, s)
4 S
5 Q V [G] /* Q est une liste de priorit
e contenant V S */
6 Tantque Q 6= faire
7 U EXT RACT M IN (Q)
8 S S {u}
9 Pour chaque sommet v Adj[u] faire
10 relax (u,v,w)
11 sid[v] > d[u] + w(u, v) alors d[v] d[u] + w(u, v)
12 fsi
132
6.7.
13 fpr
14 ftq
15 retourner un ensemble de liens (chemin)
16fin
Etant donn
ee que lalgorithme de placement des communications est bas
e directement sur lalgorithme de recherche du plus court chemin, il est important de
connatre sa complexit
e car `
a chaque placement on fait appel `
a lalgorithme de
placement des communications. La complexit
e de notre algorithme AAS d
epend
etroitement de la complexit
e en temps de lalgorithme de placement des communications. Le tableau suivant donne les diff
erentes complexit
es de lalgorithme selon
la structure de donn
ees choisie.
T emps = (V ).TEXT RAIT M IN + (E).TDECREASEKEY
Q
Array
Binaire
Fibonacci
T EXT RAIT M IN
O(V)
O(lgV)
O(lgV)
T DECREASE KEY
O(1)
O(lgV)
O(1)
Tab. 6.1 Tableau 2 : Implementation de lalgorithme de Dijkstra avec des structures de donnees
differentes
Donc lalgorithme `
a base de Dijkstra a
et
e utilis
e pour solutionner les trois probl`
emes de base suivants :
Premi`
erement : A partir dune topologie dinterconnexion quelconque (Mesh, arbre,
cube, etc.) Construire un ensemble de PE selon leur distance `
a partir du PE racine.
Deuxi`
emement : A partir dun ensemble de chemins courts, trouver celui qui a le
co
ut minimal.
Troisi`
emement : sassurer de l
equilibrage de charge entre les diff
erents liens de
communications du r
eseau.
L
equilibrage de charge du r
eseau ou
equilibrage des communications consiste `
a
sassurer que les communications utilisent tous les liens du r
eseau et non pas uniquement certains. Ceci a lavantage dexploiter toutes les ressources du NoC et par
l`
a de minimiser le risque de la congestion.
6.7.2
Probl`
eme de g
en
eration du chemin
Apr`
es avoir expliqu
e le fonctionnement des diff
erentes parties constituant notre
solution du probl`
eme du plus court chemin, on peut pr
esenter maintenant notre
algorithme. La strat
egie quon a arr
et
ee et qui correspond `
a la r
ealit
e du probl`
eme
cest-`
a-dire de g
en
erer les plus courts chemins `
a partir dune origine unique et une
133
6.7.
cible unique.
u les valeurs des arcs sont
Formulation : A partir dun graphe direct G = (V, E), o`
toutes sup
erieures ou
egales `
a z
ero, on essaye datteindre lobjectif consistant `
a
trouver le chemin le plus court entre deux sommets o`
u le co
ut est
egale `
a la somme
des co
uts de tous les arcs le constituant. Ainsi, ayant un graphe valu
e constitu
e
dun ensemble V de sommets, dun ensemble E darcs et dune fonction d
evaluation w : E R. La valeur du chemin = v0 , v1 , .., vn est la somme des valeurs des arcs
le constituant. Lalgorithme suivant r
esume les diff
erentes
etapes de lalgorithme de
g
en
eration dun chemin.
Algorithme de g
en
eration
1 D
ebut
2 Pour p = 1 `
a S faire
3 Si P E = RootP E alors return aucun chemin nest exig
e
4 Sinon appeler Dijkstra (rootPE,PE, Gparta)
5 Retourne le chemin (P tsi ) c-`
a-d lensemble des liens
6 Faire lordonancement des paquets
7 V
erifier la contrainte de charge et de bande passante
8 Si les contraintes sont v
erifi
ees faire le mapping des communications sur les liens
sinon rien
9fin
6.7.3
134
6.7.4
Probl`
eme du routage des paquets
Ce probl`
eme joue un r
ole central dans lordonnancement des t
aches et surtout
les ordinateurs parall`
eles de grande taille dans le sens du nombre de processeurs et
de la longueur de son r
eseau dinterconnexion. Le routage des paquets consiste `
a
d
eplacer les donn
ees dun endroit `
a un autre dans le r
eseau. Le but est de transf
erer
tous les paquets `
a leur destination aussi rapidement que possible et avec un minimum dattente si cest possible. Ce probl`
eme on la formul
e de la fa
con suivante.
Ayant des paquets P ksi avec des chemins sp
ecifi
es P tsi (path) dans le r
eseau, o`
u
chaque paquet a une source Si et une destination di , lobjectif est dobtenir un ordonnancement du routage direct tel que `
a un instant ti pour chaque paquet P ksi ce
dernier est inject
e pour son transfert direct `
a sa destination sans collision et avec
un minimum de temps.
Le temps de routage : soit ti linstant dinjection du paquet P ksi dans le r
eseau. Et
| P i | la longueur du chemin de routage associ
e `
a ce paquet. Alors le paquet P ksi
atteint sa destination `
a linstant ti + | P i |(le temps total du routage dun paquet) et
le dernier paquet arrive `
a linstant maxi{ti + | P i |}.
Lordonnancement des paquets dans notre approche AAS
1 D
ebut
2 Pour p = 1 `
a S faire
3 Si P E = RootP E alors return aucun chemin nest exig
e
a
4 Sinon appeler Dijkstra (RootPE,PE, Gpart )
5 Return lensemble des liens constituant le chemin P tsi
6 Associer lensemble paquet P ksi au chemin P tsi
7 D
efinir les temps de d
ebut denvoie et fin du paquet `
a travers chaque lien du
chemin
8 Envoie des donn
ees
9fin
Gparta partie du r
eseau correspondant au nud dans le graphe hi
erarchique
6.7.5
Temps dex
ecution
6.8
mapping Global
Dans la d
emarche quon propose pour r
esoudre le probl`
eme du mapping dans
sa globalit
e (cest `
a dire le GILR), on essaye de faire laffectation dun HTG (Hierarchical Task Graph) `
a un HNT (Hierarchical Network Graph) avec des niveaux
identiques. Dans notre approche on simpose certaines hypoth`
eses quon cite ciapr`
es et peuvent
etre enlev
ees dans de futurs travaux :
135
Probl`eme
Probl`eme de routage arbitraire
sur une topologie en arbre arbitraire
Avec n nuds : permutations
Avec chemin arbitraire
Avec n entree : destinations
et permutations aleatoires
Avec n nuds : destinations
et permutations aleatoires
Avec packets de donnees infnies et
source et destination fixes
complexite
O(C+D)
O(n1/2 )
O(C + D)
O(lgn)
O(lgn)
O((E + M )M logM )2
ou O(C + D)
6.8.1
D
emarche
Pour trouver le mapping optimal du HTG sur le NHT on commence par chercher le mapping de tous les noeuds compos
es et r
ep
etitifs dans le HTG sur les
noeuds compos
es et r
eguliers du HNT `
a lavant dernier niveau. Si on a N niveaux,
on commence par le niveau N 1. Quand tous les mapping des nuds compos
es de
ce niveau sont trouv
es on proc`
ede de m
eme pour le niveau N 2 en consid
erant les
mapping trouv
es au niveau N 1 comme contraintes. Apr`
es on fait de m
eme pour le
niveau N 2 et ainsi de suite jusqu`
a atteindre le niveau 1 ou la racine. Les grandes
lignes de cette d
emarche sont dans lalgorithme quon propose ci-apr`
es :
Algorithme de parcours des arbres HTG et HNT.
Algorithme de parcours des arbres HTG et HNT
1 D
ebut
2 l = 1
3 Au niveau N 1 on construit deux ensembles
STNC1 = {EnsembledesnoeudscompossdansleniveauN 1inHT G}
SPNC1 = {EnsembledesnoeudscompossdansleniveauN 1inHN T }
N l
4 Pour chaque tci STNCl on calcule (tci ) et de m
eme pour pcj SpC
136
6.9
Le choix dune m
ethode `
a base de GA pour le placement
irr
egulier
6.9.1
param`
etres de lalgorithme g
en
etique
Nombre de g`
enes
On a une configuration de S SOCs (processeurs) et de N t
aches. On prend la
taille dun chromosome en g`
enes : Ch = S N .
Le codage
Dans les sections 6.3 et 6.4 on d
ecrit comment se fait le codage. On a surtout
insist
e sur le fait quon a opt
e pour de type de codage : le premier codage utilis
e
137
m
Xip
= 1ti T
m=1
Chri+N LP ourL{indicesdesbitsconcerns}
L=0
D
etermination de la population initiale
Pour la premi`
ere population ou population initiale on a opt
e pour lal
eatoire total. Quelques chromosome sont choisis al
eatoirement mais pour compl
eter le nombre
de chromosome constituant la population initiale on choisit quelques chromosomes
138
6.9.2
Choix des op
erateurs g
en
etiques
S
election
Pendant la cr
eation des g
en
erations, les premiers chromosomes `
a
etre choisis
pour la procr
eation sont les deux meilleurs de la g
en
eration parent. Il sagit dune
adaptation de la strat
egie
elitiste. Les autres chromosomes seront choisis selon le
principe de la roulette.
Croisement
Le croisement est le processus selon lequel les g`
enes de deux chanes
elues sont
interchang
es afin de g
en
erer une nouvelle population.
Il existe plusieurs type de croisement : croisement en un seul lieu, croisement en
deux lieus, croisement uniforme.
On a opt
e pour le croisement uniforme, parce que si on croise deux bons chromosomes, alors on garde les points communs entre ces deux derniers et on a une
probabilit
e de 50Le croisement des deux
el
ements issus de la s
election
elitiste donnera deux enfants et celui des quatre choisis par la roulette donne douze enfants.
Si le nombre des individus choisis est sup
erieur au nombre denfants g
en
er
es alors
on compl`
ete les chromosomes manquants al
eatoirement.
Mutation
Pendant le processus de mutation, un seul bit est choisi al
eatoirement parmi
lintervalle [1, S N ] avec une probabilit
e de P m . La valeur du g`
ene quon va muter
est choisie au hasard. Selon ce principe, il est possible quun g`
ene ne subisse aucune
mutation puisque sa valeur initiale peut
etre choisie de nouveau par le processus de
139
6.9.3
Il est n
ecessaire de pr
eciser que les valeurs de la fonction fitness doivent
etre non
n
egatives pour que le meilleur individu re
coive la valeur fitness maximum, pour cela
des transformations simposent :
(
Z : correspond `
a la fonction objectif.
6.9.4
Fonction d
evaluation
Un des
el
ements cl
es de lalgorithme g
en
etique est la fonction d
evaluation (Fitness ou Fonction objective).
Le probl`
eme de placement des t
aches dune application sur un NOC revient `
a minimiser la fonction objective.
Il peut
etre formul
e de la mani`
ere suivante :
Etant donn
e:
Le graphe dapplication (taille de la tache, m
emoire dex
ecution requise, bande
passante requise pour un message et taille du message).
Le graphe darchitecture (
equilibrage de charge (charge minimum et maximum), m
emoire disponible dans un SOC, taille de la file dattente, bande
passante et vitesse de transmission des bus).
Minimiser :
Le co
ut total Z.
Par choix :
Du placement des taches sur les diff
erents SOCs.
Ce qui est
equivalent `
a:
"
M inimiserZ = sumnj=1 Cj Xj i = 1, . . . , m;
xj {0, 1}j = 1, . . . n.
La d
etermination de la fonction Fitness (Fonction dadaptation ou
evaluation) passe
par plusieurs
etapes. Chaque fois quune population est g
en
er
ee la fonction fitness
de chaque un de ses chromosomes doit
etre
evalu
ee .Les
etapes d
evaluation sont
les suivantes :
140
F itness =
CM AX Csicontrainterespecte;
CM AX C Pequi sil0 quilibragedechargen0 estpasrespect;
CM AX C Pmem silammoiren0 estpasrespecte;
CM AX C Pf il silaf iled0 attenten0 estpasrespecte;
0siC < C P nalit.
141
6.9.5
Formalisation du probl`
eme de placement :
Pour ex
ecuter une application r
epartie, il est n
ecessaire de d
eterminer le meilleur
placement des taches qui la composent sur larchitecture NOC cible tout en essayant datteindre les objectifs (temps dex
ecution, consommation d
energie) sous
contraintes d
equilibrage de charge, m
emoire disponible, de taille de la file dattente
et bande passante ce qui va conduire automatiquement a la r
eduction de la consommation d
energie.
D
efinition des contraintes
Equilibrage de charge
tq T, Si S |
n
X
q=1
6.9.6
Bande passante
b(mj ) b0 (br )
Cest la quantit
e dinformations qui peut passer dans un lien par unit
e de temps, et
dans notre probl`
eme la bande passante requise pour envoyer un message doit
etre
inf
erieure ou
egale `
a celle du lien.
142
6.10. Conclusion
6.9.7
M
emoire
tq T, Si S | Si = F (tq ) M em0 (tq ) > mem(Si ) (C = C Pmem )
La m
emoire dex
ecution requise par une t
ache doit
etre inf
erieure ou
egale `
a
celle disponible dans le processeur auquel elle a
et
e affect
ee par le placement. La
p
enalit
e de la m
emoire dex
ecution est calcul
ee par lop
eration suivante :
Cmax
Pmem = C .
6.9.8
File dattente
tq T, Si S | Si = F (tq )
n
X
q=1
6.10
Conclusion
143
Chapitre 7
144
7.1. Introduction
7.1
Introduction
7.2
Sp
ecification des besoins
7.3
146
7.4
Justification du choix de la m
ethode pour le placement irr
egulier de grande taille
Nombre
de variables
12
20
40
100
Recuit simule
Temps(ms) Co
ut
46
73
49
150
197
123
405
2304
Algorithme genetique
Temps(ms)
Co
ut
32
72
57
132
172
101
331
2056
%
Temps
43%
1,2%
14,5%
22%
%
Co
ut
1%
13%
21%
12%
Tab. 7.1 Sommaire des resultats comparatifs obtenus par recuit simule et AG
Donc la proposition dun algorithme `
a base du g
en
etique peut
etre tr`
es efficace
`
a condition que les param`
etres soient bien arr
et
es. Cest quon essayera de cerner
147
7.5
148
7.6
Pr
esentation des organigrammes du logiciel
Nous pr
esentons maintenant les organigrammes qui d
ecrivent, de mani`
ere g
en
erale, notre logiciel.
7.6.1
Organigramme repr
esentant les principales
etapes du logiciel
7.6.2
Organigramme repr
esentant le fonctionnement de lalgorithme g
en
etique (A.G)
Les algorithmes g
en
etiques suivent tous un principe commun et limpl
ementation
pr
esent
ee ny fais pas d
efaut : une phase de constitution de population initiale,
suivie de phases de r
eg
en
eration de populations gr
ace aux op
erateurs g
en
etiques de
s
election, mutation et croisement, comme lindique la figure 7.2. Chaque g
en
eration
produira, en principe, des placements plus performants que les pr
ec
edents. Plus
le nombre de g
en
erations est grand, plus la solution se raffinera et la derni`
ere
g
en
eration devrait contenir une bonne solution. Pendant le processus de cr
eation,
deux populations existent en parall`
ele : la population courante, do`
u sont puiser
les chromosomes parents, et la nouvelle g
en
eration en voix de r
ealisation, o`
u se
retrouverons les chromosomes enfants.
7.6.3
Organigramme repr
esentant le processus d
evaluation des individus
dune population
150
7.6.4
7.7
Exp
erimentations pour d
eterminer les valeurs des param`
etres
de lalgorithme
Taille de la
Nombre de
Probabilit
e
Probabilit
e
population : 20 chromosomes
g
en
erations : 40
de croisement : 0,8
de mutation : 0,25
Etant donn
e le grand nombre dexp
eriences possibles, nous avons d
ecid
e de ne
faire varier quun seul param`
etre `
a la fois, les autres conservent les valeurs de la
configuration de r
ef
erence.
7.7.1
La figure 7.5 pr
esente leffet de la taille du probl`
eme. Nous avons effectu
e six
exp
eriences de tailles diff
erentes : 15, 25,45, 65, 80, 95. On constate quavec une population de 20 chromosomes la convergence devient lente. On a d
eduit `
a partir de
ce tableau quil y a corr
elation entre la taille de la population (nombre de chromosomes) et la taille du probl`
eme. Ceci nous a amen
e`
a d
edier une partie de ce travail
pour d
eterminer les intervalles dans les quels on choisi les tailles des populations
selon la taille du probl`
eme.
151
7.7.2
Effet du nombre de g
en
erations
Dapr`
es la figure 7.6, on serait port
e`
a croire quil nest pas n
ecessaire d
etendre
la recherche au del`
a de 20 g
en
erations. En effet les exp
eriences tendent plut
ot
`
a confirmer quun nombre
elev
e de g
en
erations pourrait produire de meilleures
solutions en termes de fitness, mais ne d
et
eriorera pas la meilleure solution, une
fois trouv
ee.
7.7.3
Effet de la population
La prochaine s
erie dexp
eriences
etudie linfluence du nombre de chromosomes
de la population sur la qualit
e de la solution. Nous avons obtenu des r
esultats pour
des populations de 10 et 60 chromosomes. La figure 7.8Illustre le comportement des
solutions de deux s
eries typiques, avec une population de 10 chromosomes sur une
p
eriode de 40 g
en
erations.
Les r
esultats confirment lhypoth`
ese de leffet quune population de petite taille
va in
evitablement apporter peu de vari
et
e aux chromosomes de la population. La
figure 7.8 indique que la solution optimale a
et
e trouv
ee apr`
es 19 `
a 22 g
en
erations.
152
7.7.4
Influence de la probabilit
e de croisement
Une s
erie dexp
eriences a
et
e r
ealis
ee pour
etudier linfluence des variances de
la probabilit
e de croisement. Nous donnerons les valeurs de probabilit
e suivantes :
0,3 ; 0,6 ; 0,85.
153
7.7.5
Influence de la probabilit
e de mutation
Lop
erateur de mutation a comme seul but damener une certaine diversit
e, les
tests de variation de ce param`
etre visaient `
a trouver la meilleure valeur de mutation.
Dapr`
es la figure 7.10 nous constatons que les tests ont affirm
es que la probabilit
e
de 0.05 donne une grande valeur pour la fonction fitness, cest-`
a-dire une solution
meilleure.
7.7.6
et
e introduite dans le mod`
ele. A travers lexp
erience suivante on essaye de montrer
linfluence de la topologie sur la convergence de lalgorithme de placement et notamment la qualit
e de la solution. Pour y arriver on a fait ex
ecuter la m
eme application
sur diff
erentes architectures ayant des topologies diff
erentes vues dans le chapitre 1.
154
7.7.7
t2
70
t3
t4
t5
t6
t7
t8
t9
t10
t11
t12
t13
t14
t15
t16
27
362
362
49
357
353
300
313
313
500
49
16
16
157
16
16
16
362
Tab. 7.2 matrice des communications inter-t
aches
au nombre de cycle ex
ecut
es par unit
e de temps, e1
etant l
energie consomm
ee en
unit
e voltage pour lex
ecution dun cycle `
a cette vitesse. V2 et e2 ont les m
emes
d
efinitions mais au mode max des processeurs, cest-`
a-dire le mode rapide. Les
ees
tailles des t
aches sont donn
ees dans le tableau 7.4 suivant. Ces tailles sont mesur
en nombre de cycles selon le type de processeur.
En utilisant le GI on obtient toutes les bonnes solutions v
erifiant les deadlines
obtenues au mode max. Ces placements sont donn
es dans le tableau 7.3 suivant o`
u
la premi`
ere colonne d
esigne les t
aches, les autres colonnes les diff
erents placements
cest-`
a-dire les processeurs auxquels ces t
aches sont affect
ees. Lavant derni`
ere ligne
nous donne les co
uts dex
ecution en unit
e de temps (ut) correspondants aux diff
erents placements.
Le deadline de cette application est de 18000 ut, donc des meilleures solutions
donn
ees dans le tableau 7.5 on d
egage lensemble S des solutions v
erifiant le deadline.
0
S = {pla2 , pla3 , pla4 , pla6 , pla7 , pla9 , pla10 , pla11 , pla12 }
On constate que pour le moment le meilleur en temps dex
ecution cest le placement 10, il est aussi le plus co
uteux en terme de consommation d
energie. Le tableau
suivant illustre le placement et lordonnancement obtenu pour le Placement 10. Le
scheduling des autres placements sobtient de la m
eme mani`
ere.
Lordonnancement est obtenu par liste LS. Le temps de fin de lapplication selon
ce placement est
egal au temps de fin de la derni`
ere t
ache, Tf in =Tf in (T11)= 1583,99
ut. Le temps dex
ecution de lapplication est
egal au temps de fin de la derni`
ere
t
ache moins le temps de d
ebut de la premi`
ere t
ache dans lex
ecution. Pour simplifier les calculs on a pris comme temps de d
ebut linstant Tdebut (T1)=t0 =0 alors
D=Tdebut (T1)-Tf in (T11)= 1583,99.
Dans la deuxi`
eme phase de ce mapping objectif on essaye, pour les placements
de lensemble S, de ralentir les processeurs afin de minimiser l
energie de tout en
respectant les deadlines. Ceci va nous permettre de ne garder que les solutions non
domin
ees finales qui vont nous donner le front Pareto optimal. Le tableau suivant
r
ecapitule les solutions non domin
ees constituant le front Pareto.
156
p1
P2
P3
P4
P5
P6
P7
P8
P9
Type
de processeurs
1
1
2
1
1
2
2
2
1
v1
v2
200
100
650
20
150
650
350
400
200
400
200
850
450
250
950
650
800
300
e1
en 103
5
3
8
5
4
8
6
8
5
e2
en 103
7,5
4,5
12
7,5
6,5
13
9
12
7,5
Tache
t1
t2
t3
t4
t5
t6
t7
t8
t9
t10
t11
t12
t13
t14
t15
t16
157
pla6
p1
p2
p3
p1
p6
p5
p8
p7
p3
p3
p5
p6
p2
p9
p4
p1
pla7
p6
p4
p3
p9
p6
p5
p1
p7
p2
p3
p5
p6
p2
p7
p4
p2
pla8
p3
p4
p3
p6
p9
p1
p1
p2
p5
p8
p4
p3
p1
p7
p9
p2
pla9
p3
p6
p9
p6
p5
p1
p4
p2
p4
p8
p7
p3
p4
p7
p9
p2
1759,64
1764,06
1876,68
1763,15
1583.99
1715
1715
2998
2920
3106
3198
3465
3238
2953
1693,29
3190
pla5
p4
p2
p2
p1
p6
p5
p4
p7
p3
p2
p5
p6
p9
p9
p4
p2
1843,70
1775,4
3164
pla4
p8
p1
p2
p1
p3
p8
p4
p7
p1
p2
p5
p6
p3
p9
p4
p2
2793
pla3
p8
p4
p3
p1
p3
p8
p4
p6
p2
p2
p5
p7
p9
p9
p4
p8
1689
pla2
p6
p2
p3
p1
p3
p8
p6
p5
p4
p2
p1
p7
p2
p1
p4
p8
2937
pla1
p9
p2
p9
p5
p3
p8
p6
p4
p4
p2
p1
p1
p2
p1
p4
p8
1913.9
10 3 mv dexecution
energie en Co
ut
Tache
t1
t2
t3
t4
t5
t6
t7
t8
t9
t10
t11
t12
t13
t14
t15
t16
2962
pla10
p8
p7
p9
p6
p5
p1
p4
p3
p4
p8
p7
p6
p4
p7
p9
p4
pla11
p1
p7
p9
p6
p5
p4
p4
p3
p4
p8
p7
p4
p4
p7
p9
p1
pla12
p1
p2
p9
p6
p5
p1
p2
p3
p4
p8
p7
p4
p3
p7
p9
p1
158
159
7.8
Comme on la avanc
e dans le chapitre pr
ec
edent, le mapping des t
aches r
ep
etitives (LR) sur des architectures r
eguli`
eres se traite par une approche diff
erente.
160
7.8.1
R
esultats
Cet algorithme a
et
e
elabor
e pour les t
aches r
ep
etitives afin de pouvoir trouver
un motif selon la sp
ecification dArray-Ol pr
esent
e dans le chapitre 3. Donc le but
est de trouver un sous ensemble de t
aches qui peuvent sex
ecuter en exploitant
dune fa
con optimale les ressources. Cet ensemble de t
aches va
etre r
ep
et
e jusqu`
a
ex
ecution de toutes les autres t
aches. Mais avant de chercher ces r
esultats, on a
essay
e de valider nos r
esultats par rapport `
a dautres outils qui font r
ef
erence dans
cette probl
ematique. Le premier outil est Syndex, d
evelopp
e sp
ecialement pour les
calculs vectoriels de grandes tailles. Le deuxi`
eme outil est celui d
evelopp
e par Menna
au sein de l
equipe west et qui donne lui aussi de bons r
esultats. Donc on a ex
ecut
e
notre algorithme pour des applications `
a t
aches r
ep
etitives sur des architectures de
16, 64, 256 et 1024 processeurs. Ces r
esultats sont compar
es, `
a ceux obtenus par les
deux outils cit
es auparavant, dans le tableau 7.7 suivant.
Les exp
eriences suivantes nous ont permis de trouver le motif ayant le meilleur
AAS. La figure 7.17 illustre le placement de 12 t
aches r
ep
etitives ainsi que leurs
communications sur 5 processeurs. Ce m
eme profil est r
ep
et
e pour ex
ecuter toutes
les autres t
aches. Ce placement est optimal car il minimise le temps de repos (slack)
des processeurs en permettant par l`
a dexploiter au maximum les ressources disponibles sur une longue dur
ee
Nous constatons que nos r
esultats ne sont toujours meilleurs par rapport aux
autres outils (Syndex et Hashesh). Syndex est un outil tr`
es puissant et il est consid
er
e comme un standard pour ce type dapplication. N
eanmoins, ces deux outils ne
prennent pas en consid
eration les modes diff
erents des
el
ements dex
ecution et de
communication. Cest ce qui constitue un plus et un avantage dans notre application
LR.
161
Placement
tache processeur
t1
p8
t2
p7
t3
p9
t4
p6
t5
p5
t6
p1
t7
p4
t8
p3
t9
p4
t10
p8
t11
p7
t12
p6
t13
p4
t14
p7
t15
p9
t16
p4
Co
ut
execution
23.75
55.38
80.00
37.89
56.00
62.50
71.11
37.65
37.78
23.75
23.08
20.00
71.11
24.62
56.67
66.67
Co
ut
comm
17.50
0.00
181.00
120.67
119.00
117.67
117.67
100.00
52.17
99.00
88.25
3.20
0.00
4.00
5.33
120.67
Co
ut
total
41.25
55.38
261.00
158.56
175.00
180.17
188.78
137.65
89.94
122.75
111.33
23.20
71.11
28.62
62.00
187.33
Ordonnancement
Tdebut
Tf in
0.00
41.25
41.25
96.63
96.63
357.63
357.63
516.20
516.20
691.20
691.20
871.36
871.36 1060.14
1060.14 1197.97
1197.97 1287.73
1287.73 1410.48
1410.48 1583.99
1287.73 1310.93
1310.93 1382.04
1382.04 1410.66
1410.66 1472.66
516.20
703.53
Taille
Matrice
4*4=16
8*8=64
16*16=256
32*32=1024
Menna
LR
26
74
266
1034
32
56
126
2100
162
7.9
La m
ethode pour le hi
erarchique (ou le GILR)
Nous avons d
evelopp
e une application qui permet de calculer le r
esultat de placement optimal dun ensemble de t
aches hi
erarchiques sur une application hi
erarchique. Loutil d
evelopp
e permet dintroduire deux graphes hi
erarchiques (figure
7.18). Le premier mod
elise lapplication, le second mod
elise larchitecture. Ces deux
graphes sont compos
es de noeuds appartenant `
a un des trois types de nud d
efinis
dans le chapitre3 : les nuds simples, compos
es ou r
ep
etitifs. Dans le chapitre pr
ec
edent on a pr
esent
e notre d
emarche pour le GILR. Donc dans cette application les
deux r
esultas des deux logiciels ( GI et LR) pr
esent
es pr
ec
edemment sont utilis
es
comme entr
ee `
a chaque appel selon le traitement de nuds r
ep
etitifs ou compos
es.
Lintroduction de ce graphe se fait par une matrice dincidence sommet-sommet, `
a
cause des d
ependances et communications entre les t
aches.
Fig. 7.18
Les diff
erents composants de cet outil sont illustr
es par le diagramme de classe
de la figure 7.19.
Fig. 7.19 Recherche du meilleur motif
7.9.1
Descriptif de lapplication
Nous allons pr
esenter linterface de notre application. Dans la premi`
ere fen
etre,
on trouve deux zones textuelles o`
u on peut introduire le nombre de t
aches et le
nombre des SoCs.
163
7.9.2
7.9.3
Nous avons choisi cette application car elle est typique des applications vis
ees
par Gaspard : Cest une application gourmande en puissance de calcul effectuant
un traitement dimage. Le standard H.263 [ref 28 peil] permet de compresser un
flux vid
eo. Il a
et
e d
evelopp
e pour la transmission de la vid
eo sur des lignes `
a tr`
es
bas d
ebits pour les applications de visiophonie, les syst`
emes de surveillance sans fil,
etc tel que chaque image de la vid
eo est trait
ee s
epar
ement. Limpl
ementation que
nous visons convertit une vid
eo au format QCIF dans le format compress
e H.263.
Lapplication est compos
ee de trois t
aches ex
ecut
ees s
equentiellement :
La transform
ee en cosinus discr`
ete (DCT, pour Discrete Cosine Transform)
permet d
eliminer la redondance de donn
ees et de transformer les donn
ees du
domaine spatial en une repr
esentation fr
equentielle
La quantification consiste `
a diviser chaque coefficient de la DCT par un pas
de quantification et mettre les coefficients non significatifs `
a z
ero.
Le codage permet dencoder les macro-blocs trait
es en attribuant `
a chaque
coefficient DCT quantifi
e un mot binaire dont la longueur est dautant plus
courte que le coefficient est fr
equent. La m
ethode de codage utilis
ee est celle
de Huffman [56 piel].
Et enfin la derni`ere fenetre permet de donner le resultat du placement final represente par un
arbre hierarchique dont chaque nud contient une matrice de placement qui est dans longlet `a
droite.
Fig. 7.23 saisie dune architecture hierarchique
164
165
Fig. 7.25 Vue partielle du tableau des elements de chrominance. Chaque lecteur de motif
correspond `a une tuile compacte de 8x8 elements du tableau. Ici sont representes les elements
lus pour trois repetitions de tache differentes.
Pour l
ecriture du flot compress
e, les deux dimensions de lespace de r
ep
etitions
sont lin
earis
ees. Ainsi le Tiler entre les ports size a un pavage de ((1),(11)) indiquant
que pour la premi`
ere dimensio de la r
ep
etition il faut placer chacun des 11
el
ements
lus les uns apr`
es les autres et que pour la seconde dimension de la r
ep
etition il faut
se d
ecaler de 11
el
ements `
a chaque fois,
ecrivant ainsi chaque bloc de 11
el
ements
lun apr`
es lautre.
Le composant H263MacroBlock correspond `
a lalgorithme tel que nous lavons
d
ecris plis haut : un appel `
a la DCT (Dct2MacroBlock), puis `
a la quantification
(Quan2MacroBlock), et au codage (Coding). Cette derni`
ere t
ache est une t
ache
el
ementaire, nous lavons d
eploy
e sur un adaptateur appelant une fonction de code
de Huffman
Le composant Dct2MacroBlock se charge dappeler pour chaque bloc de 8x8
el
ements la t
ache
el
ementaire Dct2Block qui effectue une DCT bi-dimensionnelle.
Ainsi, pour traiter la luminance, des Tilers permettent de d
ecouper le bloc de 16x16
en quatre motifs puis de reconstituer le bloc complet. Similairement, le composant
166
etre adapt
ee `
a nimporte quelle taille de donn
ees. La caract
eristique executionTime
qui permettra `
a la simulation PA de simuler le temps de traitement a
et
e mesur
ee
manuellement dans une simulation du processeur au niveau CABA.
Similairement, la t
ache
el
ementaire QCIF correspond `
a une taille dimage sp
ecifique de 176x144 pixels, limpl
ementation dIP contenue, qcif-from-file-c ne permet
pas au concepteur de sp
ecifier la taille des donn
ees quelle g
en`
ere : chaque port a
une taille fix
ee.
167
7.9.4
Architecture mat
erielle
Larchitecture mat
erielle mod
elis
ee est relativement simple (figure 7.27). Elle a
pour composant principal HardwArchit. Ce composant est compos
e de deux m
emoires, un r
eseau dinterconnexion et quatre processeurs MIPS. Le r
eseau dinterconnexion est un crossbar mod
elis
e `
a laide de deux ports multiples. Lun de ces
ports est de type In et permet de connecter les composants ayant des ports initiateurs de transaction (tels que les processeurs). En fonction du nombre de composants `
a brancher le concepteur peut faire varier sa multiplicit
e. Similairement,
lautre port est de type Out, auquel on peut connecter les composants ayant des
ports esclaves lors des transactions.
Cest sur ce second port que sont connect
ees les deux m
emoires. Lune des m
emoires est destin
ees aux donn
ees et lautre aux instructions mais m
eme si les noms
choisis sont expliites, vis-`
a-vis du code g
en
er
e ce nest pas dans le mod`
ele darchitecture que cette s
emantique est sp
ecifi
ee, elle sera sp
ecifi
ee lors de lassociation.
Les deux composants sont
el
ementaires, ils sont d
eploy
es sur une impl
ementation
abstraite de RAM disponible dans la biblioth`
eque de composant GaspardLib. Pour
relier ces composants sur un port diff
erent du r
eseau dinterconnexion, nous utilisons deux Reshapes qui indiquent comment distribuer le port dune m
emoire sur le
slave de multiplicit
e 2. Ainsi les deux Reshapes sont pratiquement identiques : ils
s
electionnent le port de la m
emoire gr
ace au Tiler tin puis le lace dans le tableau
du port slave g
ace `
a lautre Tiler. Pour la m
emoire i, lorigine du Tiler est 0, tandis
que pour d lorigine est 1. Les m
emoires sont ainsi connect
ees respectivement au
port slave dindice 0 et 1.
Le composant MultiMips a une interface avec un port de multiplicit
e 4, il est
donc possible de le connecter directement au r
eseau dinterconnexion. Ce composant
est un composant r
ep
etitif : il contient un sous-composant ProcessingUnit r
ep
et
e
quatre fois. Cest ainsi que lon sp
ecifie que larchitecture est quadriprocesseur.
Le composant ProcessingUnit est lui-m
eme compos
e de deux sous-composants. Il
contient un processeur nomm
e mips et un cache nomm
e c qui fait linterface entre
le processeur et lext
erieur de unit
e de calcul.
M
eme si les types des composants
el
ementaires indiquent leur fonction g
en
erique
(processeur, r
eseau de communication, RAM) et que les noms des composants
el
ementaires ont
et
e choisis de mani`
ere `
a refl
eter au mieux la fonctionnalit
e des composants, pour la transformation ils ne signifient rien tant quils nont pas
et
e d
eploy
e
esente le d
eploiement des composants Cache et MIPS. Nous
sur IP. La figure 7.28 pr
avons pu utiliser des IP d
efinis dans la biblioth`
eque GaspardLIb pr
esent
e dans les
chapitres pr
ec
edents. Ainsi, apr`
es importation de cette biblioth`
eque dans le mod`
ele,
Cache a
et
e d
eploy
e sur une impl
ementation abstraite dun cache de 32Ko. MIPS
168
Cest un graphe de t
ache hi
erarchique type aux graphes dapplications plac
ees
dans les SoC. En particulier Gaspard prend bien en charge ce type de graphe et
permet de les traiter `
a tous les niveaux de son flot de conception. On remarque que
la t
ache H263mb est une t
ache r
ep
etitive qui se r
ep`
ete 11x9 fois. De m
eme pour
dctlum et quanlum qui se r
ep`
etent 2x2 fois.
On a essay
e, `
a travers cette exp
erimentation de monter la pertinence de traiter
des graphes hi
erarchiques lors dun placement. Les qualit
es des placements ont d
ej`
a
et
e discut
ees pr
ec
edemment pour le GI et le LR. Ce graphe mis `
a plat est constitu
e de 110 t
aches. Le placement de ces t
aches comme un graphe non hi
erarchique
cest-`
a-dire quon a enlev
e lhi
erarchisation a trouv
e la solution dans un temps de
75 ut. Le meilleur placement sur les processeurs, mais cette fois ci en prenant en
consid
eration laspect hi
erarchique de lapplication, a
et
e trouv
e dans un temps de
67ut (figure 7.31).
En essayant de g
en
eraliser pour dautres probl`
emes, on a fait des exp
erimentations sur des applications ayant un nombre de t
aches diff
erents pour des niveaux
diff
erents. Cest-`
a-dire quon a pris une application ayant un nombre de t
aches
egal
`
a 50 par exemple quon a essay
e de placer sur une architecture en consid
erant son
169
7.10. conclusion
Fig. 7.30
Fig. 7.31
Nombre de taches
10
20
30
40
50
Niveau 1
37
64
75
80
86
Niveau 2
32
59
72
75
82
Niveau 3
33
58
69
73
79
Niveau 4
29
54
63
71
73
Tab. 7.8 R : Les evolutions des temps de recherche selon les tailles des applications et le
nombre de niveaux du HTG
Un autre r
esultat quon peut d
eduire suite `
a limpl
ementation de notre approche
est que la hi
erarchisation des applications facilite leurs repr
esentations, mod
elisations et traitements. Quand on est en face dapplications de tr`
es grandes tailles cet
argument est tr`
es important. En plus `
a partir des r
esultats obtenus on a constat
e
que la cherche de solutions est plus rapide quand on a des graphes hi
erarchiques
`
a plusieurs niveaux. Ceci peut sexplique par le fait que le temps de recherche, de
nimporte quel algorithme de placement, est en premi`
ere consid
eration proportionnel `
a la taille de lespace de recherche. En effet plus la taille de lespace de recherche
est grande plus le temps de recherche des solutions est grand. N
eanmoins la hi
erarchisation a des limite, car on a aussi constat
e dun autre cot
e un nombre de niveau
important influe inversement sur le temps de recherche. Donc il faut encore pousser
les exp
erimentations afin de d
eterminer une plage de niveau en fonction des tailles
des probl`
emes dans laquelle lalgorithme est efficace
7.10
conclusion
Ce chapitre on la compl`
etement d
edi
e `
a la mise en ouvre de notre approche.
Notre souci est dexp
erimenter cette approche dans un contexte sp
ecifique qui est
170
7.10. conclusion
Fig. 7.32 evolution des temps de recherche du GILR en fonction de la taille des application
et du nombre de niveau
171
Conclusion g
en
erale et perspectives
172
etre consid
er
es satisfaisants et qui peuvent
etre am
elior
es surtout sur le volet du
temps de convergence en essayant avec dautres travaux de bien cerner les param`
etres des algorithmes propos
es, notamment lalgorithme
evolutionnaire. On peut
aussi essayer de revoir les algorithmes propos
es pour plus doptimalit
e et les rendre
173
plus efficaces.
Une autre partie tr`
es importante de notre travail consistait `
a proposer une solution
pour le mapping des applications DSP sur des architectures r
eguli`
eres. Ce probl`
eme
ne peut
etre trait
e de la m
eme mani`
ere que celui pr
ec
edemment
evoqu
e m
eme si
on doit consid
erer les m
emes objectifs et les m
eme contraintes. Tel que on les a vu
dans le chapitre 3, les applications DSP quon a pr
esent
e avec le langage Array-ol
pr
esentent une sp
ecificit
e particuli`
ere. Elles traitent de grande quantit
e de donn
ees
mais de la m
eme mani`
ere, cest-`
a-dire quil y a r
ep
etition dans les calculs. Donc
m
eme si la taille des donn
ees est importante, lespace de d
ecision est r
eduit. Cest
ce quon a exploit
e en proposant une m
ethode exacte qui nous permet datteindre
plusieurs objectifs `
a optimiser. Le motif trouv
e est constitu
e dun nombre r
eduit de
t
aches qui ex
ecutent des donn
ees diff
erentes et dont on r
eit`
ere lex
ecution `
a linfini
sans que ceci naugmente la complexit
e de la m
ethode.
Le dernier volet de notre travail et qui constitue une contribution tr`
es importante par son originalit
e, car il na jamais
et
e trait
e par les chercheurs travaillant
dans ce domaine, consiste `
a faire le mapping des applications hi
erarchiques. Ce probl`
eme consiste `
a placer une application hi
erarchis
ee sur une architecture ayant la
m
eme structuration. Cest ce quon appelle le GILR (Globalement Irr
egulier Localement R
egulier). La d
emarche propos
ee et apr`
es exp
erimentation nous a permis
de constater que la hi
erarchisation des applications et des architectures permet de
r
eduire consid
erablement la complexit
e.
Ces r
esultats obtenus, ne doivent pas nous emp
echer de faire dautres exp
erimentations pour plus de validation et de prospecter dautres perspectives. En effet,
on consid`
ere quon est quau d
ebut de la r
esolution de ce probl`
eme, et par cons
equent on est sure que certains sous probl`
emes du GILR peuvent
etre approch
es et
solutionn
es autrement. Cest ce qui va constituer lobjet dautres travaux dans cet
axe.
174
Bibliographie
[1] PhD thesis.
[2] S. Edwards N. Halbwachs P.L. Guernic A. Benveniste, P. Caspi and R.de Simone. The synchronous language twelve years later. In Procs. of the IEEE,
volume 91, pages 6483, jan 2003.
[3] P.Eles Z.Peng A.Andrei, M.Schmitz and B.M.Al-Hashimi. Overhead-conscious
voltage selection for dynamic and leakage energy reduction of time-constrained
systems. Design, Automation and Test in Europe Conference and Exhibition,
1 :10518, 2004.
[4] A.Baghdadi. Lexploitation est conception syst
ematique darchitecture multiprocesseurs monopuces d
edi
ees `
a des applications sp
ecifiques. PhD thesis,
Institut TELECOM France, 2002.
[5] P.Marquet A.Cuccuru, JL.Dekeyser and P.Boulet1.
[6] A.Geoffrion. Proper efficiency and theory of vector maximization. Journal of
Mathematical Analysis and Applications, 22 :618630, 1968.
[7] AH.Benyamina and P.Boulet. Multi-objective mapping for noc architectures.
Journal of Digital Information Management (JDIM), 5(6) :378384, December
2007.
[8] Abdelkader Amar, Pierre Boulet, and Philippe Dumont. Projection of the
Array-OL specification language onto the kahn process network computation
model. In International Symposium on Parallel Architectures, Algorithms, and
Networks, Las Vegas, Nevada, USA, December 2005.
[9] J.Haddock A.Nagar and S.Heragu. Multiple and bicriteria scheduling : A literature survey. European Journal of Operational Research, 81(1) :88104,
February 1995.
[10] Arteris. Enabling network-on-chip for soc design. In http :
WWW.arteris.net/document, page 28. Arteris-background, 2004.
[11] Pierre Boulet. Contributions aux environnements de programmation pour le
calcul intensif. Technical report, Univeit
e des Sciences et Technologies de Lille,
December 2002.
175
BIBLIOGRAPHIE
[12] Robert L. Carraway, Thomas L. Morin, and Herbert Moskowitz. Generalized
dynamic programming for multicriteria optimization. European Journal of
Operational Research, 44(1) :95104, January 1990.
[13] C.Coello and A.Carlos. A comprehensive survey of evolutionary-based multiobjective optimization techniques. In Knowledge and Information Systems,
volume 1, pages 269308, 2004.
[14] Eclipse Consortium. Emf, 2007. http ://www.eclipse.org/emf.
[15] Radu Cornea, Shivajit Mohapatra, Nikil Dutt, Alex Nicolau, and Nalini Venkatasubramanian. Power-aware multimedia streaming in heterogeneous multiuser environments. In Concurrent Information Processing and Computing Advanced Research Workshop, Sinaia, Romania, July 5-10 2003.
[16] COSI. Uprojet inria-cnrs. http ://www.irisa.fr/Cosi/Alpha.
[17] Alain Demeure and Yannick Del Gallio. An array approach for signal processing
design. In In Sophia-Antipolis Conference on Micro-Electronics (SAME 98),
France, October 1998.
[18] Alain Demeure, Anne Lafarge, Emmanuel Boutillon, Didier Rozzonelli, JeanClaude Dufourd, and Jean-Louis Marro. Array-OL : Proposition dun formalisme tableau pourle traitement de signal multi-dimensionnel. In Gretsi,
Juan-Les-Pins, France, September 1995.
[19] D.J.White. The set of efficient solutions for multiple-objectives shortest path
problems. Computers and Operations Research, 9 :101107, 1982.
[20] D.Lyonnard. Approche dassemblage syst
ematique d
el
ements dinterface pour
la g
en
eration darchitecture multiprocesseur. th`
ese de doctorat, Institut national Polytechnique de Grenoble, Grenoble, 2003.
[21] D.Shin and J.Kim. Power-aware communication optimization for networks-onchips with voltage scalable links. In CODES+ISSS 04 : Proceedings of the
2nd IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthesis, pages 170175, New York, NY, USA, 2004. ACM.
[22] D.Veldhuizen and G.B.Lamont. Multiobjective evolutionary algorithm test
suites. In SAC, pages 351357, 1999.
[23] EETIMES.RONW. Is soc really different ? Technical report, EETIMES, 1999.
[24] E.L.Ulungu and J.Teghem. Multi-objective combinatorial optimization problems : A survey. JMCDA, 3 :83104, 1994.
[25] Wikipedia. Informatique embarqu
e. informatique embarqu
e. Technical report,
Wikip
edia lencyclop
edie libre, 2005.
[26] S.Krichen F.BenAbdelaziz and J.Chaouchi. Meta-heuristics : Advances and
trends in local search paradigms for optimization, chapter A hybrid heuristic
for multi-objective knapsack problems. Kluwer Academic Publishers, 1999.
176
BIBLIOGRAPHIE
[27] LensS F.Gruian, K.Kuchcinski. Task Scheduling for Lower-energy Systems
Using Variable Supply Voltage Processors. ASP-DAC, 2001.
[28] Michael P. Fourman. Compaction of symbolic layout using genetic algorithms.
In Proceedings of the 1st International Conference on Genetic Algorithms,
pages 141153, Hillsdale, NJ, USA, 1985. L. Erlbaum Associates Inc.
[29] F.Y.Edgeworth. Mathematical physics. P.Keagn, 1981.
[30] Abdoulaye Gamati
e, Eric Rutten, Huafeng Yu, Pierre Boulet, and Jean-Luc
Dekeyser. Synchronous modeling of data intensive applications. Technical
Report INRIA RR-5876, Laboratoire dInformatique Fondamentale de Lille,
April 2006.
[31] Object Management Group. Uml2 infrastructure (final adopted specification).
[32] Object Management Group. Mof qvt final adopted specification.omg document
final. IBM systems journal, 2005. http ://www.omg.org/docs/ptc/05-11-01pdf.
[33] Object
Management
Group.
(uml)
profile
for
schedulabity,
performance,
and
time,
January
2005.
http ://www.omg.org/technology/documents/formal/schedulability.htm.
[34] Paul Le Guernic, Paul Le Guernic, Jean pierre Talpin, Jean pierre Talpin, Jean
christophe Le Lann, Jean christophe Le Lann, and Projet Espresso. Polychrony
for system design. Journal of Circuits, Systems and Computers. World Scientific, 12, 2003.
[35] R.Marculescu G.Varatkar. Communication, complexity and criticaly issue in
designing silicon networks. In Date, 2006.
[36] G.Zhou and M.Gen. Genetic algorithm approach on multi-criteria minimum spanning tree problem. European Journal of Operational Research,
114(1) :141152, April 1999.
[37] C.Wu H.Chou and J.Lee. Integrated mapping and scheduling for circuitswitched network-on-chip architectures. Electronic Design, Test and Applications, IEEE International Workshop on, 0 :415420, 2008.
[38] R.Colletti H.Tardieu, A.Rochfeld and G.Panet. La methode Merise : Principes
et outils. Editions dorganisation, 1991.
[39] M. Sheets A. Mihal K. Keutzer S. Malik J. Rabaey, M. Sgroi and
A. Sangiovanni-vincentelli. Addressing the system-on-a-chip interconnect woes
through communication-based design. In In Proc. Design Automation Conference, pages 667672, 2001.
[40] J.B
ezivin. On the unification power of models. Software and System Modeling
(SoSym), 4(2) :171188, mai 2005.
[41] J.Hu and R.Marculescu. Energy-aware communication and task scheduling for
network-on-chip architectures under real-time constraints. Design, Automation
and Test in Europe Conference and Exhibition, 1 :10234, 2004.
177
BIBLIOGRAPHIE
[42] K.Johnson M.Kaashoek J.Jannotti, D.Gifford and J.OToole. Overcast :reliable
multicasting with an overlay network. In Of USENIX OSDI00, pages 197212,
October 2000.
[43] G. Lakshminarayana K. Lahiri, A. Raghunathan and S. Dey. Communication
architecture tuners : A methodology for the design of high-performance communication architectures for system-on-chips. In Design Automation Conf,
pages 513518, June 2000.
[44] Richard M. Karp, Raymond E. Miller, and Shmuel Winograd. The organization
of computations for uniform recurrence equations. J. ACM, 14(3) :563590,
July 1967.
[45] P.Eles L.A.Cortes and Z.Peng. Static scheduling of monoprocessor real-time
systems composed of hard and soft tasks. Electronic Design, Test and Applications, IEEE International Workshop on, 0 :115, 2004.
[46] P.Eles L.A.Cortes and Z.Peng. Quasi-static scheduling for multiprocessor realtime systems with hard and soft tasks. Real-Time Computing Systems and
Applications, International Workshop on, 0 :422428, 2005.
[47] L.Benini and G.Micheli. Networks on chips : A new soc paradigm. In Computer,
volume 35, pages 7078, Jan 2002.
[48] A.Guerri M.Milano L.Benini, D.Bertozzi. Allocation, Scheduling and Voltage
Scaling on Energy Aware MPSoCs, volume 3990/2006. Heidelberg, 2006.
[49] Edward A. Lee and David G. Messerschmitt. Static scheduling of synchronous
data flow programs for digital signal processing. IEEE Trans. on Computers,
36(1) :2435, January 1987.
[50] Edward A. Lee and David G. Messerschmitt. Synchronous data flow. IEEE,
75 :12351245, September 1987.
[51] L.Fesquet. Integration de sous-systems photoniques dans les architectures de
communications multiporcesseurs. Electronique, Paul Sabatier, Toulous, 1997.
[52] L.Hammond and K.Olukotun. Considerations in the design of hydra : A
multiprocessor-on-a-chip microarchitecture. Computer Systems Lab Technical Report CSL-TR-98-749, Stanford University, February 1998.
[53] WESTTeam LIFL. Graphical array specification for parallel and distributed
computing (gaspard-2), 2005. http ://www.lfl.fr/west/ gaspard.
[54] R. Ho M. A. Horowitz and K. W. Mai. The future of wires. IEEE, 89 :490504,
April 2001.
[55] A.Khademzadeh M.Armin, S.Saeidi and A.Afzali-Kusha. Spiral : A heuristic
mapping algorithm for network on chip. IEICE Electronics Express, 4(15) :478
484, 2007.
[56] M.Ashish. Allocation, Assignation et Ordonnancement pour les syst`
emes sur
multi-processeurs. Docteur en informatique, Universit
e des sciences et technologie de Lille, Lille, France, d
ecembre 2006.
178
BIBLIOGRAPHIE
[57] Christophe Mauras. Alpha : un langage
equationnel pour la conception et la
e
programmation darchitectures parall`
eles synchrones. PhD thesis, Universit
de Rennes I, December 1989.
[58] M.Benes. Design and implementation of communication and switching techniques for the pleiades family of processors. Master of science, University of
California and Berkley, 2000.
[59] M.C.Herbordt. the evaluation of massively parallel array architectures. Technical report M-CS-1995-007, University of Massachusetts Amherst, MA, USA,
USA, 1995.
[60] V.Maniezzo M.Dorigo and A.Colorni. The ant system : Optimization by
a colony of cooperating agents. IEEE Transactions on Systems, Man, and
Cybernetics-Part B, 26 :2941, 1996.
[61] F.Maraninchi M.Moy and L.Maillet-Contoz. Pinapa : an extraction tool for
systemc descriptions of systems-on-a-chip. In Wayne Wolf, editor, EMSOFT,
pages 317324. ACM, 2005.
[62] Projet MopCom. Modeling and specialization of platform and components
mda. http://www.mopcom/doku.php.4.2.
[63] B.M.Al-Hashimi M.T.Schmitz and P.Eles. A co-design methodology for energyefficient multi-mode embedded systems with consideration of mode execution
probabilities. Design, Automation and Test in Europe Conference and Exhibition, 1 :10960, 2003.
[64] B.M.Al-Hashimi M.T.Schmitz and P.Eles. Iterative schedule optimization for
voltage scalable distributed embedded systems. Trans. on Embedded Computing Sys., 3(1) :182217, 2004.
[65] P. K. Murthy and Edward A. Lee. An extension of multidimensional synchronous dataflow to handle arbitrary sampling lattices. In Int. Conf. Acoustics,
Speech, and Signal Processing, pages 33063309, May 1996.
[66] P.K. Murthy and Edward A. Lee. A generalization of multidimensional synchronous dataflow to arbitrary sampling lattices. Technical Report UCB/ERL
M95/59, EECS Department, University of California, Berkeley, March 1995.
[67] Praveen K. Murthy and Edward A. Lee. Multidimensional synchronous dataflow. IEEE Transactions on Signal Processing, July 2002.
[68] M.Zeleny. Multiple criteria problem solving. McGraw- Hill, NewYork, 1982.
[69] P.Blanchfield N.Hallam and G.Kendall. Handling diversity in evolutionary
multiobjective optimization. In Congress on Evolutionary Computation, pages
22332240, 2005.
[70] N.Wocjik. ch
erence et compl
etude des mod`
eles de placement de gaspard2.
Master de recherche, USTL, Lille, France, Juin 2008.
179
BIBLIOGRAPHIE
[71] O.Labbani. Mod
elisation `
a haut niveau du contr
ole dans des applications de
ese de doctorat (phd thetraitement syst
ematique `
a parall
elisme massif. Th`
sis), Universit
e de Lille 1, France, November 2006. Laboratoire dInformatique
Fondamentale de Lille.
[72] Y. B. Park and C. P. Koelling. An interactive computerized algorithm for
multicriteria vehicle routing problems. Comput. Ind. Eng., 16(4) :477490,
1989.
[73] C.Dumoulin P.Boulet, J.Dekeyser and P.Marquet. Mda for system-on-chip
design, intensive signal processing expriment. In I.FDL03, Fankfurt, Germany,
september 2003.
[74] N. Halbwachs andJ. A. Plaice P.Caspi, D. Pilaud. Lustre : a declarative language for real-time programming. In Proceedings of the 14th ACM SIGACTSIGPLAN symposium on Principles of programming languages, pages 178188,
New York, NY, USA, 1987. ACM.
[75] Ivan Doynov Petkov. Conception des bibliographies des syst`
emes multiprocesseurs de la simulation vers la r
ealisation. PhD thesis, Universit
e Joseph
Fourier, janvier 2006.
[76] P.Guerrier and A.Greiner. A generic architecture for on-chip packet-switched
interconnections. In Proceedings of the design automation and Test in Europe
(Date), pages 250256, Paris Franc, 2002.
[77] Ruxandra Pop and Shashi Kumar. A survey of techniques for mapping and
scheduling applications to network on chip systems. In School of Engineering,
J
onk
oping University, ISSN 1404-0018 Research Report 04 :4, Dec 2004.
[78] R.Hartenstein. Coarse grain reconfigurable architecture (embedded tutorial).
In ASP-DAC 01 : Proceedings of the 2001 conference on Asia South Pacific
design automation, volume 5, pages 564570, New York, NY, USA, 2001. ACM
Press.
[79] Tanguy Risset. Contribution `
a la compilation de nids de boucle sur silicium.
Technical report, Universit
e de Rennes1, Octobre 2000.
[80] R.Stever. Multiple Criteria optimization : Theory, computation and Application. Wiley, NewYork, 1986.
[81] R.Szymanek. Memory aware task assignment and scheduling for multiprocessor
embedded systems. Masters thesis, Milan, 2001.
[82] R.Szymanek and K.Kuchcinski. Design space exploration in system level synthesis under memory constraints. EUROMICRO Conference, 1 :1029, 1999.
[83] P. Serafini. Simulated annealing for multiobjective optimization problems. In
Proceedings of the 10th International Conference on Multiple Criteria Decision
Making, Taipei-Taiwan, volume I, pages 8796, 1992.
180
BIBLIOGRAPHIE
[84] S.Kent. Model driven engineering. In Proceedings of the Third International
Conference on Integrated Formal Methods, pages 286 298. Springer-Verlag
London, UK, 2002.
[85] S.Chatha S.Krishnan and G.Konjevod. Linear-programming-based techniques
for synthesis of network-on-chip architectures. IEEE Transaction on very large
scale integration (VLSI) systems, 14(4), April 2006.
[86] J-P.Soininen M.Forsell Millberg J.Oberg K.Tiensyrja A.Hemani S.Kumar,
A.Jantsch. A network on chip architecture and design methodology. In VLSI,
2002. Proceedings. IEEE Computer Society Annual Symposium on, pages 105
112, Washington, DC, USA, April 2002. IEEE Computer Society.
[87] Julien Soula. Principe de compilation dun langage de traitement de signal.
PhD thesis, Laboratoire dInformatique Fondamentale de Lille, Universit
e des
Sciences et Technologies de Lille, December 2001.
[88] S.Sayin and S.Karabati. A bicriteria approach to the two-machine flow shop
scheduling problem. European Journal of Operational Research, 113(2) :435
449, March 1999.
[89] B.S. Stewart and C.C. White. Multiobjective A*. Journal of the Association
for Computing Machinery, 38(4) :775814, 1991.
[90] T.Bjerregaard and S.Mahadevan. A survey of research and practices of
network-on-chip. ACM Computing Surveys, 38(1), 2006.
[91] T.Lei and S. Kumar. A two-step genetic algorithm for mapping task graphs to
a network on chip architecture. In Euromicro Symposium on, editor, Digital
System Design, pages 180 187. 0-7695-2003-0, 2003.
[92] E.L. Ulungu and J. Teghem. The two phases method : An efficient procedure to solve bi-objective combinatorial optimization problems. Foundations
of Computing and Decision Sciences, 20(2) :149165, 1995.
[93] V.Pareto. Cours dEconomie Politique, volume 1-2. Lausane, switzerland, 1896.
[94] A. Warburton. Approximation of pareto optima in multiple-objective, shortestpath problems. Oper. Res., 35(1) :7079, 1987.
[95] W.Hall Y.Haimes and H.Freedman. Y.Haimes, W.Hall, and H.Freedman. Elsevier Scientific Publishing edition, NewYork, 1975.
[96] J.Hu Y.O.Umit and R.Marculescu.
Key research problems in noc design : a holistic perspective. In CODES+ISSS 05 : Proceedings of the 3rd
IEEE/ACM/IFIP international conference on Hardware/software codesign
and system synthesis, pages 6974, New York, NY, USA, 2005. ACM.
[97] Y. Zhang, X. Hu, and D. Chen. Task scheduling and voltage selection for
energy minimization, 2002.
181