Optimisation pour la Conception de Systèmes Embarqués

Slides:



Advertisements
Présentations similaires
E-learning Evolutif Albarelli Corinne Behem Patrice Guillot Jérôme
Advertisements

Soutenance du stage de DEA.
Placement de Motifs Architecture Application Contraintes: - Charge
Arnaud Thiry Julien Mellano INSA de Rouen - GM4
Processus d'expression du besoin
LIRMM 1 Journée Deuxièmes années Département Microélectronique LIRMM.
Conception Préliminaire de Manipulateurs Mobiles et Génération de Consignes Évolutionnaires : une Méthodologie pour Intégrer la Commande dans l’Évaluation.
CH-IV. L’ORADONNANCEMENT
Equipe optimisation TempoSoft
Visualisation d’information interactive 5 : Graphes
Journées Composants 2005 Gestion de la qualité de service de la conception à l’exécution dans les applications distribuées multimédias Sophie Laplace.
Optimisation dans les télécommunications
A.Faÿ 1 Recherche opérationnelle Résumé de cours.
Répétitives sur une architecture régulière embarquée
El-Djillali TALBI Doctorant systèmes industriels
Ordonnancement des mouvements de deux robots
Plus rapide chemin bicritère : un problème d’aménagement du territoire
Houssein ALAEDDINE Kamal SERRHINI
Sélection automatique d’index et de vues matérialisées
                                        République Algérienne Démocratique et Populaire Ministère de l’Enseignement Supérieur et de la Recherche Scientifique.
LES AUTRES MÉTHODES D’ORDONNANCEMENT
UNIVERSITE DES SCIENCES ET DE LA TECHNOLOGIE D’ORAN
Plus courts chemins On présente dans ce chapitre un problème typique de cheminement dans les graphes : la recherche d'un plus court chemin entre deux sommets.
GPA750 – Ordonnancement des systèmes de production aéronautique
Application des algorithmes génétiques
Les Systèmes Multi-Agents pour la Gestion de Production
Parcours de formation SIN-7
Commande par algorithme génétique
Optimisation et Complexité
Optimisation et parallélisation de code pour processeur à instructions SIMD multimedia François Ferrand.
Parallel Cooperative Optimization Research Group
Gestion de Fichiers Tri Interne Efficace et Tri Externe.
1 Licence dinformatique Algorithmique des graphes Problèmes dordonnancement. Utilisation de ce document strictement réservée aux étudiants de l IFSIC dans.
Universté de la Manouba
Recherche Opérationnelle
Détection du meilleur format de compression pour une matrice creuse dans un environnement parallèle hétérogène Olfa HAMDI-LARBI.
Ordonnancement de tâches
Programmation dynamique
GPA750 – Gestion de Projets
L’adaptativité pour un solveur de l’équation de Vlasov
Graph cuts et applications
Optimisation par les algorithmes génétiques
Bases de données fédéréEs hétérogènes
Calcul parallèle => partitionner les données en sous-groupes associés aux processeurs. P0 P2 P1.
Le problème central de l’ordonnancement (les plus longs chemins)
Licence Informatique Algorithmique des graphes
ETNA – 1ème année Guillaume Belmas –
GF-11: Tri Interne Efficace et Tri Externe
Université Pierre et Marie Curie Laboratoire d’Informatique de Paris VI Département ASIM Analyse et résultats sur le dimensionnement des mémoires pour.
Travaux Pratiques Optimisation Combinatoire
2008/ Plan du cours 1.Introduction –Contenu du cours 2.Logique mathématique –Calcul propositionnel –Calcul des prédicats –Logique floue et aide à.
Recherches locales et méta-heuristiques
Simulation du rôle de la communication dans l’établissement d’un réseau de liens sociaux Projet GPL :
Introduction et Généralités sur l’Algorithmique
Université Farhat Abbas_setif
Algorithmes génétiques en optimisation combinatoire
Présenté par : ABED Djemaa; BAKHOUIA Roqiya.
Algorithmes génétiques
Implémentation d’un opérateur de répartition de sources lumineuses
1. Introduction 2. Les réseaux sur puce NOC 3. Conception des SOC
ELE6306 : Test de systèmes électroniques Test intégré et Modèle de faute de délai Etudiante : S. BENCHIKH Professeur : A. Khouas Département de génie électrique.
Dr. MOKEDDEM République Algérienne Démocratique et Populaire
Peuplement d’une ville virtuelle S.ESTIENNE PRE001v1.01 Exemple d’utilisation du GA 1. Initialement une population est choisie au hasard. 2. Chaque individu.
2 Cadre du TER Projet Algol But du TER Conception et étude d’algorithmes de traitement de données dans un satellite d’observation de la voûte spatiale.
Cours 5 - Trois algorithmes de tri d'un tableau
LA PRISE EN CHARGE DU TRAVAIL COOPÉRATIF
1 Logiciels de confection automatique d’horaires.
Évolution de second ordre dans un algorithme évolutionnaire V. Lefort
Problème du Car Sequencing
Ordonnancement en présence d’agents individualistes
Transcription de la présentation:

