La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

1. Introduction 2. Les réseaux sur puce NOC 3. Conception des SOC

Présentations similaires


Présentation au sujet: "1. Introduction 2. Les réseaux sur puce NOC 3. Conception des SOC"— Transcription de la présentation:

1 Mapping multi-objectif à l’aide d’un algorithme génétique pour les applications embarquées
1. Introduction 2. Les réseaux sur puce NOC 3. Conception des SOC 4. Optimisation multi-objectif 5. Proposition & contribution 6. Conception & Implémentation 7. Conclusion Par: Amine OUAFI Encadreurs : - Mr A. BENYAMINA Mr P. BOULET Président: Mr M. BOUAZZA Examinateur: Mme L. BOUDJANI Mr M. SAYAH REMERCIEMENTS 30 JUIN Avant toute chose Je tiens à remercier mon encadreur Mr BENYAMINA pour sa pédagogie et ses orientations. A Mr PIERRE BOULET, mon co-encadreur, un grand merci à sa générosité. A mon Président de jury, Mr BOUAZZA, UN GRAND MERCI à vous, à Mme BOUJANI, à Mr SAYAH d’avoir accepté de composer mon jury. Je me présente devant votre honneur avec respect et grande estime. Notre projet de fin d'etude porte sur le sujet: 2008/2009

2 Plan Introduction Les réseaux sur puce NOC Conception des SOC
4. Optimisation multi-objectif 5. Proposition & contribution 6. Conception & Implémentation 7. Conclusion Introduction Les réseaux sur puce NOC Conception des SOC Optimisation multi-objectif Proposition & contribution Nous allons dans un premier temps donner brièvement quelques définitions du système embarqué et (dans un deuxième temps) ensuite présenter l'approche multiobjectif. Conception & Implémentation Conclusion

3 Introduction La plus grande partie des systèmes informatiques utilisés de nos jours sont des systèmes embarqués  1. Introduction 2. Les réseaux sur puce NOC 3. Conception des SOC 4. Optimisation multi-objectif 5. Proposition & contribution 6. Conception & Implémentation 7. Conclusion Exemple : téléphones mobiles, horloges, baladeurs, récepteurs GPS, électroménager, automobile, transport

4 Domaine d’utilisation
Introduction Domaine d’utilisation Applications majeurs Espace Compression de donnée Médecine Diagnostic par image (ultrason..) Analyse electrocardiogram Commerce Compression d’image et du son pour la présentation multimédia Effets spéciaux dans le cinéma La vidéo conférence Téléphonie Compression de la voix et de données Réduction de l’echo Signal multiplexing Filtrage Militaire Radar Sonar Guidage de cible Sécuriser la communication Industrie Prospection d’eau et de pétrole Traitement et contrôle Test CAD et outils de conception Science Modélisation et simulation Acquisition de données 1. Introduction 2. Les réseaux sur puce NOC 3. Conception des SOC 4. Optimisation multi-objectif 5. Proposition & contribution 6. Conception & Implémentation 7. Conclusion Les systèmes embarqués sont aujourd’hui omniprésents dans la vie de chacun. Leurs domaines d’applications s’élargissent de plus en plus.

5 Les réseaux sur puce NOC
1. Introduction 2. Les réseaux sur puce NOC 3. Conception des SOC 4. Optimisation multi-objectif 5. Proposition & contribution 6. Conception & Implémentation 7. Conclusion Système embarqué : un système électronique et informatique autonome, qui est dédié à une tâche bien précise Un ensemble de logiciels et de matériels conçu pour une application spécifique contrairement à un système qui peut effectuer toutes sortes de tâches tel qu'un ordinateur de bureau. Utilisent généralement des micro-processeurs ou des micro-contrôleurs pas nécessairement très puissants mais bien adaptés à la tâche. Il existe plusieurs définitions des systèmes embarqués on peut retenir qu’ Un système embarqué peut être défini comme les différences avec un ordinateur du bureau – L’interface IHM peut être aussi simple qu’une diode qui clignote ou aussi complexe qu’un système de vision de nuit en Temps Réel. – Des circuits numériques FPGA, ASIC ou des circuits analogiques sont utilisés en plus pour augmenter les performances du système ou sa fiabilité. – Le logiciel a une fonctionnalité fixe à exécuter une application bien spécifique .

