510 likes | 999 Views
1. Introduction. 2. Les réseaux sur puce NOC. Mapping multi-objectif à l’aide d’un algorithme génétique pour les applications embarquées. 3. Conception des SOC. 4. Optimisation multi-objectif. Par: Amine OUAFI. 5. Proposition & contribution. Encadreurs :
E N D
1. Introduction 2. Les réseaux sur puce NOC Mapping multi-objectif à l’aide d’un algorithme génétique pour les applications embarquées 3. Conception des SOC 4. Optimisation multi-objectif Par: Amine OUAFI 5. Proposition &contribution Encadreurs : - Mr A. BENYAMINA - Mr P. BOULET Président: - Mr M. BOUAZZAExaminateur: - Mme L. BOUDJANI - Mr M. SAYAH 6. Conception & Implémentation 2008/2009 7. Conclusion
Plan 1. Introduction • Introduction 2. Les réseaux sur puce NOC • Les réseaux sur puce NOC 3. Conception des SOC • Conception des SOC 4. Optimisation multi-objectif • Optimisation multi-objectif 5. Proposition &contribution • Proposition & contribution 6. Conception & Implémentation • Conception & Implémentation 7. Conclusion • Conclusion
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
Introduction 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 1. Introduction 2. Les réseaux sur puce NOC Système embarqué : 3. Conception des SOC • 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. 4. Optimisation multi-objectif 5. Proposition &contribution 6. Conception & Implémentation 7. Conclusion
Les réseaux sur puce NOC 1. Introduction 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 . 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 Architecture d’un exemple de système embarqué : 1. Introduction Software 2. Les réseaux sur puce NOC FPGA /DSP Mémoire 3. Conception des SOC Capteurs Convertisseur A/N Convertisseur N/A Actionneurs 4. Optimisation multi-objectif CPU Systèmes Auxiliaires (Power, Cooling) Interface Humaine 5. Proposition &contribution Port de Diagnostique Sécurité & sauvegarde électromécanique 6. Conception & Implémentation Environnement Externe 7. Conclusion
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 réseaux sur puce NOC 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 . 1. Introduction 2. Les réseaux sur puce NOC 3. Conception des SOC 4. Optimisation multi-objectif MP SOC 5. Proposition &contribution SOC L’interconnexion au sein des SOC : interconnexion 6. Conception & Implémentation NOC 7. Conclusion
Les réseaux sur puce NOC • 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. 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 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
Conception des SOC Programmation des SoCs suivant une approche de co-conception : 1. Introduction Dans les SOC les concepteurs peuvent intégrer tout un système logiciel/ matériel sur la même puce . 2. Les réseaux sur puce NOC 3. Conception des SOC 4. Optimisation multi-objectif 5. Proposition &contribution 6. Conception & Implémentation 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. 7. Conclusion
Conception des SOC 1. Introduction • 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. 2. Les réseaux sur puce NOC 3. Conception des SOC 4. Optimisation multi-objectif Éléments de réponses aux problèmes de conception des SoCs : 5. Proposition &contribution • La productivité. • La réutilisation. • La pérennisation. • - Standardisation des langages de description ( Hard/Soft ). • - Intégration de toute la chaine de Co-conception. 6. Conception & Implémentation 7. Conclusion
Conception des SOC 1. Introduction Ingénierie Dirigée par les Modèles (IDM) : 2. Les réseaux sur puce NOC • 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 3. Conception des SOC 4. Optimisation multi-objectif 5. Proposition &contribution 6. Conception & Implémentation 7. Conclusion
Conception des SOC Environnement de co-conception pour SoC Gaspard : 1. Introduction • GASPARD: (GraphicalArraySpecification for Parallel and DistributedComputing) • Modele « Y » • génererdifferents codes à partir d’un même placement d’une application sur une architecture. • Genererdu 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. 2. Les réseaux sur puce NOC 3. Conception des SOC 4. Optimisation multi-objectif 5. Proposition &contribution 6. Conception & Implémentation 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. 7. Conclusion
Conception des SOC 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
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
Problème multi-objectif 1. Introduction • 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: 2. Les réseaux sur puce NOC 3. Conception des SOC 4. Optimisation multi-objectif 5. Proposition &contribution 6. Conception & Implémentation Vecteur des objectif Solution réalisable 7. Conclusion
Notion de dominance 1. Introduction F2 2. Les réseaux sur puce NOC B 3. Conception des SOC Est dominé E 4. Optimisation multi-objectif F 5. Proposition &contribution A D indifférent Domine C 6. Conception & Implémentation F1 Illustration des relations de dominance entre solutions pour deux objectifs de minimisation 7. Conclusion
Optimum de Pareto 1. Introduction Energie 2. Les réseaux sur puce NOC Pareto optimal = non-dominées 3. Conception des SOC Dominées 4. Optimisation multi-objectif 5. Proposition &contribution 6. Conception & Implémentation Temps Illustration du concept d’optimum Pareto 7. Conclusion
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
Proposition & contribution 1. Introduction • 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. 2. Les réseaux sur puce NOC 3. Conception des SOC 4. Optimisation multi-objectif • 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. 5. Proposition &contribution • 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. 6. Conception & Implémentation 7. Conclusion
Proposition & contribution Figure 4.1 : Problématique 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. 1. Introduction 2. Les réseaux sur puce NOC 3. Conception des SOC Fonction objectif 4. Optimisation multi-objectif 5. Proposition &contribution Modèle application Meilleur placement des taches sur les SOC’s Simulateur de Mapping & Scheduling Contraintes 6. Conception & Implémentation Modèle architecture 7. Conclusion
Problématique 1. Introduction 2. Les réseaux sur puce NOC T1 S1 S2 S1 S2 T2 Temps d’exécution T5 3. Conception des SOC Energie consommée T6 S4 S3 S4 S3 Graphe d’architecture 4. Optimisation multi-objectif T3 • 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) AG • Pour chaque tache : • Taille (cycle) par type • Mémoire (cycle) par type • Pour chaque message : • Taille message (cycle) • Bande passante requise (cycle) Graphe d’application T4 5. Proposition &contribution T2 T1,T6 6. Conception & Implémentation T3,T5 T4 7. Conclusion
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 Temps d’exécution : 4. Optimisation multi-objectif :La durée d’exécution de la tâche i au sein du processeur p en mode m. 5. Proposition &contribution :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 : 6. Conception & Implémentation :la consommation de la tâche i affectée au processeur p au mode m. 7. Conclusion :La consommation due à la communication entre la tâche i et j affectées respectivement au processeurs p et q.
L’algorithme génétique 1. Introduction Paramètres génétiques : -Taille de la population -Nombre de génération -Probabilité croisement -Probabilité mutation 2. Les réseaux sur puce NOC 3. Conception des SOC • Codage • Codage binaire :S gènes tel que chacun est constitué de n*M 4. Optimisation multi-objectif 5. Proposition &contribution • 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. 6. Conception & Implémentation 7. Conclusion
L’algorithme génétique 1. Introduction Paramètres génétiques : -Taille de la population -Nombre de génération -Probabilité croisement -Probabilité mutation 2. Les réseaux sur puce NOC 3. Conception des SOC • La sélection • On choisit deux éléments aléatoirement de notre population 4. Optimisation multi-objectif • Le croisement • qui combine deux solutions parents pour former deux enfants en essayant de conserver les bonnes caractéristiques des solutions parents. 5. Proposition &contribution • 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. 6. Conception & Implémentation 7. Conclusion
PAES Pareto Archived Evolution Stratégie 1. Introduction • 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 2. Les réseaux sur puce NOC 3. Conception des SOC 4. Optimisation multi-objectif 5. Proposition &contribution 6. Conception & Implémentation • Méthodes propres aux algorithmes génétiques: • modifications des opérateurs de base (Sélection, mutation, croisement) • Travaille sur deux populations. 7. Conclusion 28
PAES Pareto Archived Evolution Stratégie 1. Introduction Energie Energie 2. Les réseaux sur puce NOC 3. Conception des SOC 4. Optimisation multi-objectif Temps Temps 5. Proposition &contribution Energie Energie 6. Conception & Implémentation Temps Temps 7. Conclusion
PAES Pareto Archived Evolution Stratégie 1. Introduction Population Archive 2. Les réseaux sur puce NOC 3. Conception des SOC 4. Optimisation multi-objectif Choix Aléatoire Insertion ? Remplacement ? Sélection Croisement Mutation 5. Proposition &contribution 6. Conception & Implémentation Nouveaux éléments Archive : conserver les éléments du front de Pareto Population : conserver de la diversité 7. Conclusion
PAES Pareto Archived Evolution Stratégie 1. Introduction 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é 2. Les réseaux sur puce NOC 3. Conception des SOC Paramètres : •taux de mutation, de croisement. •seuils de distance entre voisins. •nombres d’itérations. 4. Optimisation multi-objectif 5. Proposition &contribution 6. Conception & Implémentation 7. Conclusion
Début Saisie Charger à partir du disque Matricielle Graphique Matrice Architecture Matrice Application + Propriétés Graphe Architecture Graphe Application + Propriétés Valider Introduction des paramètres génétiques + Exécution AG Génération des résultats (Front Pareto + Archive + Solution) Fin 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
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
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
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
Conception & Implémentation 1. Introduction Archive Population Chromosome 2. Les réseaux sur puce NOC Ajouter Supprimer Fusion 3. Conception des SOC Sélection 4. Optimisation multi-objectif Insertion Remplacer Croisement 5. Proposition &contribution Mutation 6. Conception & Implémentation Evaluation Temps Energie 7. Conclusion
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
Questions 1. Introduction 2. Les réseaux sur puce NOC 3. Conception des SOC 4. Optimisation multi-objectif 5. Proposition &contribution 6. Conception & Implémentation Merci de votre attention 7. Conclusion