Optimisation pour la Conception de Systèmes Embarqués Sélection d’architecture et ordonnancement pour flots de données synchrones Automne 2005 Jean-Marc Delosme

Vue d’ensemble – Optimisation pour la Conception des Systèmes Embarqués Optimisation des circuits VLSI Coût : surface Performances : délai Sélection de processeurs et ordonnancement de traitements périodiques sous contrainte de débit Partitionnement matériel-logiciel

Problématique pour l’implantation du logiciel Choix d’architecture pour l’exécution Coût de production minimal Contraintes de performances Logiciel sur architecture multiprocesseur Affectation et ordonnancement Problème difficile d’optimisation Flots de données synchrones Politique d’ordonnancement statique

Plan pour la présentation des outils Les algorithmes génétiques Les flots de données synchrones (SDF) Politique d’ordonnancement Graphe de communication inter-processeurs (IPC) Calcul de débit (performance) Les resynchronisations

Plan pour l’application des outils Modélisation des individus Opérations sur les gènes Population initiale Sélections Mutations et Croisements Décodage du génotype Evaluation des performances et optimisations Critère d’arrêt Exemple de résultats

Les algorithmes génétiques Individu Génotype Phénotype Population Fonction d’adaptation Opérations Décodage des solutions Evaluation des solutions Sélection des individus Croisement et Mutation Génération Convergence

SDF : Synchronous Data Flow Flots de données Multigraphe orienté Sommets (acteurs) = Traitements Arcs = FIFO Jetons

SDF : Synchronous Data Flow Flots de données synchrones Restrictions sur l’exécution des acteurs Productions et consommations connues Jetons initiaux Présence de données initiales en mémoire Dépendances de données entre itérations d’exécution Arcs = tampons mémoire Exécution répétitive Arrivée continue de données dans les tampons

SDF : Synchronous Data Flow Recherche d’un ordonnancement des tâches adapté à l’exécution répétitive

HSDFG et APEG HSDFG : SDF homogène Adaptés à l’ordonnancement sur plusieurs processeurs Les HSDFG sont notre base de travail Consommation et production de jeton = 1 Conversion d’un SDF en HSDFG APEG : graphe de précédence (acyclique) Suppression des arcs du HSDFG qui ont des jetons initiaux Simple à construire Utilisé pour donner un ordonnancement de tâches sur plusieurs processeurs

Optimisation de l’exécution Ordonnancement Resynchronisation

Politique d’ordonnancement But Affecter les tâches aux processeurs (parallélisme des tâches) Tenir compte des dépendances de données Trois étapes pour la planification de l’exécution des SDF (parallélisme des tâches) (1) Affectation des acteurs (2) Ordonnancement des acteurs : ordre des acteurs sur chaque processeur (3) Choix du moment d’exécution de chaque acteur Respect des contraintes de précédence (entre processeurs)

Politique d’ordonnancement Cas étudié : auto-synchronisé (self-timed) (1) et (2) à la compilation, (3) à l’exécution On ne connaît qu’une estimation des durées des tâches Ordonnancement entièrement statique impossible Ajout d’acteurs dédiés à la communication inter-processeur Robuste vis-à-vis des changements de durées Modélisable par un SDF homogène : graphe IPC (graphe de Communication Inter-Processeurs)

Graphe IPC Exemple

Graphe IPC Synchronisation

Graphe IPC Synchronisation

Graphe IPC Ordre d’exécution

Graphe IPC Ordre d’exécution

Graphe IPC Ordre d’exécution

Calcul de performance 8 6 4 3 A s2 r2 B s1 r1 C : (8+6+4)/2 = 9 A s2 r1 C : (8+4)/1 = 12 r2 B D : (6+3)/2 = 4.5 r2 B s1 D : (6+3)/1 = 9 8 6 4 3

Resynchronisation Objectif: une exécution plus rapide du HSDFG Méthode: une transformation du HSDFG Resynchronisation (retiming) Idée issue de ce qui se fait sur les circuits électroniques Redistribution des jetons initiaux sur les arcs sans modifier les fonctionnalités du système initial Des algorithmes existent pour trouver une « bonne » configuration des jetons Production de distributions de jetons par algorithme génétique