6 Les réseaux sur puce NOC
1. Introduction 2. Les réseaux sur puce NOC 3. Conception des SOC 4. Optimisation multi-objectif 5. Proposition & contribution 6. Conception & Implémentation 7. Conclusion Caractéristiques et contraintes : • Fonctionnement en Temps Réel . • Faible poids . • Faible consommation . • L’impact de l’environnement . • Fonctionnement critique pour la sécurité des personnes. Sûreté . • Faible coût . Fonctionnement en Temps Réel : - Réactivité : des opérations de calcul doivent être faites en réponse à un événement extérieur. - La validité d’un résultat (et sa pertinence) dépend du moment où il est délivré. - Rater une échéance va causer une erreur de fonctionnement. • Faible encombrement, faible poids : - Electronique « pocket PC », applications portables où l’on doit minimiser la consommation électrique. - Difficulté de réaliser le packaging afin de faire cohabiter sur une faible surface électronique analogique, électronique numérique, sans interférences. • Faible consommation : - Batterie de 8 heures et plus (PC portable : 2 heures). • Environnement : - Température, vibrations, chocs, variations d’alimentation, corrosion, eau, feu, radiations. - Prise en compte des évolutions des caractéristiques des composants en fonction de la température, des radiations... • Fonctionnement critique pour la sécurité des personnes. Sûreté : - Le système doit toujours fonctionner correctement. - Sûreté à faible coût avec une redondance minimale. - Sûreté de fonctionnement du logiciel. - Choix entre un design tout électronique ou électromécanique. - Système opérationnel même quand un composant électronique lâche. • Beaucoup de systèmes embarqués sont fabriqués en grande série et doivent avoir des prix de revient extrêmement faibles, ce qui induit : - Une faible capacité mémoire. - Un petit processeur (4 bits). Petit mais en grand nombre ! • La consommation est un point critique pour les systèmes avec autonomie : - Une consommation excessive augmente le prix de revient du système embarqué car il faut alors des batteries de forte capacité. • Faible coût : - Optimisation du prix de revient : une exigence incontournable.

7 Les réseaux sur puce NOC
Architecture d’un exemple de système embarqué : 1. Introduction 2. Les réseaux sur puce NOC 3. Conception des SOC 4. Optimisation multi-objectif 5. Proposition & contribution 6. Conception & Implémentation 7. Conclusion Software FPGA /DSP Mémoire Convertisseur A/N Capteurs CPU Convertisseur N/A Actionneurs Environnement Externe Sécurité & sauvegarde électromécanique Interface Humaine Port de Diagnostique Systèmes Auxiliaires (Power, Cooling) Architecture générale des systèmes embarqués : Ce n'est pas un système qui contient tous les composants comme le système complet. Car le but de conception est de servir quelques tâches spécifiques On retrouve en entrée des capteurs généralement analogiques couplés à des convertisseurs A/N. On retrouve en sortie des actionneurs généralement analogiques couplés à des convertisseurs N/A. Au milieu, on trouve le calculateur mettant en œuvre un processeur embarqué et ses périphériques d'E/S. Il est complété généralement d'un circuit FPGA jouant le rôle de coprocesseur afin de proposer des accélérations matérielles au processeur. On retrouve en fait un système d'asservissement entre les entrées et les sorties ! Il est à noter que l'expression la plus simple de cette Figure1.1 est de considérer comme capteurs, des interrupteurs et comme actionneurs, des leds. Sur ce schéma théorique se greffe un paramètre important : le rôle de l'environnement extérieur. Contrairement au PC dans un bureau, un système embarqué doit faire face à des environnements plus hostiles. Il doit faire face à un ensemble de paramètres agressifs : Variations de la température. Vibrations, chocs. Variations des alimentations. Interférences RF. Corrosion. Eau, feu, radiations. L'architecture de base est la plupart du temps composée d'une unité centrale de traitement (CPU), d'un système d'exploitation qui réside parfois uniquement en un logiciel spécifique (ex: routeur), ou une boucle d'exécution (ex: ABS ). De même l'interface IHM n'est pas souvent existante, mais est souvent utile pour reconfigurer le système ou vérifier son comportement. Le fonctionnement du système se résume ainsi: Il reçoit des informations de l'environnement extérieur qu'il converti en signal numérique L'unité de traitement composée du CPU, de la mémoire, du logiciel, de l'ASIC et éventuellement de système externe traite l'information Le traitement génère éventuellement une sortie qui est envoyée vers la sortie, les systèmes auxiliaires, les ports de monitoring ou l'IHM

8 Les réseaux sur puce NOC
Les prévisions de la loi « MOORE » se réalisent : 1. Introduction 2. Les réseaux sur puce NOC 3. Conception des SOC 4. Optimisation multi-objectif 5. Proposition & contribution 6. Conception & Implémentation 7. Conclusion LES PREVISIONS DE LA LOI MOORE SE REALISENT : Les systèmes embarqués progressent au rythme de l’évolution des processeurs. qui sont de plus en plus rapides et puissants et qui ont permis cette révolution du marché de l'embarqué. Ceci se confirme à travers la loi de Moore, cofondateur d'Intel, qui prédit que pour une surface de silicium donnée, on double le nombre de transistors intégrés tous les 18 mois ! Cette figure montre que dans le premier microprocesseur commercial Intel 4004, La complexité est passée de 2250 transistors, à des centaines de milliers pour les microprocesseurs actuels. La puissance de traitement a augmenté pendant la même période de 6000 instructions exécutées par seconde à plusieurs milliards pour les processeurs les plus performants. Cette évolution rapide de la technologie informatique représente l’un des plus importants phénomènes techniques depuis plusieurs décennies. C’est elle qui a déclenché cette course, que nous vivons maintenant, à la miniaturisation de tout appareil électronique. L‘exemple le plus illustrant de ce phénomène est la téléphonie mobile.

