memoire PFE mostefa 2009

download memoire PFE mostefa 2009

of 87

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