Exemple de resynchronisation

Plan pour l’application des outils Modélisation des individus Opérations sur les gènes Population initiale Sélections Croisements et Mutations Décodage du génotype Evaluation des performances Arrêt de l’algorithme Exemple de résultats

Modélisation des individus Trois éléments à modéliser Affectations sur les processeurs Resynchronisation Ordonnancement des tâches Trois gènes Affectation : de taille n, associe un numéro de processeur à un acteur Resynchronisation d : de taille m Ordonnancement : de taille n L’ordre du gène donne l’ordre d’exécution Associé au gène d’affectation, il donne l’ordonnancement sur chaque processeur

Opérations sur les gènes Population initiale Une centaine d’individus (au minimum) Générer des gènes ± aléatoirement Affectation Aléatoire Resynchronisation Générée à partir de d = d0 + Hv ≥ 0 Mutations successives Ordonnancement Aléatoire à partir de la resynchronisation (APEG)

Opérations sur les gènes Sélections Mutations Croisements X % des meilleurs se reproduisent entre eux Conservation Les meilleurs des nouveaux et anciens individus

Opérations sur les gènes Gène d’affectation Croisement Mutation

Opérations sur les gènes Gène de resynchronisation Opérateurs basés sur un déplacement de jetons Deux possibilités Hors d’une composante fortement connexe (pas de cycle) La position des jetons peut être quelconque Une composante fortement connexe peut être exécutée comme si elle était un simple acteur Il y a toujours des acteurs d’entrée et de sortie

Opérations sur les gènes Dans une composante fortement connexe Nombre de jetons par cycle est constant d’une resynchronisation à l’autre Toujours possible de déplacer un jeton n’importe où sur un cycle Croisement Exemples de croisement dans une composante fortement connexe Mutation Début : ajout d’un jeton Choix des arcs ayant subit le moins de mouvements

Exemple plus complexe

Exemple plus complexe d0 c1 c2 c3 d1 1

Exemple plus complexe d0 c1 c2 c3 d1 1

Exemple plus complexe d0 c1 c2 c3 d1 1

Exemple plus complexe d0 c1 c2 c3 d1 1 2

Exemple plus complexe d0 c1 c2 c3 d1 1 2

Opérations sur les gènes Gène d’ordonnancement Croisement Uniquement si les resynchronisations sont identiques

Opérations sur les gènes Mutation d’ordonnancements

Obtention d’un ordonnancement Opération importante Croisements de resynchronisations Mutation de resynchronisations Individu Population initiale Principe Prendre successivement les 1ers acteurs exécutables dans l’APEG Avec ou sans ordonnancement de référence But : rester le plus proche possible de l’ordonnancement de référence

Décodage du génotype Affectations Suivant les gènes d’affectation et d’ordonnancement Placement des jetons Phénotype = Graphe IPC Permet de représenter la politique d’ordonnancement auto-synchronisée Support de calcul du MCM Construction difficile à automatiser Minimiser le nombre d’acteurs de communications Arcs d’ordonnancement sur les processeurs Positionnement des jetons

Evaluation des performances Performance = calcul du MCM sur le graphe IPC de l’individu Le calcul n’est fait qu’une seule fois par individu Calcul très coûteux ! Algorithme de Howard

Complexité des algorithmes Gène d’affectation Croisement O(n) Mutation O(n) Gène de resynchronisation Croisement O(Δ mC) Δ = nombre total de jetons Mutation O(Δ m²C) Gène d’ordonnancement Mutation O(m + n) Obtention d’un ordonnancement O(n) Calcul du graphe IPC O(m²d²) Howard O(n²m(tmax- tmin)/ε) en moyenne O(m log(n))

Critère d’arrêt Individus comparés uniquement sur le coût et la performance Pas comparés directement sur leurs gènes Meilleur individu amélioré d’une génération à la suivante Conservé s’il n’y a pas d’amélioration Nombre de générations avant arrêt Paramètre réglable Arrêt de l’algorithme Si conservation du meilleur individu pendant N générations Plus N est grand plus l’algorithme a de chances de trouver un meilleur minimum local (grâce à la mutation) Autres critères d’arrêt testés moins efficaces

Exemple de résultats Filtre

Exemple de résultats Coût Période

Exemple de résultats Graphe IPC

Conclusion et perspectives A court terme Automatisation de la construction du graphe IPC A plus long terme Calcul du MCM grâce aux particularités du graphe IPC Ordonnancement dynamique Évaluation de performance Modélisation Conclusion