9 Les réseaux sur puce NOC
1. Introduction 2. Les réseaux sur puce NOC 3. Conception des SOC 4. Optimisation multi-objectif 5. Proposition & contribution 6. Conception & Implémentation 7. Conclusion Soc : Un système sur puce (System on Chip en anglais, SoC) peut intégrer sur une seule et même puce des processeurs, des mémoires, des réseaux d’interconnexions et des circuits spécifiques . SOC NOC MP interconnexion L’interconnexion au sein des SOC : SOC Aux côtés de processeurs universels, on a eu recours à des circuits spécialisés pour la réalisation de certaines fonctions pour gagner en performance. Dans le cas des systèmes embarqués, ce gain de performance pourra résulter de l’intégration fine au sein d’un même circuit des divers composants matériels et logiciels pour former ce qu’il convient d’appeler un SOC (System On Chip). Par ailleurs, leur intégration sur une seule puce permet un gain en place et en consommation d’énergie, ce qui vaut au SoC d’être couramment utilisé dans les systèmes embarqués. Du monoprocesseur au Multiprocesseur La première tendance s’est limitée à l’utilisation d’architectures monoprocesseurs tout en améliorant considérablement les performances du CPU utilisé et l’utilisation de coprocesseurs. La deuxième tendance s’est tournée vers les architectures multiprocesseurs . Il s’avère qu’il peut être de plus en plus difficile d’avoir des architectures monoprocesseurs assez rapides, lorsque les architectures multiprocesseurs sur puce deviennent déjà réalisables. Avec le progrès technologique et la capacité d’intégration de centaines de millions de transistors sur une seule puce deux tendances architecturales ont émergé pour relever ce défi. Aujourd'hui, l'interconnexion au sein d'un composant électronique complexe (SoC : System On Chip) est un problème important en termes de coût du silicium, de sa performance, de sa consommation. Les architectures à base de bus sont clairement insuffisantes. Les systèmes de type NoC (Network on Chip), véritables protocoles de réseau sur puce, sont à la fois les plus prometteuses. Etant donné l’évolution rapide et de plus en plus complexe des systèmes sur puce (SoC - System On Chip) vers des systèmes sur puce multi-processeurs (MPSoC - Multiprocessors SoC), l’interconnexion de communication des modules ou cœurs (IP - Intellectual Property) constituant ces systèmes, a subit une évolution tant sur le plan de la topologie que de la structure. Cette dernière répond à des contraintes de performance et de coût liées à la complexité et à l’augmentation croissante des modules ou IPs interconnectés. Actuellement cette évolution s’oriente vers l’intégration d’un réseau de communication sur puce, mettant en oeuvre la transmission des données par paquets vers les noeuds interconnectés au réseau et correspondant aux modules ou IPs (processeurs, mémoires, contrôleurs de périphériques reliés, etc.). Cette transmission est réalisée à travers des routeurs constituant le réseau et mettant en oeuvre des règles d’aiguillage et de routage des paquets à travers le réseau.

10 Les réseaux sur puce NOC
1. Introduction 2. Les réseaux sur puce NOC 3. Conception des SOC 4. Optimisation multi-objectif 5. Proposition & contribution 6. Conception & Implémentation 7. Conclusion Les réseaux sur puce (NoC): Du succès du SoC (Système On Chip) est né le NoC (Network On Chip). Avant les MPSoCs ont été fondés sur les bus, et maintenant, ils sont basé sur les NoCs. Créée en début 2003, la start-up française Arteris propose la notion de réseau à l'intérieur de la puce, qu'elle appelle NOC DEFINITION DU CONCEPT de NoC : Réseau sur une puce (NoC) est relativement une nouvelle approche visant à intégrer les circuits sur une plate-forme SoC. Une plateforme de NOC est une structure de maille composée de passages avec chaque commutateur connecté à une ressource, comme il est montré sur la figure 1.6. Les ressources sont placées sur les fentes constituées par les commutateurs. Le commutateur de réseau offre une communication pour des ressources. Les ressources exécutent leurs propres fonctionnalités informatiques et fournissent le Ressource-Réseau-Interface(RNI).

11 Les réseaux sur puce NOC
1. Introduction 2. Les réseaux sur puce NOC 3. Conception des SOC 4. Optimisation multi-objectif 5. Proposition & contribution 6. Conception & Implémentation 7. Conclusion

