memoire PFE mostefa 2009
-
Upload
najwa-elfadile -
Category
Documents
-
view
237 -
download
0
Transcript of memoire PFE mostefa 2009
-
8/7/2019 memoire PFE mostefa 2009
1/87
Promotion 2008/2009www.univ-oran.dz
Option : Systme distribu
Mmoire de Fin dEtudes
Pour lObtention du DiplmedIngnieur dEtat enInformatique
Prsent par :
MOSTEFAMERIEM
Session Juin 2009
THEME
PLACEMENT DES TACHES REPETITIVES SUR UNE
ARCHITECTURE REGULIERE EMBARQUEEEncadr par : Mr A.E.BENYAMINACo-encadr par: Mr P.BOULET
Jury
Prsident : Mme M.BOURENANEExaminateur : Mme F.BELKHEIR Code PFE :87/2009Examinateur : Mme Z.BEDAI
-
8/7/2019 memoire PFE mostefa 2009
2/87
Au nom de Dieu Allah
Avec toute ma reconnaissance Je ddie ce modeste mmoire :
mes parents
mes surs et mon frre
mes grands parents
tous mes professeurs
Et a tous mes proches pour leur participation
Mostefa meriem...
-
8/7/2019 memoire PFE mostefa 2009
3/87
REMERCIEMENTS
e travail a t ralis dans le cadre de prparation de mmoire dingnieur pour
lobtention du diplme dingnieur dtat en Informatique option systme
distribu. Il naurait pas pu voir le jour sans le soutien de nombreuses personnes
que je tiens remercier.
E tiens tous dabord remercier mon encadreur Mr.BENYAMINA abou el hassen et
monco-encadreur Mr BOULET pierre qui mont encourag poursuivre mes travaux
de recherche de ce mmoire, qui grce a leur disponibilit et rigoureux conseils, jai pu
entamer, dvelopper et mener terme ce travail .Quil trouve ici lexpression de toute ma
gratitude.
e remercie sincrement touts ceux qui ont bien voulu prendre part ce jury.
A Mme BOURENANE qui nous a fait lhonneur de prsider le jury.
A Mme BELKEIR et Mme BEDAI qui ont accept de juger ce travail.
e les remercie pour leur intrt ce travail et la bonne formation que nous avons eu au
dpartement dinformatique.
Je remercie galement tous mes amies et amis de la promotion pour leur soutien et les
moments agrables que nous avons pass ensemble.
CJ
J
J
-
8/7/2019 memoire PFE mostefa 2009
4/87
INTRODUCTION GENERALE ........................................................................................... 2
CHAPITRE I : systme embarqu et flot de conception1 - INTRODUCTION : .............................................................................................................. 2
1.1 - SYSTEMES EMBARQUES ......................................................................................... 2
1.2- HISTOIRE ...................................................................................................................... 3
1.3- CONTRAINTES ............................................................................................................. 4
1.4- DOMAINE DAPPLICATION ...................................................................................... 4
1.5 - ARCHITECTURE EMBARQUEES ............................................................................ 4
1.5.1 - LES SYSTEMES MONOPUCES (SoC) ............................................................... 5
1.5.1.1 CRITERES DE QUALITE DE CONCEPTION DUN SoC ................................. 6
1.5.1.2 CHOIX EN FONCTION DES CONTRAINTES .................................................. 7
1.5.2- NETWORK ON CHIP ( NoC ) ............................................................................. 7
2. FLOTS DE CONCEPTION SUR LES SOC ET ENVIRONNEMENT GASPARD ......... 11
2 .1 - SPECIFICATION SUR Y : ..................................................................................... 11
2.3.- GASPARD .............................................................................................................. 12
2.3.1- FLOTS DE CONCEPTION DE GASPARD : ....................................................... 12
2.3.2- LENVIRONNEMENT GASPARD .................................................................... 13
2.3.2.1 - NOTION DE TILER .......................................................................................... 14
2.3.2.2 - NOTION DE RESHAPE ................................................................................... 14
2.3.2.3 - LES NOTIONS DINTERREPETITION ET DE DEFAULT LINK ............... 15
CONCLUSION ............................................................................................................... 15
CHAPITRE II : traitement de signal et applications intensives
INTRODUCTION ............................................................................................................... 17
HISTORIQUE DSP .................................................................................................... 18
APPLICATION INTENSIVE ET DONNEES INTENSIVES .................................... 18
.1 GENERALITES SUR LES DSP ............................................................................. 18
2.2. FORMATS DES DSP ............................................................................... 20
2.3 EXEMPLES DAPPLICATIONS (HAUTEMENT REGULIERES ) ................. 21
2.3.1 RADAR ANTICOLLISIONS .. ................................................................ 21
-
8/7/2019 memoire PFE mostefa 2009
5/87
2.3.2 TRAITEMENT SONAR ...................................................................... ....... 21
2.3.3 FILTRE DE KALMAN ................................................................................... 22
2.3.4CONVERTISSEUR 16/9-4/3 ..........................................................................22
2.4 EXEMPLE TYPIQUE DAPPLICATION INTENSIVE ..................................... 23
3. SPECIFICATION MULTIDIMENSIONNELLE ET MODELES DE CALCUL POUR
TSI.24
ARRAY -OL ...................................................................................................................... 25
4.1LE MODELE GLOBAL .........................................................................................29
4.2LE MODELE LOCAL ...........................................................................................29
4.3FUSION DE DEUX TACHES REPETIVES .........................................................30
CONCLUSION ........................................................................................................................ 31
CHAPITRE III: contribution au mapping multiobjectifsDes taches rptitives
1.- INTRODUCTION ............................................................................................................ 33
2. ALGORITHME BRANCH AND BOUND ....................................................................... 33
2.1 SPARATION ET VALUATION ........................................................................... 33
2.2 PRINCIPE DE PARCOURS DE LARBRE ........................................................... 34
3.- PLACEMENT ET ORDONNANCEMENT (OU AAS) ................................................... 34
3.1- ALGORITHMES DE PLACEMENT ET DORDONNANCEMENT ....................... 34
3.2- MAXIMISER LES PERFORMANCES DE TEMPS .............................................. 36
3.2.1- LA MINIMISATION DE LA CONSOMMATION DNERGIE ................... 36
3.3- LE PROBLEME DU PLACEMENT ET DORDONNANCEMENT D'UNE
APPLICATION BASE SUR LES KHAN PROCESS NETWORK(KPN) .................. 36
4.- LES PROBLMES DOPTIMISATION MULTI-OBJECTIFS ..................................... 37
4.1- DFINITION .............................................................................................................. 37
4.2- PROBLME MULTI-OBJECTIF ............................................................................... 38
5- MODLE ............................................................................................................................ 39
6.- MAPPING DES TCHES RPTITIVES ........................................................................ 40
-
8/7/2019 memoire PFE mostefa 2009
6/87
FORMULATION MATHMATIQUE .............................................................................. 41
ALGORITHME DE PLACEMENT DES TCHES RPTITIVES ..................................... 44
GNRATION DU PLUS COURT CHEMIN ................................................................. 45
MAPPING TCHES REPETITIVE AVEC BNB PARALLEL .................................... 45
10.- FRONT PARETO ........................................................................................................... 47
CONCLUSION ........................................................................................................................ 47
CHAPITRE IV: implementation et mise en oeuvre
1.INTRODUCTION ................................................................................................................. 49
2.MTHODOLOGIE DE CONCEPTION UML.....49
3..LENVIRONNEMENT DIMPLEMENTATION...........50
4.LES DIAGRAMME UML. ....51
DIAGRAMME DACTIVIT.....52
DIAGRAMME DE CLASSE 1 ..52
DIAGRAMME DE CLASSE 2 ..53
DIAGRAMME DE SEQUENCE DE LAPPLICATION ..54
5.LALGORITHME EXACT POUR LES APPLICATIONS DSP (LR) .....55
6.DESCRIPTIF DE LAPPLICATION .................................................................................56
PLACEMENTS ET ORDONNANCEMENT DES DIFFRENTS TABLEAUX
DE SIMULATION ..58
PLACEMENT DES COMMUNICATION SUR UNE ARCHITECTURE CIBLE GRILLEBIDIRECTIONNELLE TORIQUE ....................................................................................... 59
APPLICATION DE LALGORITME BNB PARALLLE AVEC 3 MOTIFS.60
RESULTAT (ARCHIVAGE PARETO ET CHOIX DU MOTIF OPTIMAL)...61
APPLICATION DE LALGORITME BNB PARALLLE AVEC 3 MOTIFS.60
MAPPING MULTI -OBJECTIF DUNE APPLICATION REELLE..62
CONCLUSION.....73
CONCLUSION GNRALE: ................................................................................................. 74
-
8/7/2019 memoire PFE mostefa 2009
7/87
Figure 1 un systme embarqu dans son environnement ................................................. 3Figure 2 Architecture embarqu de troisime gnration ................................................ 5Figure 3 : Architecture logicielle /matrielle dun systme monopuce ........................... 6Figure 4 : Un exemple de systme mono-puce (SOC). .................................................... 6Figure 5 : illustration du choix en fonction des contraintes .............................................. 7Figure 6 : (a) NoC platform . (b) communication ressource management ................... 8Figure 7 : Des formes rgulires de topologies prvisibles. ........................................... 9Figure 8 : D'autres formes irrgulires de topologies . ................................................... 9Figure 9 : Illustrations des diffrentes topologies .......................................................... 10Figure 10 : Spciations avec philosophie de type MDA ................................................. 11Figure 11 : illustration de la notion de Tiler .................................................................. 14Figure 12 : illustration La notion de Reshape ................................................................. 15Figure13 : illustration des liens Inter Rptition, ......................................................... 15
Figure 14 : Interface CAN-DSP-CAN............................................................................20Figure 15 : Reprsentation de lapplication radar anticollision.......................................21Figure 16 : La procdure destimation dun tat dune cible ......................................... 22Figure 17 : Echantillon autour dun sous-marin ............................................................ 23Figure 18 : Exemple dun graphe dune application en SDF ......................................... 24Figure 19 : Un exemple simple dajustage des lments dun tableau ...........................25Figure 20 : Un exemple complexe dajustage ................................................................26Figure 21 : Exemple de pavage ;. .................................................................................... 27Figure 22 : Quelques rptitions du filtre horizontal .....................................................28Figure 23 : Avant fusion..30
Figure 24 : Aprs fusion..................................................................................................30Figure 25: Exemple dun noeud Banch & Bound...........................................................Figure 26: Example distributed process network . .......................................................... 37Figure 27 : Illustration de la disposition des divers composants dune mthodologie .... 38Figure 28 : TG Repetitif ................................................................................................. 39Figure 29 : Grille Torique bidirectionnelle . ................................................................... 40
Figure 30 : Application Encodeur H263 ..........................................................................45
-
8/7/2019 memoire PFE mostefa 2009
8/87
Figure 31 : Exemple illustrant placement de motif 8tches sur 5 Processeurs.................47
Figure 32 : Diagramme Gantt ........................................................................................ 47
Figure 33 : Diagramme dactivit . ................................................................................. 52
Figure 34 : Diagramme Class1 . ...................................................................................... 52
Figure 35 : Diagramme Class 2 ...................................................................................... 53
Figure 36 : Diagramme Squence de lapplication......................................................... 54
Figure 37 : le lien entre lalgorithme exact et plus court chemin....................................55
-
8/7/2019 memoire PFE mostefa 2009
9/87
Rsum
Notre projet consiste concevoir et dvelopper dans une plateforme
JAVA Eclipse une application pour rsoudre le problme du Placement de
taches Rptitives sur une Architecture Hardware reprsente par une Grille
Torique Bidirectionnelle Homogne. Pour traiter ce problme on a propos une
approche exacte base sur le branch and bound multi-objectif hybride. Cette
approche nous a permis dexplorer dune manire exhaustive tout le
domaine des solutions et peut retourner une solution exacte rpondant aux
objectifs fixs. De plus dans le cadre de Conception et dveloppement du
logiciel notre contribution pour construire un modle comprenant les valeurs de
temps dexcution de chaque tache sur chaque connexion en fonction du volume
de donnes transports o ces valeurs sont fournies lAlgorithme Branch &
Bound dOptimisation Parallle multicritres o le fait de trouver lAlgorithme
dOptimisation est toute la question du PFE et plus globalement le but du
projet de LEquipe Dart /West en vrifiant le critre des contraintes temporelles
pour le choix du motif Optimal.
Mots cl : Placement, Ordonnancement, BnB, paralllisme , graphe .
-
8/7/2019 memoire PFE mostefa 2009
10/87
-
8/7/2019 memoire PFE mostefa 2009
11/87
CHAPITRE I EMBARQUES ET FLOTS DE CONCEPTION
1
CHAPITRE I
SYSTEMES EMBARQUES
ET FLOTS DE CONCEPTION
-
8/7/2019 memoire PFE mostefa 2009
12/87
CHAPITRE I EMBARQUES ET FLOTS DE CONCEPTION
2
1 - introduction :
Dans ce chapitre, nous prsentons une tude concernant la modlisation haut niveau et la
conception des systmes sur puce. Cette approche est base sur la mthode dIngnierie
Dirige par les Modles (IDM ou MDE en anglais) qui permet de faciliter ltude et le
dveloppement de ces systmes. LIDM, apparue vers la fin des annes 1990, sest
particulirement dveloppe lors de la parution de linitiative Model Driven Architecture de
lObject management Group. Comme son nom lindique, lIDM est une approche dont
llment cl est la notion de modle. Aprs avoir introduit les principes de base de cette
dmarche, nous allons prsenter lenvironnement de dveloppement GASPARD 2,
principalement conu pour la conception des systmes sur puce dfini autour des applications
de traitement de signal intensif et darchitectures massivement parallles.
1.1 - systmes embarqus
Un systme embarqu peut tre dfini comme un systme lectronique et informatique
autonome ddi une tche bien prcise et rpondent souvent des contraintes temps rel.
Ses ressources disponibles sont gnralement limites, elles sont gnralement d'ordre spatial
(taille limite) et nergtique (consommation restreinte).
La majorit de ces systmes, centraliss ou distribus sont critiques pour la scurit, soit parce
qu'ils sont au cur du comportement du systme, soit parce quils interagissent avec l'tre
humain dans des situations critiques. Assurer leur fiabilit et leur sret de fonctionnement
est un dfi majeur.
La complexit croissante des systmes embarqus ncessite des mthodes de conceptionglobale qui tiennent compte des fonctionnalits et des constituants (capteurs, actionneurs,
contrleurs, rseaux), des perturbations et des fortes contraintes de cot ou environnementale
(retards, incertitudes,...).
-
8/7/2019 memoire PFE mostefa 2009
13/87
-
8/7/2019 memoire PFE mostefa 2009
14/87
CHAPITRE I EMBARQUES ET FLOTS DE CONCEPTION
4
1.3- contraintes
De cot. Taille (ou dimension), De puissance de calcul. De consommation nergtique Temporel, dont les temps d'excution de tches est dtermin De scurit et de sret de fonctionnement. [1]
1.4- domaine dapplication
Transport : Automobile, Aronautique (avionique), etc. Astronautique : fuse, satellite artificiel, sonde spatiale, etc. Militaire : missile Tlcommunication : Set-top box, tlphonie, routeur, pare-feu, serveur detemps, tlphone portable, etc.
lectromnager : tlvision, four micro-ondes Impression : imprimante multifonctions, photocopieur, etc. Informatique : disque dur, Lecteur de disquette, etc. Multimdia : console de jeux vido, assistant personnel [1] Guichet automatique bancaire (GAB) quipement mdical Automate programmable industriel Mtrologie
1.5 - architectures embarques
Les systmes embarqus utilisent gnralement des microprocesseurs basse consommation
d'nergie ou des microcontrleurs, dont la partie logicielle est en partie ou entirement
programme dans le matriel, gnralement en mmoire dans une mmoire morte (ROM),
EPROM, EEPROM, FLASH, (on parle alors de firmware) [4].
-
8/7/2019 memoire PFE mostefa 2009
15/87
CHAPITRE I EMBARQUES ET FLOTS DE CONCEPTION
5
Figure 2 Architecture embarqu de troisime gnration
1.5.1 - les systmes mono puces (SoC)
Les progrs raliss par les fondeurs de circuits permettent maintenant denvisager
l'intgration sur une mme puce d'un systme embarqu complet. Ces systmes mono puces
(SoC : System on Chip) apportent des changements importants dans les flots de conception
classiques.
Dans les systmes lectroniques classiques, les grandes dimensions des cartes lectroniques
entranaient des problmes lectriques. Lintgration dun systme complet sur une seule
pice de silicium [4].
-
8/7/2019 memoire PFE mostefa 2009
16/87
-
8/7/2019 memoire PFE mostefa 2009
17/87
CHAPITRE I EMBARQUES ET FLOTS DE CONCEPTION
7
Maintenance : possibilit de modifications du systme par rapport sa premireversion
Fiabilit, sret de fonctionnement, . . .
1.5.1.2 choix en fonction des contraintes
Une grande souplesse de ralisation est possible ,il ny a pas de solution unique pourImplmentation contrainte de cot , implmentation uniquement logicielle de PerformanceCot[4].
Figure 5 : illustration du choix en fonction des contraintes
1.5.2- Network On Chip ( NoC ) [17]
Circuit-intgr spcialis, renfermant les fonctionnalits ncessaires une connexion
rseau, y compris celles lies aux protocoles. Laugmentation de la complexit des systmes
embarqus dans le domaine des tlcommunications et la rduction des temps de mise sur le
march des produits les intgrant sont des facteurs ncessitant ladoption dune mthodologiede conception adquate. Deux approches permettent de grer cette complexit :
laugmentation du niveau dabstraction de la description du systme et la rutilisation de blocs
dj conus (IP). Ces deux approches sont en gnral complmentaires. Une difficult
majeure lors de la conception de tels systmes est la communication entre les diffrents
modules composant le systme. Une solution performante et conomique est de se baser sur
une infrastructure de communication configurable prtablie, savoir un NoC. Le recours
un NoC simpose pour les circuits de grande dimension, aussi bien du point de vue
-
8/7/2019 memoire PFE mostefa 2009
18/87
CHAPITRE I EMBARQUES ET FLOTS DE CONCEPTION
8
technologique (asynchronisme entre les parties loignes dune mme puce), que du point de
vue fonctionnel (rutilisation de fonctions IP).
Pour faire face aux nouveaux problmes introduits par la nanotechnologie, lis aux
interconnexions sur puce et pour y accommoder lintgration future de plusieurs centaines de
composants, le concept de rseau sur puce (Network on Chip) a t propos trs rcemment.
Il sagit dadapter les modles, les techniques et les outils du domaine des rseaux
dordinateurs au contexte dintgration sur silicium. Ce nouveau concept intervient pour la
conception des futurs systmes embarqus.
Figure 6 : (a) NoC platform . (b) communication ressource management
Aux cts de processeurs universels, le recours des circuits spcialiss dont larchitecture
est optimis pour la ralisation de certaines fonctions pour gagner en performance. Dans le
cas des systmes embarqus, ce gain de performance permet lintgration dun mme circuit,
des divers composants matriels et logiciels pour former ce quil convient dappeler un Soc
(System On Chip), ces divers composants pouvant par ailleurs tre regroups en rseau au
sein dun mme circuit (Network On Chip).[2]
(a)b
-
8/7/2019 memoire PFE mostefa 2009
19/87
CHAPITRE I EMBARQUES ET FLOTS DE CONCEPTION
9
1.5.3 - topologies [17]:
1.5.3.1 - Topologies rgulires et irrgulires
Figure 7 : Des formes rgulires de topologies prvisibles.
Les exemples sont (A) Mech 4 array de 2 cubes, (B) Torique 4 array de 2 cubes et (C)
Arbre binaire (2-array)
Figure 8 : formes irrgulires de topologies
D'autres formes irrgulires de topologies sont drives en changeant la connectivit d'une
structure rgulire qui sont indique dans (D) o certains liens du Mech ont t enlevs et
pour (E) les diffrentes topologies hybrides o un anneau coexiste avec Mech .
-
8/7/2019 memoire PFE mostefa 2009
20/87
CHAPITRE I EMBARQUES ET FLOTS DE CONCEPTION
10
Maille compltement connect
Figure 9 : Illustrations des diffrentes topologies
Liaison des Nuds desCommutateurs
Anneau Simple
Interconnexions totalesBus+Etoile.
Crossbar complet
Topologie Hybride Etoile Anneau dcoupl
Memory
p
keypadDSP
RF p
Memory
RF
keypadDSP
Memory
p RF
keypad DSP
a)Bus b)point-to-point c)NetworkBus centralis Point to point Rseau
-
8/7/2019 memoire PFE mostefa 2009
21/87
CHAPITRE I EMBARQUES ET FLOTS DE CONCEPTION
11
2. Flots de conception sur les SOC et environnement GASPARD
2 .1 - Spcification en y [16] :
Cette mthodologie de spcification en Y autorise par construction la rutilisation
aussi bien de lapplication que de larchitecture dans un formalisme UML , notre souci de
respect des standards nous a orient vers une construction Y dans un formalisme UML et
suivant une philosophie de type MDA (Model Driven Architecture) [19].
Figure 10 :Spciations avec philosophie de type MDA
-
8/7/2019 memoire PFE mostefa 2009
22/87
CHAPITRE I EMBARQUES ET FLOTS DE CONCEPTION
12
2.2 - LIngnierie Dirige par les Modles (IDM)
2.2.1- Principes de lIDM
Gnralement, lIDM peut tre dfini autour de trois concepts de base :
modles les mta- modles transformations
Les Modles sont des abstractions de la ralit et un mta-modle est la dfinition des
concepts et relations utiliser pour exprimer des modles.
Un autre point cl de lIDM est la transformation de modles, elle permet de passer dun
modle source dcrit un certain niveau dabstraction un modle destination dcrit
ventuellement un autre niveau dabstraction. Ces modles source et destination sont
conformes leur mta-modle respectif (mta-modles source et destination) et le passage de
lun lautre (i.e. la transformation) est dcrit par des rgles de transformation.
Avantages
Rduire la complexit (Abstraction supplmentaire) Rduire le temps de dveloppement Rutilisation des modles Sparation des concepts mtiers des concepts technologiques
2.3.- GASPARD
2.3.1- Le flot de conception de Gaspard :
Gaspard [3] est un environnement de dveloppement permettant la co-conception de systme
sur puce dans un cadre dingnierie dirige par les modles (IDM). Il est dvelopp au sein de
lquipe DaRT et est orient vers les applications de traitement de signal intensif. Ces
applications sont rencontres souvent dans les SOC et sont caractrises par leur gourmandise
en termes de puissance de calcul ce qui ncessite la paralllisation des traitements.
-
8/7/2019 memoire PFE mostefa 2009
23/87
CHAPITRE I EMBARQUES ET FLOTS DE CONCEPTION
13
Gaspard se situe la frontire de deux domaines de recherche : la conception des systmes sur
puce, et lingnierie dirige par les modles.
Il est important de noter que le Y de Gaspard correspond un flot tel quon le dfinit
gnralement dans le domaine de la conception de systmes sur puce (ou plus gnralement
dans le domaine de la conception de systmes embarqus incluant des parties logicielles et
matrielles) et parmi les spcifications on trouve :
Application : Spcification de la fonctionnalit attendue dun systme, Architecture matrielle : Spcification de larchitecture matrielle qui sera utilise
pour supporter lexcution dune application et raliser ses fonctionnalits attendues
Association : Spcification du placement dune application sur une architectureMatrielle donne.
2.3.2- L'environnement GASPARD
L'environnement de spcification visuel GASPARD est construit partir des
caractristiques hrites du modle ARRAY-OL. Le modle global est reprsent par une
description visuelle d'un composant logiciel. La mtaphore que nous utilisons repose sur le
design d'un composant lectronique de type circuit imprim. Les tableaux sont des
informations circulant sur des fils qui sont connects diffrents slots sur lesquels sont
branchs d'autres composants logiciels. Cette phase de branchement permet de spcifier les
informations d'ajustage et de pavage qui indiquent comment le composant ainsi connect
rfrencera les tableaux lis au slot. Les motifs obtenus par ce pavage et ajustage deviennent
les tableaux en entre/sortie du composant ainsi branch.
De cette faon chaque composant peut tre spcifi indpendamment des composants qu'il
utilise et vice versa. En consquence, les composants sont tous rutilisables.
Les composants de GASPARD sont assimils des classes telles que dfinies dans des
langages objets. Seules les instances de ces classes seront dites excutables. Des
bibliothques de composants prdfinis, ventuellement gnriques, peuvent tre cres pour
des types d'applications particulires.
Les dpendances entre diffrents composants connects dans le mme composant Logiciel
(niveau global) sont exprimes par les fils entre les slots.
-
8/7/2019 memoire PFE mostefa 2009
24/87
CHAPITRE I EMBARQUES ET FLOTS DE CONCEPTION
14
2.3.2.1 - Notion de Tiler
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 rcuprer.
Chaque lment ei de la tuile est dtermin par la somme des coordonnes du point de
rfrence et de la multiplication de la matrice dajustage par les coordonnes i de llment du
motif, comme exprim dans la formule suivante : i 0i< Spattern, ei=ref+F.i modSarray, Spattern
reprsentant la forme du motif, Sarray reprsentant la forme du tableau et F tant la matrice
dajustage.
Dans la figure 11 , on prsente un exemple de Tiler dans une application. Le connecteur situ
entre les ports m1 et A, par exemple, le port m1 a une dimension 128x128 et le port A a une
dimension de 8x8, le Tiler permet de dcomposer le tableau situ sur m1 par bloc de 8x8
lments contigus.
Figure 11 : Illustration de la notion de Tiler
2.3.2.2 - La notion de Reshape
La figure 12 illustre un exemple de Reshape. Dans cet exemple, il y a deux tches t1 et t2,
chaque ligne du tableau de sortie t1 est range dans une colonne du tableau dentre t2. On
passe donc dun tableau de dimension 3x2 un tableau de dimension 2x3.
-
8/7/2019 memoire PFE mostefa 2009
25/87
CHAPITRE I EMBARQUES ET FLOTS DE CONCEPTION
15
Figure 12 : Illustration La notion de Reshape
2.3.2.3 - les notions dinter rptition et de default link
Le concept Default Link permet dexprimer les connexions irrgulires pouvant se situer sur
les bords dun tableau dlments. [20]
Figure13 : Illustration des liens Inter Rptition, gauche le composant
Gaspard reprsentant une grille droite son quivalent en UML.
CONCLUSION :
Pour la modlisation dun systme embarqu cest le flot gaspard qui sy prte le mieux. Le
systme et son application doivent permettre de prendre en considration les taches
rptitives et les donnes intensives rgulires pour cela dans le chapitre suivant nous
verrons les applications de traitement de signal intensif.
-
8/7/2019 memoire PFE mostefa 2009
26/87
CHAPITRE II TRAITEMENT DE SIGNAL ET APPLICATIONS INTENSIVES
16
CHAPITRE II
TRAITEMENT DE SIGNALET APPLICATIONS INTENSIVES
-
8/7/2019 memoire PFE mostefa 2009
27/87
CHAPITRE II TRAITEMENT DE SIGNAL ET APPLICATIONS INTENSIVES
17
Introduction
Les applications temps rel sont depuis longtemps une proccupation primordiale dans
plusieurs domaines. Elles occupent une place de plus en plus importante dans le monde
actuel, elles taient rserves aux quipements industriels lourds et actuellement ,on les trouve
dans des diffrents produits grand public et particulirement dans les systmes de
tlcommunication. La qualit de ces systmes est juge par leur temps dexcution ce qui
conditionne leurs situations au march.
Les applications temps rel reposent principalement sur des algorithmes de traitement de
signal qui ncessitent une quantit importante de calculs. Pour cela, il a fallu utiliser des
calculateurs de fortes puissances dont le but dacclrer les calculs spcifiques au domaine du
traitement de signal. Pour cette raison, un type spcial de processeur a t cr, il sagit des
processeurs de traitement numrique du signal (DSP - Digital Signal Processing).
Une application temps rel est compose de deux parties :
La premire correspond un systme informatique compos dun calculateurexcutant un ensemble de programmes qui forment son logiciel, et qui renferment les
algorithmes de lapplication.
La seconde partie correspond son environnement physique, dont les changementsdtat, sont perus par le calculateur au moyen de capteurs. Le calculateur ragit ces
stimulis pour maintenir lenvironnement dans un tat dtermin au moyen
dactionneurs.
Ces applications doivent ragir dans un temps trs court afin dassurer quelenvironnement est bien contrl, sinon on risque davoir des mauvaises
consquences.
Afin de pouvoir prsenter le placement dans sa globalit (le graphe TG), nous devons
commencer par prsenter une de ses parties importantes qui est le traitement intensif. Dans ce
chapitre on introduira le principe gnral des applications de traitement de signal intensif, les
domaines faisant appel ce type de traitement et les principaux modles de calcul existants
pour leur spcification. Par la suite, nous tudierons le principe du modle Array-Ol,
principalement conu pour lexpression du paralllisme de donnes et des dpendances de
tches pour ce type dapplications.
-
8/7/2019 memoire PFE mostefa 2009
28/87
CHAPITRE II TRAITEMENT DE SIGNAL ET APPLICATIONS INTENSIVES
18
1. Historique DSP :
Au niveau historique, vers les annes 70, lesDSP ont t initialement dvelopps pour
des applications de radars militaires et de tlcommunications cryptes, et C'est Texas
Instruments pour la premire fois qui en 1978 a introduit un DSP pour la synthse de la voix
pour des applications trs grand public.
Quinze ans plus tard, lesDSP deviennent des composants incontournables dans le domaine de
llectronique grand public. Les domaines d'application du traitement numrique du signal
sont nombreux et varis (Tableau 1).
UnDSP est un type particulier de micro processeur. Il se caractrise par le fait quil intgre
un ensemble de fonctions spciales. Ces fonctions sont destines le rendre particulirementperformant dans le domaine du traitement numrique du signal. Comme un microprocesseur
classique, un DSP est mis en uvre en lui associant des mmoires (RAM, ROM) et des
priphriques. Un DSP typique a plutt vocation servir dans des systmes de traitements
autonomes. Il se prsente donc gnralement sous la forme dun microcontrleur intgrant,
selon les marques et les gammes des constructeurs, de la mmoire, des timers, des ports sries
synchrones rapides, des contrleurs DMA, et des ports dE/S divers [26 ].
2- Application intensive et donnes intensives :
2.1 Gnralits sur les DSP
2.1.1 Caractristiques des DSP :
Tous les systmes bases de DSP bnficient des avantages suivants [26] :
Souplesse de programmation : Un DSP est avant tout un processeur excutant unprogramme de traitement du signal. Ceci signifie que le systme bnficie donc dune
grande souplesse de dveloppement. De plus, les fonctions de traitements numriques
peuvent voluer en fonction des mises jour des programmes, et cela pendant toute la
dure de vie du produit incluant le systme. Ainsi, modifier par exemple tel ou tel
paramtre dun filtre numrique ne ncessite pas un changement matriel.
Une autre qualit issue de la souplesse des programmes. Il est possible dadapter une fonction
de traitement numrique en temps rel suivant certains critres dvolutions du signal (par
exemple les filtres adaptatifs).
-
8/7/2019 memoire PFE mostefa 2009
29/87
CHAPITRE II TRAITEMENT DE SIGNAL ET APPLICATIONS INTENSIVES
19
Implmentation dalgorithmes adaptatifs : des possibilits propres au systme detraitement numrique du signal. Certaines fonctions de traitement du signal sont
difficiles implanter en analogique, voir irralisables (exemple : un filtre rponse phase linaire).
Stabilit : En analogique, les composants sont toujours plus ou moins soumis desvariations de leurs caractristiques en fonction de la temprature, de la tension
dalimentation, du vieillissement. Une tude srieuse doit tenir compte de ces
phnomnes, ce qui complique et augmente le temps de dveloppement. Ces
inconvnients nexistent pas en numrique.
Rptitivit, reproductibilit : Les valeurs des composants analogiques sont dfiniesavec une marge de prcision plus ou moins grande. Dans ces conditions, aucun
montage analogique nest strictement reproductible lidentique, il existe toujours des
diffrences quil convient de maintenir dans des limites acceptables. Un programme
ralisant un traitement numrique est par contre parfaitement reproductible,
linfini .
Tableau 1 : Diffrents domaines et diffrentes applicationsdutilisation des processeurs DSP.
-
8/7/2019 memoire PFE mostefa 2009
30/87
CHAPITRE II TRAITEMENT DE SIGNAL ET APPLICATIONS INTENSIVES
20
2.1.2 Domaines et applications des DSP
Les DSP sont gnralement utiliss dans les systmes qui comportent une quantit importante
de calculs et ncessitant une rapidit dans lexcution de ces algorithmes. Le tableau 1
reprsente en dtail dans les diffrents domaines ainsi que les diffrentes applications des
DSP.
2.2 Formats des DSP [26]
Dans les systmes de traitement de signal, la numrisation des signaux intervient dans les
dispositifs de conversion analogique/numrique ainsi que dans les processeurs DSP.
Lorsque le convertisseur et le processeur utilisent des reprsentations diffrentes, le type de
quantification est impos par le systme de traitement.
2 .2.1 Numrisation dun signal
Les signaux physiques sont gnralement analogiques. Pour les traiter avec un DSP, il faut les
chantillonner et convertir chaque chantillon en une donne numrique. Cette conversion est
ralise par un convertisseur analogique/numrique (CAN). La conversion se dcompose en
une quantification et une numrisation (codage) de la valeur quantifie. Rciproquement, les
rsultats numriques fournis par un DSP pourront tre convertis en signaux analogiques
laide dun convertisseur numrique /analogique (CNA).
Figure 14 : Interface CAN-DSP-CAN.
La figure 14 reprsente linterface entre un DSP et ces convertisseurs.
Les convertisseurs CAN fournissent une reprsentation numrique de chaque chantillon.
Cette reprsentation peut tre ensuite transforme par le DSP selon le type darithmtique
utilise.
-
8/7/2019 memoire PFE mostefa 2009
31/87
CHAPITRE II TRAITEMENT DE SIGNAL ET APPLICATIONS INTENSIVES
21
2.3 Exemples dapplications (hautement rgulires) [16] :
De nombreuses applications permettent la dcomposition du TSI en TSS et TDI
2.3.1 Radar anticollisions :
La prvention des collisions dans un systme ncessite lutilisation dune antenne qui renvoie
le signal sous la forme dun flux de donnes contenant des informations relatives la prsence
dobstacles, un cho. Ces informations sont masques pare du bruit (des parasites) et sont
tales sur le flux de donnes temporel. Une phase de prtraitement qui relve du traitement
du signal systmatique, filtre ce signal de manire en faire ressortir les caractristiques
intressantes (la prsence dobstacles). La rgularit se trouve dans ltape suivante quiconsiste analyser ce nouveau flux de donnes de manire valider la prsence dun
obstacle, dclencher un freinage durgence o le poursuivre si ncessaire . Cette
application est illustre par la figure 15
.
Figure 15 : Reprsentation de lapplication radar anticollision.
La phase de traitement du signal systmatique prcde celle du traitement de donnes intensif.
2.3.2 Traitement sonar [16]:
Une vision plus large de la scne est ncessaire dans lanalyse dun environnement maritime
(qui est similaire celui dun routier). Dans le cas dun sous-marin, ce nest pas une antenne
qui est utilise mais plusieurs hydrophones rpartis autour de ce sous-marin. La premire
phase de traitement est systmatique et est compose dune FFT (Transformations de
fourrier).
Le traitement est ddi la dtection dobjets et leur poursuite au cours du temps.
-
8/7/2019 memoire PFE mostefa 2009
32/87
CHAPITRE II TRAITEMENT DE SIGNAL ET APPLICATIONS INTENSIVES
22
2.3.3 filtre de KALMAN :[25]
Le filtre de Kalman Bucy conu en 1961 est une solution des problmes destimation qui
ont t dvelopps lorigine par R.Kalman en 1960.
En utilisant la notion dtat, ce filtre est reprsent sous forme dun ensemble dquations
linaires diffrentielles ou rcurrentes. Ces quations prsentent un caractre squentiel plus
facile rsoudre sur des calculateurs numriques. Ce filtre est bien adapt au traitement
numrique en ligne, par consquent, il fournit une estime optimale dans le sens de la
minimisation de lerreur quadratique moyenne destimation. Il est trs utilis dans plusieurs
domaines en particulier le domaine arospatial o il a t particulirement appliqu avec
succs.
Le filtre de Kalman gnralise le filtrage optimal aux systmes non stationnaires en prsence
des conditions initiales et des entres dterministes. Il est stable sous certaines conditions de
contrlabilit et dobservabilit.
2.3.4 Convertisseur 16/9-4/3 :
Souvent devant notre tlvision et en utilisant une tlcommande on peut passer dun format
un autre avec une certaine facilit. En pratique ce processus se dcompose en deux phases.
La premire consiste crer des pixels partir du signal vido au format 16/9 via une
interpolation, il en rsulte un nouveau signal vido. La seconde phase supprime certains pixels
de ce signal de manire ne conserver quune partie de linformation, cela permet le passage
Figure 16 : La procdure destimation dun tat dune cible
Etat estim
Erreur
destimation
Source
derreurdu systme
Source
DerreurDe mesure
Le systmedynamique
Le systmede mesure(Observation)
Estimation
Le systme
dtatLa mesure
Informations
priori
-
8/7/2019 memoire PFE mostefa 2009
33/87
CH
au form
traitem
la vid
JPEG 2
rgulie
dcisio
dimensi
frquen
Gaspar
respect
2.4 Ex
Figure
Le gr
donne
1 Graphi
PITRE II
at 4/3. Cett
nt de sign
dcompre
000, rcept
s sur les d
s. Nous p
ions des ta
tiel) et leur
1 n'exprim
r les calcul
mple typi
17 : Echant
phe de l
:
Echantillon
rptition d
fentre glis
al Array Spe
T
e applicati
l. Dautres
s dans un
ur de radi
nnes, cer
uvons par
bleaux de
nombre.
que des d
s pour calc
ue dApp
illon part
applicatio
s de Forma
e FFTs po
sante de 12
ification for
AITEME
n ne consi
exemples
tlvision
numriqu
aines expl
ailleurs re
donnes m
pendance
uler le rsu
ication int
ir de 512 h
factoris
t des don
r chaque h
8 chanti
Parallel And
T DE SIG
23
re aucu
ncore illus
HD.
, Chacune
itent le r
arquer la
anipules
de donne
tat attendu.
ensive [20]
ydrophone
et met
es en ent
ydrophone.
lons chaqu
egular Distri
AL ET A
n moment l
rent lutili
de ces appl
ultat de ce
diversit d
ar ces ap
s, c'est--di
linfini
en valeu
es = 512
e 32 fractio
buted compu
PPLICATI
a valeur de
ation du T
ications r
s traitemen
la sman
lications (
re l'ordre
autour d
r tche
infinie..
ns de temp
ting
NS INTE
s pixels, il
I : le trait
lise des tra
ts pour pre
ique port
emporel, s
inimal que
n sous-mar
t paralllis
.
SIVES
sagit de
ment de
itements
ndre des
par les
patial et
doivent
in.
me des
-
8/7/2019 memoire PFE mostefa 2009
34/87
CHAPITRE II TRAITEMENT DE SIGNAL ET APPLICATIONS INTENSIVES
24
On reprsente ici lensemble des valeurs possibles et les dpendances de donnes qui les
relient. Une implmentation de lapplication sur une plate-forme matrielle devra
projeter les tableaux infinis sur une architecture finie [20] .
3- Spcification Multidimensionnelle et Modles de Calcul Pour Le TSI :
3.1 MDSDF : Multidimensional Synchronous Dataflow
Il existe plusieurs mthodes de modlisations on peut citer :
SDF (Synchronous Data Flow) [8], MDSDF (MultiDimensional Synchronous Data Flow) [5], GMDSDF ( Generalized MultiDimensional Synchronous Data Flow) [6].
Malgr la diversit de ces modles, leur occupation principale consistant mieux modliser
les grandes quantits de donnes multidimensionnelles dont le but est de faciliter la
description et ltude des applications de traitement intensif paralllisme de donnes
massive.
Le modle SDF reprsente un cas spcial des modles flot de donnes qui sont gnralement
utiliss pour dcrire des applications de traitement du signal par des graphes, en reprsentant
les fonctions par des nuds et les donnes par les arrtes du graphe.
Une application dans SDF, est dcrite par un graphe orient acyclique o chaque nud
consomme des donnes en entre et produit des rsultats en sortie. Donc les calculs sont
reprsents par des noeuds [Actor] et les donnes [Tokens] par des arcs.
MDSDF a t propos par Edward Lee en 2002 [5]. Il tend le concept du modle SDF
(Synchronous DataFlow) [8] pour lappliquer dans un contexte multidimensionnel. Lobjectif
est de permettre la spcification des applications de traitement du signal manipulant des
donnes multidimensionnelles tels que le traitement dimage et de la vido.
Figure 18 : Exemple dun graphe dune application en SDF
-
8/7/2019 memoire PFE mostefa 2009
35/87
CHAPITRE II TRAITEMENT DE SIGNAL ET APPLICATIONS INTENSIVES
25
3.2 MATLAB/SIMULINK :
MATLAB [26] est un puissant logiciel de calcul et peut tre vu comme un systme interactif
et convivial de calcul numrique et de visualisation graphique o beaucoup de ses fonctions
sont bases sur un calcul matriciel simplifi. Il permet de distinguer plusieurs types de
matrices : Monodimensionnelles (vecteurs), bidimensionnelles (matrices), tridimensionnelles .
Le Logiciel de l'extension graphique de matlab est Simulink .
4. ARRAY-OL (ARRAY ORIENTED LANGUAGE) [22] :
Pour Array-Ol , cest une sorte de formalisme de description des applications de traitement
de Signal mis en place par lEntreprise Thales.
Ce type dapplication est caractris par une manipulation de grande quantit de donnes qui
sont traites par un ensemble de tches de faon rgulire. Cest un langage assignation
unique o seules les dpendances de donnes sont exprimes et o les dimensions spatiales et
temporelles des tableaux sont banalises.
Donc le modle Array-Ol est multidimensionnel et permet dexprimer un paralllisme
potentiel complet sur des applications, que ce soit un paralllisme de donnes ou un
paralllisme de tches. Avant de comprendre lapport de ce langage, on doit comprendre lecontexte dans lequel est utilis le Array-Ol, en commenant par ces applications qui
prsentent plusieurs difficults [22].
Figure 19 : Un exemple simple dajustage des lments dun tableau par leurs indexes dans le
motif (i), illustrant la formule i tel que 0 i
-
8/7/2019 memoire PFE mostefa 2009
36/87
CHAPITRE II TRAITEMENT DE SIGNAL ET APPLICATIONS INTENSIVES
26
Du fait que dans Array-Ol toutes les dimensions de tableaux sont torodales, et toutes les
coordonnes des lments du motif soient calcules modulo la taille des dimensions du
tableau. La figure 16 fournit des exemples de motifs obtenus partir dlments rfrencefixe (O comme origine dans la figure) dans des tableaux taille fixe.
Figure 20: Un exemple complexe dajustage illustrant la relation i , 0 i
-
8/7/2019 memoire PFE mostefa 2009
37/87
CHAPITRE II TRAITEMENT DE SIGNAL ET APPLICATIONS INTENSIVES
27
O Sarray est le profil du tableau, Spattern le profil du motif, Srepetition est le profil de
lespace de rptition, o est les coordonnes de llment rfrence du motif rfrence.
Figure 21 : Exemple de pavage illustrant la formule ;
r tel que 0 r
-
8/7/2019 memoire PFE mostefa 2009
38/87
CHAPITRE II TRAITEMENT DE SIGNAL ET APPLICATIONS INTENSIVES
28
tre consomm ou produit par une rptition. Le lien entre les entres et sorties est donn par
lindex de rptition r.
Pour une rptition donne, les motifs de sortie (pour un index r) sont produits par la tcherptitive partir des motifs en entre (pour lindex r). Ainsi lensemble des Tilers, des profils
des motifs et lespace de rptition dtermine les dpendances entre les lments des tableaux
en sorties et les lments des tableaux en entres dune rptition.
Figure 22: Quelques rptitions du filtre horizontal pour illustrer les dpendances entre les
entres/sorties dune rptition .
A partir dun lment rfrence (ref) dans le tableau on peut extraire un motif par
lnumration de ses lments par rapport llment rfrence. En utilisant la matrice
dajustage, les coordonnes des lments dun motif (ei) sont obtenues en faisant la somme
-
8/7/2019 memoire PFE mostefa 2009
39/87
CHAPITRE II TRAITEMENT DE SIGNAL ET APPLICATIONS INTENSIVES
29
des coordonnes de llment rfrence avec une combinaison linaire du vecteur dajustage
comme suit : i , 0 i
-
8/7/2019 memoire PFE mostefa 2009
40/87
CHAPITRE II TRAITEMENT DE SIGNAL ET APPLICATIONS INTENSIVES
30
d'itrations, o chaque itration est indpendante et applique sur un sous-ensemble fini de
points des diffrents tableaux en entre et en sortie. Ces sous-ensembles, ou motifs, doivent
tre rguliers (ajustage du tableau) et se rpartir rgulirement sur les tableaux (pavage detableaux).
La cohrence globale d'une tche est assure par le fait que les motifs des tableaux qui sont
attachs une mme tche sont en nombre identique et relis un pour un entre chacun des
tableaux. Ainsi le rle d'une tche consiste, pour chaque itration de pavage, extraire les
motifs d'entre, leur appliquer une fonction donne qui produit les valeurs associes aux
motifs en sortie, et finalement ranger ces derniers dans les tableaux rsultats [22].
4.3-Fusion de deux tches rptitives
La fusion vise rduire deux tches simples. Cette nouvelle tche est hirarchique et appelle
les deux tches originales en tant que tches secondaires.
Figure 23 : avant fusion.
Figure 24 : aprs fusion
-
8/7/2019 memoire PFE mostefa 2009
41/87
CHAPITRE II TRAITEMENT DE SIGNAL ET APPLICATIONS INTENSIVES
31
Dans un schma d'excution bas sur les KPN3
on possde une FIFO qui permet de stocker
plusieurs lments.
La fusion permet de proposer un modle dexcution. Si on prend une application Array-OLclassique, sa description permet seulement de dfinir les donnes en entre et en sortie et
comment se fait la correspondance entre elles.
Une application Array-OL est paralllisable car les donnes calcules sont indpendantes
entre elles.
Ds qu'un macro motif est utilis en entier, il peut tre supprim. C'est le principe des Kahn
Process Networks, et c'est aussi ce que la fusion permet de faire dans le cas d'applications
Array-OL. [9].
Conclusion
Dans ce chapitre nous avons vu les domaines ou on utilise du calcul intensif, nous avons
dfini les applications temps rel qui reposent sur les algorithmes de traitement de signal, une
telle application sera plus efficace, si elle est implmente sur des processeurs spcialiss.
Les processeurs de traitement numrique de signal (Digital Signal Processing, DSP) ont t
prsents dans ce chapitre et plus spcialement la famille C6000 de Texas Instruments (TI)
et qui est un DSP virgule fixe.
Plusieurs langages de spcification existent qui nous permettent de mettre en vidence le
paralllisme des taches lis ces applications.
Le langage ARRAY-OL, nous a permis de faire la dmonstration du paralllisme des taches
rptitives sur des architectures rgulires embarques. Le chapitre suivant va nous permettre
dtudier les diffrentes approches pour solutionner la problmatique gnrale du placement
sur les NOC (Network On Chip) .
3 Khan Process Network
-
8/7/2019 memoire PFE mostefa 2009
42/87
CHAPITRE III CONTRIBUTION AU MAPPING MULTI OBJECTIFS DES TACHES REPETITIVES
32
CHAPITRE III
CONTRIBUTION
AU MAPPING MULTI OBJECTIFS
DES TACHES REPETITIVES.
-
8/7/2019 memoire PFE mostefa 2009
43/87
CHAPITRE III CONTRIBUTION AU MAPPING MULTI OBJECTIFS DES TACHES REPETITIVES
33
1.- Introduction :
Dans le chapitre prsent nous allons prsenter le flot de Gaspard ainsi que diffrents
Algorithmes qui peuvent tre implments ce dernier.
Comme lalgorithme de Branch and Bound est lalgorithme que lon doit utiliser pour
llaboration de notre projet, nous avons rpartis ce chapitre en deux parties :
Partie 1: nous parlerons de lun des algorithmes dimplmentation, qui est le Branch and
Bound dune faon trs dtaille et du problme de placement et ordonnancement ou AAS
dans un premier terme.
Partie 2 : nous parlerons du Mapping des Tches Rptitives dans un deuxime terme.
Notre projet consiste trouver le meilleur placement de taches rptitives sur une architecture
rgulire cible. Ceci revient trouver le nombre de ressources adquates pour excuter un
sous ensemble de taches. Ce qui justifie notre choix pour lalgorithme Branch & Bound .
2. lalgorithme Branch and Bound :
Pour plusieurs problmes, en particulier les problmes doptimisation, lensemble de leurs
solutions est fini (c.--d dnombrable). En utilisant lalgourithme de Branch and Bound, on a
la possibilit dnumrer toutes ces solutions puis de prendre celle qui nous arrange.
Linconvnient majeur de cette approche est le nombre excessif du nombre de solutions : il
nest pas du tout vident deffectuer cette numration.
La mthode de branch and bound (procdure par valuation et sparation progressive)
consiste numrer ces solutions, en utilisant certaines proprits du problme en question,
cette technique arrive liminer des solutions partielles qui sont domines selon les critres
Energie Totale et Dure Totale et aussi les contraintes temporelles suivant la solution que
lon recherche dun placement ou de plusieurs placements du problme.
Pour ce faire, cette mthode se dote dune fonction qui permet de mettre une borne sur
certaines solutions qui reprsentent les solutions du Pareto soit les exclure par la suite si
ces dernires ne vrifient les contraintes temporelles comme troisime critre de
minimisation du totale Slack , soit les maintenir comme des solutions potentielles.
2.1 Sparation et valuation :
Un algorithme par sparation et valuation est une mthode d'numration implicite: toutes
les solutions possibles du problme peuvent tre numres mais l'analyse des critres du
problme permet d'viter l'numration de larges classes de solutions domines.
-
8/7/2019 memoire PFE mostefa 2009
44/87
CHAPITRE III CONTRIBUTION AU MAPPING MULTI OBJECTIFS DES TACHES REPETITIVES
34
2.2 Principe de parcours de larbre :
Le principe utilis pour la lagorithme Branch and Bound est celui de la profondeur d'abord.
Les rgles de slection des nuds explorer sont fixes priori et ne dpendent pas des
valuations obtenues pour les diffrents nuds. De mme, il n'y a pas de liste des nuds
explorer car ceux-ci le sont selon l'ordre dans lequel ils sont obtenus.
3.- Placement et Ordonnancement (ou AAS) :
Le placement dans GASPARD
on entend par association , cest le fait dassocier des taches logicielles (Application)
Aux diffrents composants de l'architecture Hardware, et dans l'association aussi on affecte
les donnes aux mmoires et les chemins de donne aux fils du rseau.
3.1- Algorithmes de placement et dordonnancement :
Le placement et ordonnancement sont des problmes NP-hard, de ce fait les problmes de
taille importante peuvent tre rsolu quavec des heuristiques qui sont des mthodes de
recherche pseudo alatoires et des techniques doptimisation multi-objective . Par contre les
problmes taille limite peuvent tre solutionn par des mthodes dterministes en
explorant dune manire exhaustive tout le domaine des solutions et peuvent retourner un
placement qui reprsente loptimum thorique exact ou plusieurs placements [27] . Lors
Figure 25 : Exemple dun nud Banch & Bound
-
8/7/2019 memoire PFE mostefa 2009
45/87
CHAPITRE III CONTRIBUTION AU MAPPING MULTI OBJECTIFS DES TACHES REPETITIVES
35
de lexploration de larborescence BnB a pour but de chercher chaque niveau i de
larborescence le placement de la tache Ti sur lensemble des processeurs en deux modes
dexcution du mme niveau et suivant le principe AAS ,on va essayer de voir la
dominance entre nuds fils (ou chaque nud reprsente Ti sur Pj en mode m ) et ceci ne
pourra se faire quune fois avoir fais Assignation et Affectation en prenant aussi en compte
le facteur de cout de communication et la saturation des liens de la grille Torique homogne
et aprs la phase de dominance, on passe la phase dlimination des nuds qui taient
domines et une fois de plus on relance le processus dElimination aussi au sous fils qui
rsulte du nud en question o chaque sous Fils devient le nud en question en allant en
Profondeur de larborescence BnB et pour chaque niveau i de larborescence ,on place Ti en
prenant en considration le placement de Ti-1 en Profondeur dabord jusquau i=n (niveau
plus bas qui contient des nuds feuilles ) aprs puisement de tout le nombre de nuds ,on
aura plusieurs placements non domins et pour notre Solution BnB on a opter pour la
distribution sur une Grille Torique bidirectionnel de SIMD Unit avec des Processeurs
Elmentaires ou chaque composant de la Grille Torique est reprsent comme un lment
extrait du composant matriel GASPARD et avec Inter-rptitions .
Avec des heuristiques constructives qui permettent de construire graduellement des solutions
partielles valides jusqu atteindre loptimum par exemple LS (List Scheduling) . Les
heuristiques de transformation alternent des solutions existantes en cherchant largirlespace dexploration de lespace des solutions tout comme le cas GA (Genetic Algorithms)
sans oublier dautres approches rarement utilises dans notre domaine comme la
programmation mathmatique.
Tant dit que pour lordonnancement ,on est amener construire un modle comprenant les
valeurs de temps d'excution de chaque tche sur chaque processeur en fonction du voltage
ainsi que les performances des rseaux d'interconnexion en fonction du volume de donnes
transportes. Ces valeurs sont fournies lalgorithme d'optimisation Branch and Bound avec
Multi Critres qui propose gnralement dans notre application un ou des placements
intressants par rapport ces performances en vrifiant aussi les contraintes temporelles.
-
8/7/2019 memoire PFE mostefa 2009
46/87
CHAPITRE III CONTRIBUTION AU MAPPING MULTI OBJECTIFS DES TACHES REPETITIVES
36
3.2- Maximiser les performances de temps :
La vrification suivant les contraintes temporelles des deadlines hard et le Total Slack
pendant lordonnancement ce n'est pas les contraintes mmoires mais c'est le temps global
pour chaque Sckeduling tout en minimisant le Total Slack de lapplication .
3.2.1- La minimisation de la consommation dnergie :
Vu quon peut connatre la consommation dEnergie dun processeur quand il excute une
instruction (en mode excution donc le cas du placement dynamique) et quand il est en
repos (Cas du placement statique ) par consquent ,on peut essayer de minimiser
lnergie totale consomme en jouant sur ces deux aspects et aussi les communications
durant le placement de tches et la slection de voltage. Do on distingue placement de tche
selon lnergie et le DVS ou SVS des tches.
3.3- Le Probleme du Placement et dordonnancement d'une Application base sur
les Khan Process Network (KPN) :
- Pour reprsenter le paralllisme et la distribution de l'application, ils ont choisi d'utiliser
le modle des rseaux de processus propos par Kahn [14,15]. Le problme du placement
d'une application base sur les KPN doit prendre en compte deux paramtres essentiels qui
sont le paralllisme intrinsque et Les communications entre processus doivent tre
optimises.
- Par ailleurs pour faire face la question de lordonnancement des KPN qui estcruciale, le modle thorique suppose que les FIFO ont une taille infinie . Or dans la
ralit la mmoire est borne. Donc la question de l'ordonnancement (statique ou
dynamique) et des tailles maximales des FIFOs sont deux autres paramtres prendre
en compte.
-
8/7/2019 memoire PFE mostefa 2009
47/87
CHAPITRE III CONTRIBUTION AU MAPPING MULTI OBJECTIFS DES TACHES REPETITIVES
37
Figure 26 : Example distributed process network
Example distributed process network qui illustre la projection du langage de specification
ARRAY-OL avec principe de fusion entre 2 taches voques au paragraphe du Chapitre II
distribu sur Khan Process Network .
-La fusion qui tait prsente au paragraphe du chapitre II, nous a permis de proposer un
modle d'excution qui casse les limites infinies de certaines donnes (gnralement le
temps).
Cette application sera dploye sur deux stations de travail sur le mme rseau Ethernet. La
premire machine tait un quadri-processeurs, la nature mme de l'application fait qu'il y a
une dpendance de donnes entre les tches [9].
4.- Les Problmes Doptimisation Multi-Objectifs :
4.1- Dfinition :
La principale difficult que l'on rencontre en Optimisation Multi- Objectif vient du fait que
modliser un problme sous la forme d'une quation unique peut tre une tche difficile.
L'optimisation multi-objectif autorise ces degrs de libert qui manquaient en
optimisation mono-objectif. Cette souplesse n'est pas sans consquences sur la dmarche
suivre pour chercher un optimum notre problme enfin modlis. La recherche ne nous
donnera plus une solution unique mais une multitude de solutions. Ces solutions sont appeles
solutions de Pareto et l'ensemble de solutions que l'on obtient la fin de la recherche est la
surface de compromis.
C'est aprs avoir trouv les solutions du problme multi-objectif que d'autres difficults
surviennent : il faut slectionner une solution dans cet ensemble. La solution qui sera choisie
par l'utilisateur va reflter les compromis oprs par le dcideur vis--vis des diffrentes
fonctions objectif [23].
-
8/7/2019 memoire PFE mostefa 2009
48/87
CHAPITRE III CONTRIBUTION AU MAPPING MULTI OBJECTIFS DES TACHES REPETITIVES
38
Le dcideur tant "humain", il va faire des choix et l'un des buts de l'optimisation multi-
objectif est de modliser les choix du dcideur ou plutt ses prfrences. Pour modliser ces
choix on pourra s'appuyer sur deux grandes thories :
-la thorie de l'utilit multicritres
- la thorie de l'aide la dcision .
Ces deux thories ont des approches diffrentes [23].
Figure 27 - Illustration de la disposition des divers composants dune mthodologie
4.2- Problme multi-objectif :
Un problme multi-objectif ou multicritre peut tre dfini comme un problme dont on
recherche laction qui satisfait un ensemble de contraintes et optimise un vecteur de fonctions
objectives. Les problmes doptimisation ont en gnral plusieurs solutions car la dfinition
dun optimum ne peut pas tre tablie.
Par dfinition mathmatique :
Une action (ou un vecteur de dcisions) est note par :
x = (x1, x2,.,xn) . 1)
avec xi les variables du problme et n le nombre de variables.Les contraintes sont exprimes:
gi(x) avec i = 1,.,m ... 2)
avec m le nombre de contraintes ;
Le vecteur de fonction objectif est not f :
f(x)=(f1(x),.,fk(x)) . 3)
avec fi les objectifs ou critres de dcisions et k le nombre dobjectifs.
Les objectifs sont des fonctions de minimisation (dans le cas de fonction f de maximisation, il
suffit de minimiser f).
-
8/7/2019 memoire PFE mostefa 2009
49/87
-
8/7/2019 memoire PFE mostefa 2009
50/87
CHAPITRE III CONTRIBUTION AU MAPPING MULTI OBJECTIFS DES TACHES REPETITIVES
40
5.3 Nud rptitif :
Ces nuds permettent de reprsenter les rptitions de donnes parallles des sous nuds.
Ces rptitions prennent comme entres/sorties des parties de tableaux en entre et en sortie
du nud rptitif. Ces parties de tableaux ont toutes la mme forme et sont appels Motifs
(patterns). Les Motifs en sortie sont produits en appliquant le sous-nud sur le Motif du
tableau en entre. Toutes les rptitions des sous-nuds sont indpendantes et dfinies dans
un espace de rptition Q. Pour chaque entre/sortie du nud rpt, on a les informations
ncessaires. Dans le chapitre 2, on a dcrit comment on obtient ces informations grce
Array-Ol.
6.- Mapping des Tches Rptitives :
Le mapping ou laffectation des communications au rseau consiste placer une
communication entre deux tches ti et tj reprsente par larc eijE sur le rseau de
communication. Ce placement consiste trouver le chemin qui souvent est constitu de
plusieurs liens physiques contigus utiliss pour envoyer les donnes de ti tj.
Figure 29 :Grille Torique bidirectionnelle
-
8/7/2019 memoire PFE mostefa 2009
51/87
CHAPITRE III CONTRIBUTION AU MAPPING MULTI OBJECTIFS DES TACHES REPETITIVES
41
Mais avant de considrer le mapping dans sa globalit ,on doit tout dabord proposer une
solution pour un mapping multi-objectif dun seul graphe TG sur un seul graphe NT dans un
mme niveau.
Le mapping du graphe dapplication G(T,E) sur le graphe darchitecture P(U,F) est dfini par
la fonction mapping map: map(Ti)=uj/ Ti T et uj U (Le mapping est dfini quand
|T||U|).
7.Formulation Mathmatique :
Pour un TG chaque nud ou sommet reprsente une tche avec ses caractristiques ou
proprits. Soit T={t1,t2,..........tn} lensemble des tches reprsentes par lensemble des
sommets V dans TG. P= {p1,p2,..........ps} lensemble des processeurs reprsents par
lensemble des nuds U dans NT. On considre que chaque processeur p peut sexcuter
des modes diffrents m1, m2 or m3.
Comme variable de dcision on prend des variables binaires Xm
ij tels que [07].
Xmij= 1 si la tche i est place sur le processeur j et sexcute au mode m, o sinon.
dm
ij = la dure dexcution de la tche i place sur pj sexcutant au mode m (sans prendre en
compte les communications) .
dm
ij=WCNm
ij/fm
j o WCNm
ij est le nombre de cycles ncessaires la tche i pour sexcuter
sur le processeur j au mode m.
fm
j est la frquence dhorloge du processeur j au mode m.
dli est le deadline de la tche i. Cest le temps auquel la tche i doit tre termine. Ainsi
dlfinal=dln est le deadline de la dernire tche n et aussi celui de lapplication.
Qij est le volume de donnes changes entre les tches i et j.
dQm
ijpq est la dure des communications entre les tches i et j si elles sont places
respectivement sur les processeurs p et q au mode m.
qm
pq est la dure de communication unitaire (bit, octet ou paquet) entre p et q au mode m.
empq est lnergie consomme par une unit de donne (bit, octet ou paquet ) durant son
transfert de p 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 q [24].
Alors la dure dutilisation des liens est dQm
ijpq = Qij*qm
plpk o (pl,pk)(p,q)
-
8/7/2019 memoire PFE mostefa 2009
52/87
-
8/7/2019 memoire PFE mostefa 2009
53/87
CHAPITRE III CONTRIBUTION AU MAPPING MULTI OBJECTIFS DES TACHES REPETITIVES
43
N S mn N N S S mn
E= Xmip * ETm
ip + Xm
ip Xm
jqEm
ijpq ji (*)
i=1 p=i+1 m=m1 i=1 j=i+1 p=1 q=p+1 m=m1
ETm
ip est la consommation de la tche i affecte au processeur p au mode m.
Xm
ij= 1 si la tche i est place sur le processeur j et sexcute au mode m, o sinon.
dm
ij=WCNm
ij/fm
j o WCNm
ij est le nombre de cycles ncessaires la tche i pour sexcuter
sur le processeur j au mode m. l aussi WCNm
ij varie uniquement selon le mode dexcution
des processeurs.
fm
j est la frquence dhorloge du processeur j au mode m. Elle est aussi la mme pour tous les
processeurs un mme mode.
Ainsi si dans un motif, aprs ordonnancement, la tche k est la dernire dans lexcution et
dlkest son deadline alors dlfinalmotif= dlk. Il est le temps avant lequel se termine le motif et qui
correspond au temps de fin de la dernire tche du motif.
En essayant de minimiser la consommation dnergie tout en exploitant au maximum les
ressources. Le critre quon a adopt ici, en premier, pour lexploitation maximal des
ressources est totalslack O totalslack correspond au temps de repos ou relchement des
ressources. Cest ce temps quon doit minimiser pour augmenter lexploitation des ressources.
On voit bien que ce critre est conflictuel avec le deuxime objectif qui correspond la
minimisation de la consommation dnergie. En effet exploiter plus les ressources nous
amne consommer plus dnergie. La minimisation de la consommation dnergie revient
optimiser lobjectif donn par la formule (*) .Donc si on a S ressources dexcution et N
tches constituant le motif. Notant par DSn la dure dexcution dun motif constitu de N
tches et sexcutant sur S processeurs.
Alors Tdis= DS
n * S donne le temps de disponibilit des ressources.
Le temps doccupation Toc des S processeurs par les N tches du motif peut tre obtenu par :
i=N
Toc= Dii=1
-
8/7/2019 memoire PFE mostefa 2009
54/87
CHAPITRE III CONTRIBUTION AU MAPPING MULTI OBJECTIFS DES TACHES REPETITIVES
44
Alors le temps total de relchement (ou des slack) des S processeurs utiliss pour lexcution
dun motif de N tches est obtenu par :
totalslack = Tdis Toc
Cest ce temps quon doit minimiser en jouant sur le nombre de tches constituant le motif.
Pour gnraliser lexpression notant par totaln,s
slack le temps total de relchement d au
placement de n tche sur S processeurs du NoC.
Etant donne que le nombre de processeurs est donne dans une architecture rgulire et qui
est souvent raisonnable, alors le nombre de tches constituant le motif est lui aussi
raisonnable par rapport au nombre total des tches rptitives. Pour ce placement on a
propos une approche base une mthode exacte pour atteindre les objectifs [24].
Algorithme de placement des tches rptitives [24]
1. Dbut ;
2. Introduire le nombre de PE, S et la matrice de topologie ;
3. Introduire les caractristiques de larchitecture et des tches rptitives ;
4. Motiftaches = 0 ; totalslack = ;
5. Pour N=S N=S*S faire
6. utiliser la mthode exacte pour trouver le placement au mode max des processeurs
7. Utiliser lalgorithme doptimisation des communications
8. calculer totalN
slack
9. Si totalN
slack< totalslack alors totalslack= totalN
slacket Motiftaches = N sinon rien fsi
10.fin pour
11. faire changer le mode des processeurs
12.Calculer pour chaque placement la dure dexcution et lnergie
13.Retenir le front Pareto ou les solutions non domines
14.Fin
8- Gnration du plus court Chemin :
Le problme de gnration de chemin consiste trouver un chemin entre deux sommets tels
que la somme des arcs le constituant soit minimale. La mthode NORD-WEST propos
dans le cadre de notre projet est base sur la distance ha miltonienne avec la seule diffrence
lors du parcours cest la prise en compte que certains liens peuvent tre dj occups.
-
8/7/2019 memoire PFE mostefa 2009
55/87
-
8/7/2019 memoire PFE mostefa 2009
56/87
CHAPITRE III CONTRIBUTION AU MAPPING MULTI OBJECTIFS DES TACHES REPETITIVES
46
complexit du placement. Dans les applications DSP, on a gnralement un flot de donnes
infini qui sont traites par des tches rptitives. Considrer cette infinit de tches rptitives
lors de la recherche du placement optimal va accrotre la complexit de traitement du
processus AAS. Cest pour cette raison quon gnre des motifs et pour gnrer le placement
total (AAS) de toutes les tches (Total taches) ,on a qu rpter le placement du motif X fois
Ainsi un placement de motif est gnr sans prendre en considration le nombre total de
tches .
De plus le choix du motif idal est dterminer aprs n itrations en sinspirant du BnB
Parallle dans le cadre de notre Projet qui nous fournit un motif optimal qui prsente un bon
compromis Taches/Processeurs tout en Prenant en compte Architecture HW cible de SIMD
Unit Grille bidirectionnelle torique.
Cet Algorithme dOptimisation BnB Parallel verifient les Performances et les contraintes
temporelles.
Comme rsultat de son placement ,on obtient le nombre de tches qui le constituent
(Motiftaches) et X peut tre calcul selon la formule suivante : X = Totaltaches/ Motiftaches .
10- FRONT PARETO [28] :
Figure 31: Exemple illustrant placement de motif 8 Tches sur 5 Processeurs.
T1
T2T3 T4 T5
T6 T7 T8
-
8/7/2019 memoire PFE mostefa 2009
57/87
CHAPITRE III CONTRIBUTION AU MAPPING MULTI OBJECTIFS DES TACHES REPETITIVES
47
DIAGRAMME DE GANTT :
Figure 32 : Diagramme Gantt qui illustre la figure 31
La figure 32 montre le placement et lordonnancement des diffrentes tches de la figure 31.
Conclusion
Le placement sur les NOC dsign par Assignation, affectation et ordonnancement (AAS)
consiste atteindre certains objectifs comme le temps rel, consommation dnergie, la
mmoire, qui sont souvent recherchs ensembles parce quon ne peut minimiser le temps de
calcul global sans minimiser le cot de communication global, ou augmenter les
performances du NOC sans penser minimiser la perte de lnergie, ce qui nous permet de
conclure que ce problme ne peut tre solutionn en cherchant des objectifs sparment mais
dessayer dau moins datteindre quelques objectifs pertinents ensembles cest ce quon
appelle loptimisation multi-objectifs.
-
8/7/2019 memoire PFE mostefa 2009
58/87
CHAPITRE IV Implmentation et Mise en uvre
48
CHAPITRE IV
IMPLEMENTATION
ET MISE EN UVRE
-
8/7/2019 memoire PFE mostefa 2009
59/87
CHAPITRE IV Implmentation et Mise en uvre
49
1. Introduction :
Dans notre contribution nous avons constat quil faut construire un modle comprenant
les valeurs de temps d'excution de chaque tche sur chaque processeur en fonction du
voltage ainsi que les performances des rseaux d'interconnexion en fonction du volume de
donnes transportes. Ces valeurs sont fournies l'algorithme Branch & Bound d'optimisation
Parallle multicritres qui propose un placement qui reprsente loptimum thorique
exact ou plusieurs placements intressants par rapport ces performances et aussi en
vrifiant le critre des contraintes temporelles pour le choix du motif Optimal . Dans ce
chapitre, on passe aux diffrentes tapes de conception et dveloppement du logiciel.
2.Mthodologie de conception UML.
UML (Unified Modeling Language, que l'on peut traduire par "langage de modlisation
unifi) est une notation permettant de modliser un problme de faon standard. Ce langage
est n de la fusion de plusieurs mthodes existant auparavant, et devenu dsormais la
rfrence en terme de modlisation objet.
2.1. La notion d'objet
La programmation oriente objet consiste modliser informatiquement un ensemble
d'lments d'une partie du monde rel (que l'on appelle domaine) en un ensemble d'entits
informatiques. Ces entits informatiques sont appeles objets. Il s'agit de donnes
informatiques regroupant les principales caractristiques des lments du monde rel (taille, la
couleur,) .
2.2. Les mthodes objets
La modlisation objet consiste crer une reprsentation informatique des lments du monde
rel auxquels on s'intresse, sans se proccuper de l'implmentation, ce qui signifie
indpendamment d'un langage de programmation. Il s'agit donc de dterminer les objets
prsents et d'isoler leurs donnes et les fonctions qui les utilisent. Pour cela des mthodes ont
t mises au point. Entre 1970 et 1990, de nombreux analystes ont mis au point des approches
orientes objets, si bien qu'en 1994 il existait plus de 50 mthodes objet. Toutefois seules 3
mthodes ont vritablement merg :
La mthode OMT de Rumbaugh, La mthode BOOCH'93 de Booch, La mthode OOSE de Jacobson (Object Oriented Software Engineering).
-
8/7/2019 memoire PFE mostefa 2009
60/87
CHAPITRE IV Implmentation et Mise en uvre
50
3.Lenvironnement dimplmentation
Notre choix est bas sur deux critres fondamentaux :
La programmation sous Windows qui offre beaucoup davantages. La programmation java en utilisant eclipse.
La programmation sous Windows
Windows est bien plus quune interface graphique conviviale, il sagit dune rvolution pour
les programmeurs. Les applications dveloppes sous Windows communiquent entre elles par
des vnements des envois de messages. Elles se partagent les ressources de lordinateur et
offrent lutilisateur une interface iconique intuitive.
La programmation sous Windows fait bnficier dun grand nombre davantages :
Utilisation dune mmoire par lexploitation de la mmoire pagine et lutilisation dudisque comme supports dchange (mmoire virtuelle).
Une interface utilisateur prdfinie, elle permet de concevoir des logiciels performantssans se proccuper des dtails de cration des composants de linterface. Elle permet
aussi dobtenir des programmes faciles manipuler car elle utilise une prsentation
standard connue par la majorit des utilisateurs, ce qui rduit le temps
dapprentissages du logiciel.
Lenvironnement Windows se proccupe de grer les dtails matriels de bas niveaude la machine ainsi que tous les priphriques (la carte graphique, imprimante). Les
programmes dvelopps sous Windows bnficient dune part de lenvironnement
MS-DOS et dautre part dune interface utilisateur graphique cohrente. Cette
interface est oriente souris avec menu droulant, fentres et boite de dialogue.
-
8/7/2019 memoire PFE mostefa 2009
61/87
CHAPITRE IV Implmentation et Mise en uvre
51
Le langage de programmation java
Java, langage orient objet, dvelopp par SUN(1991). Le but de Java l'poque tait de
constituer un langage de programmation pouvant s'intgrer dans les appareils lectromnagers
afin de pouvoir les contrler, de les rendre interactifs, et surtout de permettre une
communication entre les appareils. La syntaxe est proche de celle du C, mais Java n'est pas
une surcouche du C et la syntaxe est beaucoup plus claire que celle du C++. Java prsente
beaucoup d'avantages : scuris, robuste, indpendant du matriel, portable ... Le byte-code,
assurant une portabilit complte vers de trs nombreux systmes. L'importance de l'API qui
offre tous les services de base, notamment pour la construction des interfaces graphiques.Son
adaptabilit dans de nombreux domainesparmis eux les systmes embarqus.
Lenvironnement eclipse
Le projet Eclipse trouve son origine au sein de la socit IBM, qui a dcid en 2001 de mettre
disposition de la communaut Open Source l'bauche d'une plate-forme de dveloppement
ouverte, entirement crite en Java, capable d'intgrer des extensions adaptes diverses
activits (dbogage, modlisation, interfaces graphiques...). L'objectif tant de crer un
environnement de dveloppement intgr polyvalent, extensible, capable de travailler avecn'importe quel langage de programmation. Et ce grce une architecture base sur la notion
de plug-in, module fonctionnel qui se rattache la plate-forme via un mcanisme appel point
d'extension. La base de cet environnement est constitue par l'Eclipse platform, qui
comprend : la Platform runtime, charge du dmarrage de l'environnement et de la gestion des
plug-in ; SWT, la librairie graphique de base de l'environnement ; JFace, une librairie
graphique de plus haut niveau ; et enfin le Workbench, couche graphique qui permet de
manipuler des composants (sous la forme de vues, d'diteurs, de perspectives, etc.).
L'ensemble des outils de dveloppement (Java, C/C++...),
4.Les diagrammes UML :
Parmis les diagrammes UML quon a utilis lors de la conception de notre application sont :
-diagramme de classe
-diagramme dactivit
-diagramme de squence
-
8/7/2019 memoire PFE mostefa 2009
62/87
CHAPITRE IV Implmentation et Mise en uvre
52
Figure 34 :Diagramme Classe 1 .
Figure 33 :Diagramme dActivit.
Placement BNB cot
dure :
Calcul_dure()
Eliminatin intra_proc()
Placement BNB cot
energie :
Calcul_energie()
Plus court chemin :
Nbr_lien()
Autre_chemin()
Placement avec contrainte :
Elimination_noeud_i ()
Prparation
Archivage PARETO
et motif optimal
FORK
JOIN
Placement avec calcul slack
total :
Calcul general ()
-
8/7/2019 memoire PFE mostefa 2009
63/87
CHAPITRE IV Implmentation et Mise en uvre
53
Cot dure
Calcul dure()
Elimination inter
proc (
Figure 35 : diagramme de classe 2
-
8/7/2019 memoire PFE mostefa 2009
64/87
CHAPITRE IV Implmentation et Mise en uvre
54
ArchivagePARETO
Figure 36 :Diagramme de Sequence de lapplication .
1 : affecter calcul dure nud fils()
2 : affecter calcul dure noeud pre ()
3 : affecter calcul nergie nud fils()
4 : affecter calcul nergie nud pre()
5 : envoyer dominance du nud fils ()
Saisie matricielle Saisie graphique Nud pre Nud fils BNB parallle Plus court chemin
ALT
Itrative
Placement BNB cot
dure :
Calcul_dure()
Eliminatin intra_proc()
Placement BNB cot
energie :
Calcul_energie()
Plus court chemin :
Nbr_lien()
Autre_chemin()
Placement avec contrainte :
Elimination_noeud_i ()
Appel plus
Court chemin()
Retourne nbr_lien
du chemin()
Archiver solutions pareto()
Archiver solutions avec
contrainte temps ()
1
2
3
4
5
Calcul son nergie
interne()
Sommer avec
lnergie du
nud pre()
Envoyer_energie()
Envoyer_dure
Placement avec calcule
slack total:
Calcul general ()
Choisir meilleur motif ()
Archiver solutions selon
3iemes critres min slack ()
-
8/7/2019 memoire PFE mostefa 2009
65/87
-
8/7/2019 memoire PFE mostefa 2009
66/87
CHAPITRE IV Implmentation et Mise en uvre
56
6.DESCRIPTION DE LAPPLICATION :
6.1/ Saisie Matricielle :
Dans le mode graphique de notre application, on trouve dans la premire fentre quatre
champs textuel ou on peut introduire la taille de la grille torique , le nombre de processeurs ,le
nombre des taches et le nombre Totale de taches rptitives de lapplication, et afin daccder
aux Caractristiques du graphe dapplication et aussi caractristiques de lArchitecture
Hardware cible qui est Grille Torique bidirectionnelles Homogne on doit appuyer sur le
bouton Suivant.
IllustrationdeLa fentre Main (introduction).
Champ permettant dintroduire la
taille de La grille
Champ permettant
dintroduire le nombre de
processeurs .
Champ permettant
dintroduire le nombre de
Taches .
Champ permettant dintroduire Le
Nombre de Taches Rptitives
-
8/7/2019 memoire PFE mostefa 2009
67/87
-
8/7/2019 memoire PFE mostefa 2009
68/87
CHAPITRE IV Implmentation et Mise en uvre
58
6.3 Placements et Ordonnancement des diffrents Tableaux de Simulation :
Notre but est de rechercher le meilleur Motif Optimal en appliquant l'algorithme Branch &
Bound d'optimisation Parallle multicritres qui propose un ou des placements intressants
par rapport ces performances et en vrifiant le critre des contraintes temporelles .
6.3.1 Les Placements BnB Cout avec contraintes :
Les placements en bas de cette fentre illustre les solutions ralisables du Pareto avec
Optimisation de la fonction cot Energie et cot dure en tenant aussi compte des
contraintes temporelles du Dead line de lapplication et du minimum Total Slack :
chaque placement est reprsenter par un
triplet (T3 / T2 / T1) .
Solutions du Pareto suivant les citeres de
lEnergie et Dure et verification Dead Line .
Les Valeurs du Total Slack pour chaque
placement selon le 3eme
critere Min Slack T.
-
8/7/2019 memoire PFE mostefa 2009
69/87
CHAPITRE IV Implmentation et Mise en uvre
59
6.3.2 Placement des Communications sur une Architecture cible Grille
Bidirectionnelle torique 5*5 homogne Avec la mthode Nord West illustre
comme suit :
Le chemin le plus court retourn avec des liens non saturs
dans une grille torique bidirectionnelle.
-
8/7/2019 memoire PFE mostefa 2009
70/87
-
8/7/2019 memoire PFE mostefa 2009
71/87
CHAPITRE IV Implmentation et Mise en uvre
61
RESULTAT (ARCHIVAGE PARETO et Choix du Motif Optimal ) :
le Nbre de rptitions =
( X est le nombres Totales des Taches rptitives).
- Le choix du bon compromis entre Nbre Ti / Nbre Pj est dtermin par lalgorithme
dOptimisation multicritres BnB Parallle partir dArchivage Pareto.
6.4 La Reprsentation Graphique du diagramme de GANTT :
La Figure ci-dessous montre la reprsentation du Diagramme Gantt dun placement
(T3/T2/T1) qui vrifie le minimum du total Slack comme suit :
PROCESSEUR TACHE Min Slack S_T
M1 Nbre P1 Nbre T2 Val Min S_T1
M2 Nbre P2 Nbre T2 Val Min S_T2
Val Min S_T3
Mn Nbre Pn Nbre Tn Val Min S_Tn
X
Taille Motif
-
8/7/2019 memoire PFE mostefa 2009
72/87
CHAPITRE IV Implmentation et Mise en uvre
62
7. Mapping multi-objectif dune application rel:
Nous avons repris lexemple dune application relle dun dcodeur vido avec
communication (figure 7.13) [24] .
-
8/7/2019 memoi