80 likes | 206 Views
Placement de Motifs. Architecture. Application. Contraintes: - Charge - Mémoire - B.passante. Mapping: B&B bi objectif + Dijkstra. Objectifs: Min Tempsd’execution Min consommation d’énergie. Placements: - N Taches = Motif - AAS Motif - Front Pareto. Définitions. Architecture
E N D
Placement de Motifs Architecture Application Contraintes: - Charge - Mémoire - B.passante Mapping: B&B bi objectif + Dijkstra • Objectifs: • Min Tempsd’execution • Min consommation d’énergie Placements: - N Taches = Motif - AAS Motif - Front Pareto
Définitions Architecture • Un ensemble (une grille) de processeurs identiques connectés avec une topologie d'interconnexion arbitraire. Caractéristiques: - Fréquence, Énergie consommé par cycle - Bande Passante, Latence - Énergie consommé par une unité de donnée Application • Un ensemble de tâches et de communications indépendantes et qui peuvent s'exécuter en parallèle selon n'importe quel ordre. Caractéristiques: - Taille en cycle - Taille des données d’entré Data In - Taille des données de sortie Data Out
Mapping • Motif : Un ensemble de traitements (taches) et communications placés (AAS) sur un ensemble d'éléments d'exécution (PE) connectés à travers un réseau de l'architecture • Mapping par partie : - Calculer le placement d’un Motif. - Répéter X fois le placement : X = Taches Motif / Taches totales - Méthode de placement : méthode hybride (B&Bound+Dijkstra). • Avantages: - Faire l’AAS indépendamment du nombre total des tâches. - Minimiser la complexité du placement
Algorithme • Introduire les caractéristiques de l‘architecture et des tâches répétitives • Motif_Taches = 0; Slack =∞ • Pour N= 2 …!! Faire - B&B + Dijksta pour tout placement : + m=mode max des processeurs + Vérification des contraintes + Atteint l’objectif D <= deadline. - Calcul du Slack + Sauvegarde le Min + Motif_Taches = N. • Fin Pour • Sauvegarde Placements de Motif_Taches
Suite ... • Faire changer le mode des processeurs • Pour chaque placement sauvegardé: - Calcul de la Durée d’exécution - Calcul de la consommation d’energie. • Retenir le front de Pareto
Main_Window Grid_Size :int NbTask : int New() ; Open() ; Save() ; Placement() ; Graph_Interface Branch&Bound Nodes :List Arc : int addNode(); getNode() ; addArc() ; getArc() ; NbrPE:int NbrTask : int Access() ; NewPlacement() ; Mis_a_jour() ; … Dijkstra Tools_Box SourcePE:int Destination : int FindVoisin() ; ExtraireMin() ; … NbrPE:int NbrTask : int Durée() ; Energie() ; Slack() ; … Diagramme de Classe
Algo Branch And Bound • Pour N=2 --- !! *** Taches • l=1; *** indice • Tant que l <= Count *** Compteur des placements • Pour k=1 --- NbPE *** Pocesseurs • PE[]=Acces(k); • - Dijkstra (Data,RootPE,k); • Affect_Task_PE [l][N]=PE; • Verifie = Verif_contraintes(PE); • D=Exécution + Communication; Si (D <= Deadline) • Nouveau_Placement(l,N,k); • l=l+1; • Count = Count +1; • Fin Si • FinPour k • l=l+1; • Fin Tant que • Calculer le nouveaux Slack et déduire le Motif_Taches • FinPour N • Print Placements
État actuel: 70% du travail. • Futures deadlines: - 15 jours : les résultats - 30 jours : dernières retouches