12 Conception des SOC Programmation des SoCs suivant une approche de co-conception : 1. Introduction 2. Les réseaux sur puce NOC 3. Conception des SOC 4. Optimisation multi-objectif 5. Proposition & contribution 6. Conception & Implémentation 7. Conclusion Dans les SOC les concepteurs peuvent intégrer tout un système logiciel/ matériel sur la même puce . Concevoir un système embarqué n’est pas comme celle des systèmes classiques La programmation des systèmes sur puce est une tâche complexe qui est liée à l’hétérogénéité des systèmes et à la complexité croissante des applications traitées. La co-conception est dérivée du fameux schéma en « Y ». Le haut de la figure représente la conception séparée de l’application et de l’architecture. Le centre représente le placement de l’application sur l’architecture et le bas correspond au résultat du placement : un code exécutable par exemple. La conception conjointe de logiciel et de matériel, ou co-conception, réduit l’effort de programmation car elle prend en considération chacun de ces éléments : l’application, l’architecture matérielle et le placement de l’une sur l’autre.

13 Conception des SOC Défis de conception rencontrés par les SoCs :
1. Introduction 2. Les réseaux sur puce NOC 3. Conception des SOC 4. Optimisation multi-objectif 5. Proposition & contribution 6. Conception & Implémentation 7. Conclusion Défis de conception rencontrés par les SoCs : . Temps de mise sur le marché : contrainte du marché. Coût de la conception. Complexité de la conception. Éléments de réponses aux problèmes de conception des SoCs : La productivité. La réutilisation. La pérennisation. - Standardisation des langages de description ( Hard/Soft ). - Intégration de toute la chaine de Co-conception. Tout cela a un impact conséquent sur la conception des SoCs qui fait face aujourd’hui à de nombreux défis : un temps de mise sur le marché très court, le coût de la conception, la complexité du silicium, la productivité, etc. Temps de mise sur le marché : contrainte du marché Il faut être réactifs aux publications de nouveaux standards. Coût de la conception : 80% du coût est lié à la réalisation du logiciel qui permet de concevoir le SoC. . Par exemple, l’unification des représentations d’un SoC facilite la collaboration entre les différents spécialistes intervenants dans sa conception. Complexité de la conception : Les SoCs sont hétérogènes et intègrent de nombreuses ressources qui sont très diverses et qu’il convient de faire communiquer Éléments de réponses aux problèmes de conception des SoCs : La productivité reste l’élément majeur qui permet aux équipes de conception de SoCs de faire face à chacun de ces défis. Cette productivité se traduit plus techniquement par les éléments suivants : La réutilisation. La vérification et le test. Des plates-formes de conception et d’implémentation sûres. Des processus de gestion de la conception. La pérennisation des outils est la principale préoccupation des développeurs d’environnements de co-conception, elle nécessite : la description dans un même langage de l’application et de l’architecture ; la réutilisation et la pérennisation des descriptions réalisées avec les outils de simulation ou synthèse actuels et à venir ; l’utilisation de formats standards pour l’échange, la sauvegarde et la réutilisabilité ; l’intégration dans un seul environnement de toute la chaîne de co-conception. - La productivité. - La réutilisation. - La pérennisation. - Standardisation des langages de description (architecture, application). permet l’échange. - Intégration de toute la chaine de co-conception

14 Conception des SOC Ingénierie Dirigée par les Modèles (IDM) :
1. Introduction 2. Les réseaux sur puce NOC 3. Conception des SOC 4. Optimisation multi-objectif 5. Proposition & contribution 6. Conception & Implémentation 7. Conclusion Ingénierie Dirigée par les Modèles (IDM) : Compréhension d’un système complexe passe par une présentation abstraite et simplifié (la modélisation). Approche IDM modèle productif Utilise des modèles et des metamodèles Il y’a plusieurs approches d’IDM pour la conception et la plus connue et celle en Y dont GASPARD s’est basée

