Répétitives sur une architecture régulière embarquée Calcul Intensif (DSP) et Applications Repetitives Problématique Optimisation MultiObjectif Implémentation Experimentation et Resultat Conclusion et perspectives introduction Embarquée Branch & Bound Multi Objectif Placement de tâches Répétitives sur une architecture régulière embarquée Présenté par : MOSTEFA Meriem Encadré par : Monsieur A. BENYAMINA Monsieur P. BOULET
plan introduction Embarquée Calcul intensif (DSP) et applications répétitives Problématique Optimisation Multi-Objectif Implémentation Experimentation et Resultat Conclusion et perspectives introduction Embarquée Branch & Bound Multi-Objectif Placement de tâches Répétitives sur une architecture régulière embarquée
Environnement des systèmes embarqués. Introduction Calcul Intensif (DSP) et Applications Repetitives Problématique Optimisation MultiObjectif Implémentation Experimentation et Resultat Conclusion et perspectives introduction Embarquée Branch & Bound MultiObjectif Un système embarqué peut être défini comme un système électronique et informatique autonome, qui est dédié à une tâche bien précise. Ses ressources disponibles sont généralement limitées. CNA + Système embarqué Environnement des systèmes embarqués. Placement de tâches Répétitives sur une architecture régulière embarquée
DSP Entrée Traitement Sortie Appel DSP Calcul Intensif (DSP) et Applications Repetitives Problématique Optimisation MultiObjectif Implémentation Experimentation et Resultat Conclusion et perspectives introduction Embarquée Branch & Bound MultiObjectif Traitement Sortie Entrée Appel DSP Du fait que le type du DSP qu’on utilise par exemple (TMS320C6416) est de type à virgule fixe, donc il faut: Définir pour chaque donnée la position de la virgule, c’est à dire le nombre de bits pour les parties fractionnaires et les parties entières. Maintenir la fonctionnalité de l’algorithme Satisfaire la contrainte de précision Optimiser l’implémentation de l’algorithme Evolution des processeurs DSP. Placement de tâches Répétitives sur une architecture régulière embarquée
- Onde émise par le RADAR Le Filtre de Kalman Le Filtre de Kalman Pseudo meilleur Estimateur Au Sens de la Minimisation de l’erreur quadratique moyenne . Kalman est implémenté sur DSP. Estimer et Prédire la Trajectoire à n’importe quelle Cible . Calcul Intensif (DSP) et Applications Repetitives Problématique Optimisation MultiObjectif Implémentation Experimentation et Resultat Conclusion et perspectives introduction Embarquée Branch & Bound MultiObjectif Cible - Onde émise par le RADAR - Onde réfléchie par la cible Estimation des paramètres en avec le filtre de kalman ? RADAR Placement de tâches Répétitives sur une architecture régulière embarquée
exemple typique d’application intensive Calcul Intensif (DSP) et Applications Repetitives Problématique Optimisation MultiObjectif Implémentation Experimentation et Resultat Conclusion et perspectives introduction Embarquée Branch & Bound MultiObjectif Echantillon à partir de 512 hydrophones à l’infini autour d’un sous-marin. Placement de tâches Répétitives sur une architecture régulière embarquée
Fusion de deux tâches répétitives Calcul Intensif (DSP) et Applications Repetitives Problématique Implémentation Experimentation et Resultat Conclusion et perspectives introduction Embarquée Branch & Bound MultiObjectif Optimisation MultiObjectif Illustration avant fusion Illustration après fusion Placement de tâches Répétitives sur une architecture régulière embarquée
Différentes répétitions dans Array-Ol Calcul Intensif (DSP) et Applications Repetitives Problématique Optimisation MultiObjectif Implémentation Experimentation et Resultat Conclusion et perspectives introduction Embarquée Branch & Bound MultiObjectif illustration des différentes répétitions Placement de tâches Répétitives sur une architecture régulière embarquée
Mécanisme de modélisation de la Factorization 1 Calcul Intensif (DSP) et Applications Repetitives Problématique Optimisation MultiObjectif Implémentation Experimentation et Resultat Conclusion et perspectives introduction Embarquée Branch & Bound MultiObjectif Component a3 : ComponentA a2 : ComponentA a1 : ComponentA Potential factorization: Ports Parts Connectors Placement de tâches Répétitives sur une architecture régulière embarquée
Modelisation du mecanisme de Factorization 2 Calcul Intensif (DSP) et Applications Repetitives Problématique Optimisation MultiObjectif Implémentation Experimentation et Resultat Conclusion et perspectives introduction Embarquée Branch & Bound MultiObjectif Component [6 ] [3 ] a : ComponentA [3] [2 ] [ ] «RepetitiveConnector» Repetitive Component Factorization expressed In the context of a repetitive component Le composant répétitif contient une partie unique Placement de tâches Répétitives sur une architecture régulière embarquée
Problématique 1 ,.. p1 p2 P3 -mode i : vexe = cycle/U tps et E SoC1 SoC2 p2 p1 ,.. - Vexe d’I cycle E cons pour cycle file d’attente -mode i : vexe = cycle/U tps et E Architecture HW Cible Calcul Intensif (DSP) et Applications Repetitives Problématique Optimisation MultiObjectif Implémentation Experimentation et Resultat Conclusion et perspectives introduction Embarquée Branch & Bound MultiObjectif T1 T3 T4 T5 Tn T2 Graphe d’application Q13 Q14 Graphe d’architecture logiciel «BnB» P3 Placement Optimal Placement de tâches Répétitives sur une architecture régulière embarquée
Problématique 2 T1 T2 T3 exemple rapport motif tâches/ processeurs (3 Tche. /2 Proc. ) Remarque : pour un niveau i qui est représenté par Ti le Nbre de nœuds pour chaque niveau est (2*nbre processeurs )i . Placement de tâches Répétitives sur une architecture régulière embarquée
Problématique Flot de Conception GASPARD Calcul Intensif (DSP) et Applications Repetitives Problématique Optimisation MultiObjectif Implémentation Experimentation et Resultat Conclusion et perspectives introduction Embarquée Branch & Bound MultiObjectif “Y” model Placement de tâches Répétitives sur une architecture régulière embarquée
L’optimisation multi objectif Calcul Intensif (DSP) et Applications Repetitives Problématique Optimisation MultiObjectif Implémentation Experimentation et Resultat Conclusion et perspectives introduction Embarquée Branch & Bound MultiObjectif L’optimisation multi-objectifs vise à optimiser simultanément plusieurs objectifs souvent contradictoires. Objectifs: Rechercher l’ensemble des solutions satisfaisantes. 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. Placement de tâches Répétitives sur une architecture régulière embarquée
Méthodes de résolution Heuristiques Algorithme A* branch and bound Algorithme basique Exactes Recherche tabou Solution simple Population des solutions Algorithme génétique Calcul Intensif (DSP) et Applications Repetitives Problématique Optimisation MultiObjectif Implémentation Experimentation et Resultat Conclusion et perspectives introduction Embarquée Branch & Bound MultiObjectif fonction Multi-objective Concept général Opt{f(x)xX} Opt= Min ou Max X :ensemble des solutions réalisables f(x) : le coût de f à l’ optimum. Placement de tâches Répétitives sur une architecture régulière embarquée
Front Pareto dominés Energie Temps = Individus non dominés Calcul Intensif (DSP) et Applications Repetitives Problématique Optimisation MultiObjectif Implémentation Experimentation et Resultat Conclusion et perspectives introduction Embarquée Branch & Bound MultiObjectif Temps Energie dominés = Individus non dominés Identifier le front Pareto Placement de tâches Répétitives sur une architecture régulière embarquée
Algorithme général Mise Algorithme de placement des tâches répétitives Calcul Intensif (DSP) et Applications Repetitives Problématique Optimisation MultiObjectif Implémentation Experimentation et Resultat Conclusion et perspectives introduction Embarquée Branch & Bound MultiObjectif Mise Algorithme de placement des tâches répétitives Début ; Introduire le nombre de PE, S et la matrice de topologie ; Introduire les caractéristiques de l’architecture et des tâches répétitives ; Motiftaches = 0 ; totalslack = ∞ ; Pour N=S à N=S*S faire utiliser la méthode exacte pour trouver le placement au mode max des processeurs Utiliser l’algorithme d’optimisation des communications calculer totalNslack Si totalNslack < totalslack alors totalslack = totalNslack et Motiftaches = N sinon rien fsi fin pour faire changer le mode des processeurs Calculer pour chaque placement la durée d’exécution et l’énergie Retenir le front Pareto ou les solutions non dominées Fin pour Placement de tâches Répétitives sur une architecture régulière embarquée
Modélisation UML Diagramme d’Activité Structure package Calcul Intensif (DSP) et Applications Repetitives Problématique Optimisation MultiObjectif Implémentation Experimentation et Resultat Conclusion et perspectives introduction Embarquée Branch & Bound MultiObjectif Structure package Diagramme d’Activité Placement de tâches Répétitives sur une architecture régulière embarquée
Diagramme de Classe : Conclusion et perspectives Calcul Intensif (DSP) et Applications Repetitives Problématique Optimisation MultiObjectif Implémentation Experimentation et Resultat Conclusion et perspectives introduction Embarquée Branch & Bound MultiObjectif Placement de tâches Répétitives sur une architecture régulière embarquée
Représentation d’un élément extrait du composant matériel GASPARD. Un Exemple d’une Plate-forme matérielle Calcul Intensif (DSP) et Applications Repetitives Problématique Optimisation MultiObjectif Implémentation Experimentation et Resultat Conclusion et perspectives introduction Embarquée Branch & Bound MultiObjectif SIMD unit avec 16 Processeurs Elémentaires Topologie : Toroïdal 4x4 Grid Bidirectionnel Connections North-South. East-West. Représentation d’un élément extrait du composant matériel GASPARD. exemple de topologie toroïdal 4x4 Grid avec des connections bidirectionnelles. Placement de tâches Répétitives sur une architecture régulière embarquée
« Hw Repetitive Component » Composant Répétitif Calcul Intensif (DSP) et Applications Repetitives Problématique Optimisation MultiObjectif Implémentation Experimentation et Resultat Conclusion et perspectives introduction Embarquée Branch & Bound MultiObjectif pe : PE [4,4] « Hw Repetitive Component » Cyclic Grid 4x4 « Self Connector » Repetition Space Dependence = {1,0} Modulo = true « Self Connector » Repetition Space Dependence = {1,0} Modulo = true Exemple 4x4 grille cyclique de communication PEs Placement de tâches Répétitives sur une architecture régulière embarquée
Architecture DOWNSCALER Calcul Intensif (DSP) et Applications Repetitives Problématique Optimisation MultiObjectif Implémentation Experimentation et Resultat Conclusion et perspectives introduction Embarquée Branch & Bound MultiObjectif Placement de tâches Répétitives sur une architecture régulière embarquée
Exemple Encodeur H263 Conclusion et perspectives Calcul Intensif (DSP) et Applications Repetitives Problématique Optimisation MultiObjectif Implémentation Expérimentation et Résultat Conclusion et perspectives introduction Embarquée Branch & Bound MultiObjectif Placement de tâches Répétitives sur une architecture régulière embarquée
Les solutions de placement non dominés du PARETO Archivage avec contraintes du Temps et d’Energie des solution non dominées du Pareto pour BnB Séquentiel Calcul Intensif (DSP) et Applications Repetitives Problématique Optimisation MultiObjectif Implémentation Experimentation et Resultat Conclusion et perspectives introduction Embarquée Branch & Bound MultiObjectif Les solutions de placement non dominés du PARETO Placement de tâches Répétitives sur une architecture régulière embarquée
27/03/2017 Archivage du Pareto avec contraintes du Temps et d’Energie en vérifiant les contraintes temporelles pour BnB Séquentiel Calcul Intensif (DSP) et Applications Repetitives Problématique Optimisation MultiObjectif Implémentation Experimentation et Resultat Conclusion et perspectives introduction Embarquée Branch & Bound MultiObjectif Illustration des Meilleurs Solutions trouvées en vérifiant les contraintes temporelles du Dead Line de l’application Placement de tâches Répétitives sur une architecture régulière embarquée
le placement et l‘ordonnancement via Diagramme Gantt Calcul Intensif (DSP) et Applications Repetitives Problématique Optimisation MultiObjectif Implémentation Experimentation et Resultat Conclusion et perspectives introduction Embarquée Branch & Bound MultiObjectif Tps d’occupation des Processeurs(tps de calcul) = T exe . Tps disponible Totale = La Durée d’exe * nbre Processeurs . (avec : La durée d’exe = T fin - T debut . ) Slack Total = Tps disponible Totale - Tps d’occupation des Processeurs Placement de tâches Répétitives sur une architecture régulière embarquée
Archivage du Pareto qui verifient les contraintes du Total Min Slack avec BnB Parallèle introduction Embarquée Calcul Intensif (DSP) et Applications Repetitives Problématique Optimisation MultiObjectif Branch & Bound MultiObjectif Implémentation Experimentation et Resultat Conclusion et perspectives Les solutions de placement qui vérifient les contraintes temporelles de Dead Line de nos résultats Expérimentaux avec le Branch and Bound Parallèle du Motif de 4 Taches. Placement de tâches Répétitives sur une architecture régulière embarquée
Diagramme du Gantt pour Motif 4 taches avec BnB Parallèle : Calcul Intensif (DSP) et Applications Repetitives Problématique Optimisation MultiObjectif Implémentation Experimentation et Resultat Conclusion et perspectives introduction Embarquée Branch & Bound MultiObjectif Placement de tâches Répétitives sur une architecture régulière embarquée
Archivage du Pareto avec contraintes du Temps et d’Energie en vérifiant les contraintes temporelles pour BnB Parallèle : Calcul Intensif (DSP) et Applications Repetitives Problématique Optimisation MultiObjectif Implémentation Experimentation et Resultat Conclusion et perspectives introduction Embarquée Branch & Bound MultiObjectif introduction Embarquée Placement de tâches Répétitives sur une architecture régulière embarquée
Etude comparative entre BnB Parallel et BnB Séquentiel Calcul Intensif (DSP) et Applications Repetitives Problématique Optimisation MultiObjectif Implémentation Experimentation et Resultat Conclusion et perspectives introduction Embarquée Branch & Bound MultiObjectif BnB séquentiel BnB parallèle Illustration d’etude comparative entre BnB Sequentiel et BnB parallel en fonction du Temps de Recherche et le nombre de motifs executés Placement de tâches Répétitives sur une architecture régulière embarquée
Conclusion et perspectives Notre contribution pour construire un modèle comprenant les valeurs de temps d'exécution de chaque tâche sur chaque processeur en fonction du voltage ainsi que les performances des réseaux d'interconnexion en fonction du volume de données transportées. Dans le cadre de conception et développement du logiciel où ces valeurs sont fournies à l'algorithme Branch & Bound d'optimisation Parallèle multicritères qui propose un placement qui représente l’optimum théorique « exact » ou plusieurs placements intéressants par rapport à ces performances et aussi en vérifiant le critère des contraintes temporelles pour le choix du motif Optimal. Perspective: on va essayer d’Optimiser avec d’autres contraintes comme la mémoire cache et la taille de la puce avec des Simulations réels . Calcul Intensif (DSP) et Applications Repetitives Problématique Optimisation MultiObjectif Implémentation Experimentation et Resultat Conclusion et perspectives introduction Embarquée Branch & Bound MultiObjectif
Merci pour votre Attention
Vos Questions