15 Conception des SOC Environnement de co-conception pour SoC Gaspard :
1. Introduction 2. Les réseaux sur puce NOC 3. Conception des SOC 4. Optimisation multi-objectif 5. Proposition & contribution 6. Conception & Implémentation 7. Conclusion GASPARD: (Graphical Array Specification for Parallel and Distributed Computing) Modele « Y » génerer differents codes à partir d’un même placement d’une application sur une architecture. Generer du code SystemC: simuler le comportement d’un soc à plusieurs niveau Deploiement : Relier ls composants de l’application et de l’architecture en utilisant les ip. ARRAY-OL : modèle de calcul qui permet la description d’applications L’ensemble de l’environnement Gaspard est construit dans une démarche IDM, de la modélisation en UML jusqu’à la génération de code. 1 IDM dans Gaspard : La figure 2.3 représente l’implémentation de l’environnement Gaspard en IDM. Chaque boîte représente un métamodèle et les flèches entre ces boîtes des transformations de modèles. Le métamodèle Deployed est celui de plus haut niveau d’abstraction à partir duquel différentes transformations permettent de raffiner un modèle jusqu’à la génération de code. À partir d’un modèle conforme au métamodèle Deployed, l’environnement Gaspard peut générer plusieurs implémentations de ce modèle pour différentes plateformes d’exécution. 4.2 Métamodèle Deployed : Le métamodèle Deployed est une composition de plusieurs métamodèles (application, architecture, association et déploiement) comme illustré à la figure 2.3. 4.3 Métamodèles de spécification de Gaspard Le métamodèle d’application regroupe différents concepts permettant la modélisation des applications Gaspard. Le métamodèle d’architecture permet la conception de l’architecture à l’aide de composants matériels, qui sont des abstractions de composants physiques. Le métamodèle d’association permet la description du placement des tâches et des données d’une application sur des composants de l’architecture : il permet de spécifier par quel composant matériel est exécutée une partie de l’application, ou dans quelle mémoire est stocké un ensemble de données. Pour cela, l’association importe l’application et l’architecture. Le métamodèle d’association permet la description du placement des tâches et des données d’une application sur des composants de l’architecture : il permet de spécifier par quel composant matériel est exécutée une partie de l’application, ou dans quelle mémoire est stocké un ensemble de données. Pour cela, l’association importe l’application et l’architecture.

16 Conception des SOC 1. Introduction 2. Les réseaux sur puce NOC
4. Optimisation multi-objectif 5. Proposition & contribution 6. Conception & Implémentation 7. Conclusion

17 Optimisation multi-objectif
L’optimisation multi-objectifs vise à optimiser simultanément plusieurs objectifs souvent contradictoires. Les problèmes multi-objectifs présentent un ensemble de solutions dites optimales (Pareto Optimales). Deux phases de résolution: Déterminer l’ensemble PO Choisir une solution 1. Introduction 2. Les réseaux sur puce NOC 3. Conception des SOC 4. Optimisation multi-objectif 5. Proposition & contribution 6. Conception & Implémentation 7. Conclusion est apparue au 19ieme siècle avec les travaux de Pareto [1896]appliquée initialement en économie graduellement avant d'autres Les problèmes d'optimisation La plupart d'entre eux nécessitent l'optimisation simultanée de plusieurs objectifs souvent contradictoires.rarement uniobjectif L’optimisation multi-objectifs vise à optimiser simultanément plusieurs objectifs souvent contradictoires. Les problèmes multi-objectifs présentent un ensemble de solutions dites optimales (Pareto Optimales). La détermination ou l'approximation de l'ensemble PO n'est qu'une première phase possible dans la résolution pratique d'un PMO. La deuxième phase consiste à choisir une solution à partir de cet ensemble en fonction des préférences exprimées par le décideur. Deux phases de résolution: Déterminer l’ensemble PO Choisir une solution

18 Problème multi-objectif
1. Introduction 2. Les réseaux sur puce NOC 3. Conception des SOC 4. Optimisation multi-objectif 5. Proposition & contribution 6. Conception & Implémentation 7. Conclusion Il n’existe pas de définition de la solution optimale(unique solution). Rechercher l’ensemble des solutions satisfaisantes. Les méthodes de résolution de PMO sont des méthodes d’aide à la décision. Définition: Vecteur des objectif Solution réalisable La difficulté principale d'un PMO est Il n’existe pas de définition de la solution optimale(unique solution). Dès lors, résoudre un PMO ne consiste pas à rechercher la solution optimale mais l'ensemble des solutions satisfaisantes Rechercher l’ensemble des solutions satisfaisantes. Les méthodes de résolution de PMO sont des méthodes d’aide à la décision. car le choix final sera laissé au décideur Définition:

19 Notion de dominance F2 B Est dominé E F A D indifférent Domine C F1
1. Introduction 2. Les réseaux sur puce NOC 3. Conception des SOC 4. Optimisation multi-objectif 5. Proposition & contribution 6. Conception & Implémentation 7. Conclusion F2 B Est dominé E F A D indifférent Domine C La Figure ci-dessous présente les relations de dominance pour deux objectifs de minimisation. Le rectangle gris clair contient les solutions dominant la solution représentée par le point B. Le rectangle gris foncé entoure la région contenant les solutions dominées par B. Toutes les autres solutions ne e trouvant ni dans le rectangle clair, ni dans le rectangle foncé, sont indifférentes à la solution représentée par B. F1 Illustration des relations de dominance entre solutions pour deux objectifs de minimisation

20 Optimum de Pareto Energie Pareto optimal = non-dominées Dominées Temps
1. Introduction 2. Les réseaux sur puce NOC 3. Conception des SOC 4. Optimisation multi-objectif 5. Proposition & contribution 6. Conception & Implémentation 7. Conclusion Energie Pareto optimal = non-dominées Dominées Cet équilibre a été appelé optimum de Pareto. Un point x* ' E (ensemble de solutions) est dit Pareto optimal s'il n'est dominé par aucun autre point appartenant à E. Ces points sont également appelés solutions non inférieures ou non dominées. L'ensemble de tous les points Pareto optimaux constitue la frontière Pareto. dans un PMO, il existe un équilibre tel que l'on ne peut pas améliorer un objectif sans détériorer au moins un des autres [Pareto, 1896]. À la Figure ci-dessous, les solutions représentées par des ronds gris foncés représentent les solutions Pareto optimales. L'ensemble de ces solutions reliées par la ligne en pointillés constitue la frontière Pareto. Les solutions représentées par des ronds blancs représentent l'ensemble des solutions dominées. Temps Illustration du concept d’optimum Pareto

21 Optimisation multi-objectif
Résolution des problèmes multi-objectifs : Les algorithmes évolutionnaires ont été très largement utilisés en optimisation multi-objectif. 1. Introduction 2. Les réseaux sur puce NOC 3. Conception des SOC 4. Optimisation multi-objectif 5. Proposition & contribution 6. Conception & Implémentation 7. Conclusion L'importance de l'optimisation multi-objectif pour les applications réelles est globalement admise aujourd'hui. . En effet, cela permet de découvrir naturellement un ensemble de solutions de compromis pour le problème multi-objectif.

22 Proposition & contribution
1. Introduction 2. Les réseaux sur puce NOC 3. Conception des SOC 4. Optimisation multi-objectif 5. Proposition & contribution 6. Conception & Implémentation 7. Conclusion Par conséquent notre travail sera basé l’approche de résolution multi-objectif permettant de trouver le meilleur mapping d‘une application de ce type d’architecture NoC. Le placement et ordonnancement (Mapping and Scheduling) appelé aussi AAS (Assignation Affectation and Scheduling) sont des étapes qui suivent l‘étape de spécialisation du NoC. Leur rôle est d‘implémenter l‘application sur l‘architecture sélectionnée. Dans la conception des SoCs, on doit trouver un compromis entre ces différents objectifs, ce qui va nous amener à faire du multi-objectifs qui constitue la partie centrale de notre travail.

23 Proposition & contribution
Figure 4.1 : Problématique 1. Introduction 2. Les réseaux sur puce NOC 3. Conception des SOC 4. Optimisation multi-objectif 5. Proposition & contribution 6. Conception & Implémentation 7. Conclusion Problématique du placement et ordonnancement : Dans le flot de conception, l‘étape de placement et ordonnancement est directement liée à l’implémentation de l‘application sur une architecture spécialisée. Fonction objectif Modèle application Modèle architecture Simulateur de Mapping & Scheduling Meilleur placement des taches sur les SOC’s Contraintes Les entrées de cette phase sont : Un modèle d‘application, Un modèle d‘architecture cible, Des contraintes de performance et d‘énergie, Des fonctions objectifs à optimiser. La sortie de cette phase est une affectation des différentes tâches et communications aux ressources physiques, selon un ordonnancement d’exécution des différentes tâches sur ces ressources

24 Problématique AG 1. Introduction 2. Les réseaux sur puce NOC
Graphe d’application 1. Introduction 2. Les réseaux sur puce NOC 3. Conception des SOC 4. Optimisation multi-objectif 5. Proposition & contribution 6. Conception & Implémentation 7. Conclusion S1 S4 S3 S2 Graphe d’architecture Energie consommée Temps d’exécution AG Pour chaque SoC : Pour chaque Mode on a: Equilibrage de charge Min (cycle) Max (cycle) Mémoire disponible (cycle) Taille file d’attente (cycle) Energie consommée par cycle Vitesse d’exécution (ms/cycle) Pour chaque Bus: Vitesse de transmission (ms/cycle) Energie consommée(mv/cycle) Bande passante (cycle) Pour chaque tache : Taille (cycle) par type Mémoire (cycle) par type Pour chaque message : Taille message (cycle) Bande passante requise (cycle) T2 T4 T3,T5 T1,T6 S1 S4 S3 S2

25 L’optimisation multi-objectif
L’optimisation multi-objectifs vise à optimiser simultanément plusieurs objectifs souvent contradictoires. Objectifs: Rechercher l’ensemble des solutions satisfaisantes. 1. Introduction 2. Les réseaux sur puce NOC 3. Conception des SOC 4. Optimisation multi-objectif 5. Proposition & contribution 6. Conception & Implémentation 7. Conclusion Temps d’exécution : :La durée d’exécution de la tâche i au sein du processeur p en mode m. :La durée de communication entre tâche i et j placées respectivement sur les processeurs p et q. :Si la tâche i est affectée au processeur p en mode m alors X=1 sinon X=0. Energie consommée : :la consommation de la tâche i affectée au processeur p au mode m. :La consommation due à la communication entre la tâche i et j affectées respectivement au processeurs p et q.

26 L’algorithme génétique
1. Introduction 2. Les réseaux sur puce NOC 3. Conception des SOC 4. Optimisation multi-objectif 5. Proposition & contribution 6. Conception & Implémentation 7. Conclusion Paramètres génétiques : -Taille de la population Nombre de génération -Probabilité croisement Probabilité mutation Codage Codage binaire :S gènes tel que chacun est constitué de n*M 1 Population initiale Le premier bon choix et le reste généré aléatoirement. Pour notre algorithme on a essayé de placer les tâches qui communiquent le plus sur des processeurs voisins ou carrément sur le même processeurs Afin de s’assurer que dans la population initiale on a quelques bons individus.

27 L’algorithme génétique
1. Introduction 2. Les réseaux sur puce NOC 3. Conception des SOC 4. Optimisation multi-objectif 5. Proposition & contribution 6. Conception & Implémentation 7. Conclusion Paramètres génétiques : -Taille de la population Nombre de génération -Probabilité croisement Probabilité mutation La sélection On choisit deux éléments aléatoirement de notre population Le croisement qui combine deux solutions parents pour former deux enfants en essayant de conserver les bonnes caractéristiques des solutions parents. la mutation qui permet d’ajouter de la diversité à la population en mutant certaines caractéristiques (gènes) d’une solution et elle est aussi nécessaire pour éviter la convergence rapide de l’algorithme génétique.

28 PAES Pareto Archived Evolution Stratégie
1. Introduction 2. Les réseaux sur puce NOC 3. Conception des SOC 4. Optimisation multi-objectif 5. Proposition & contribution 6. Conception & Implémentation 7. Conclusion Objectif : obtenir un ensemble de points décrivant le front de Pareto Estimation du front par algorithmes itératifs générant des points proches du front. éliminant les points dominés. Problèmes de convergence. se rapprocher du front couvrir l’ensemble du front Notion d’archive : Conserver à chaque itération l’ensemble des points non dominés Méthodes propres aux algorithmes génétiques: modifications des opérateurs de base (Sélection, mutation, croisement) Travaille sur deux populations. 28

29 PAES Pareto Archived Evolution Stratégie
1. Introduction 2. Les réseaux sur puce NOC 3. Conception des SOC 4. Optimisation multi-objectif 5. Proposition & contribution 6. Conception & Implémentation 7. Conclusion Temps Energie Temps Energie Temps Energie Temps Energie Les schémas traduisent de manière théorique le processus de formation du Front Pareto Les solutions satisfaisantes se regroupent progressivement pour constituer la courbe Pareto ou l’optimum Pareto

30 PAES Pareto Archived Evolution Stratégie
1. Introduction 2. Les réseaux sur puce NOC 3. Conception des SOC 4. Optimisation multi-objectif 5. Proposition & contribution 6. Conception & Implémentation 7. Conclusion Population Archive Nouveaux éléments Insertion ? Remplacement Choix Aléatoire Sélection Croisement Mutation Archive : conserver les éléments du front de Pareto Population : conserver de la diversité

31 PAES Pareto Archived Evolution Stratégie
1. Introduction 2. Les réseaux sur puce NOC 3. Conception des SOC 4. Optimisation multi-objectif 5. Proposition & contribution 6. Conception & Implémentation 7. Conclusion Initialisation de la Population I Initialisation de l’Archive A : éléments non-dominés de I Répéter F Fusion Population-Archive (I1, I2) Sélection aléatoire ( F ) (I3, I4) Croisement( I1, I2 ) Mutation ( I3 ) Mutation ( I4 ) Évaluation ( I3 ) Évaluation ( I4 ) Si I3 domine I4 ou inversement Alors I5 Élément dominant ( I3, I4 ) Sinon conserver (I3, I4 ) Fin Si Mise à jour éventuelle de A / I5 ou ( I3, I4 ) Mise à jour éventuelle de I / I5 ou ( I3, I4 ) Jusqu’à nombre maximum de générations L’algorithme multi-objectif utilisé Paramètres : •taux de mutation, de croisement. •seuils de distance entre voisins. •nombres d’itérations.

32 Conception & Implémentation
Début Saisie Graphique Matricielle Matrice Architecture Matrice Application Propriétés Graphe Architecture Graphe Application Propriétés Charger à partir du disque Valider Introduction des paramètres génétiques + Exécution AG Génération des résultats (Front Pareto + Archive + Solution) Fin 1. Introduction 2. Les réseaux sur puce NOC 3. Conception des SOC 4. Optimisation multi-objectif 5. Proposition & contribution 6. Conception & Implémentation 7. Conclusion

33 Conception & Implémentation
1. Introduction 2. Les réseaux sur puce NOC 3. Conception des SOC 4. Optimisation multi-objectif 5. Proposition & contribution 6. Conception & Implémentation 7. Conclusion L’application offre deux modes de saisie pour l’introduction de données : graphique et matricielle, La saisie graphique permet d’introduire les graphes d’application et architecture, de renseigner les propriétés de chaque élément (tâche et Soc) et d’indiquer leurs interconnexions (message et bus). En outre, le système permet aussi de convertir une saisie graphique en générant les matrices correspondantes. La saisie matricielle, permet de renseigner à travers différents tableaux, les données décrivant les éléments d’une architecture et d’une application : les matrices de propriétés des éléments, les matrices d’incidences/précédences, et les matrices d’interconnexion. Ensuite, l’utilisateur procède à l’introduction des différents critères souhaités, pour ajuster les paramètres de l’algorithme génétique. Le lancement du traitement de recherche des mouilleurs placements, génère les résultats représentant le Front Pareto.

34 Conception & Implémentation
1. Introduction 2. Les réseaux sur puce NOC 3. Conception des SOC 4. Optimisation multi-objectif 5. Proposition & contribution 6. Conception & Implémentation 7. Conclusion Ce diagramme décrit les différentes classes représentant les objets du système, organisées en package. Pour la saisie graphique, une réutilisation adaptée d’un Framework générique a été adoptée, ce qui a permis de bien séparer la partie saisie graphique du coeur du traitement. Cette conception a été préconisée dans le but d’offrir plus de flexibilité pour d’éventuelles futures perspectives d’évolution du simulateur. Les classes concernées sont regroupées dans le package « com.ouafi.noceditor.framework ». Le package « com.ouafi.noceditor » englobe la classe principale NocEditor (main) et regroupe les différentes classes spécifiques au noyau du traitement et à l’interaction avec l’utilisateur. Les classes utiles à la saisie graphique sont : ApplicationGraph, TacheNode, MessageEdge, NocGraph, SocNode et BusEdge. 􀀹 La classe MatrixFrame représente la saisie matricielle. La classe PlacementAG implémente les différentes fonctions composant la contribution proposée, à savoir les fonctions de l’algorithme génétique ainsi que le traitement utile à la génération des résultats des mouilleurs placements. La librairie JFreeChart a été utilisée pour représenter le Front Pareto, à travers la classe Courbe.

35 Conception & Implémentation
1. Introduction 2. Les réseaux sur puce NOC 3. Conception des SOC 4. Optimisation multi-objectif 5. Proposition & contribution 6. Conception & Implémentation 7. Conclusion Le diagramme de la classe PlacementAG suivant, énumère les attributs et méthodes nécessaires au traitement de recherche des meilleurs placements :

36 Conception & Implémentation
1. Introduction 2. Les réseaux sur puce NOC 3. Conception des SOC 4. Optimisation multi-objectif 5. Proposition & contribution 6. Conception & Implémentation 7. Conclusion Archive Population Chromosome Ajouter Supprimer Fusion Sélection Insertion Remplacer Croisement Mutation Evaluation Temps Energie

37 Conclusion   Dans notre hypothèse de départ, nous avons pris des éléments aléatoires. Les solutions trouvées ne peuvent être qu’aléatoires et le Front Pareto donne des configurations aléatoires à la courbe Pareto. Un exemple concret pourrait constituer une autre étape de validation. Nous proposons pour les étudiants qui continuent la recherche sur les systèmes embarqués de travailler sur des exemples concrets pour valider le Front Pareto et avoir un ensemble de solutions basées sur des problèmes concrets. L’approche multi-objectif peut se mener sur des problèmes concrets qui seront proposés par les utilisateurs eux-mêmes dans le cadre de renforcer la relation entreprises économiques-université. Ces derniers trouveront dans les études des étudiants des propositions de solutions plus adaptées. Nous pensons que notre travail peut aider les étudiants qui s’investissent dans le domaine des systèmes embarqués à avancer dans la connaissance de la problématique des systèmes embarqués. 1. Introduction 2. Les réseaux sur puce NOC 3. Conception des SOC 4. Optimisation multi-objectif 5. Proposition & contribution 6. Conception & Implémentation 7. Conclusion

38 Questions Merci de votre attention 1. Introduction
2. Les réseaux sur puce NOC 3. Conception des SOC 4. Optimisation multi-objectif 5. Proposition & contribution 6. Conception & Implémentation 7. Conclusion Merci de votre attention


Télécharger ppt "1. Introduction 2. Les réseaux sur puce NOC 3. Conception des SOC"

Présentations similaires


Annonces Google