next up previous
Next: GENERATION D'EXECUTIFS Up: Exemple de distribution/ordonnancement Previous: Exemple de distribution/ordonnancement

OPTIMISATIONS

Le problème d'optimisation consiste à choisir parmi toutes les transformations réalisables à partir d'un couple (Graphe Algorithme, Graphe architecture) celle qui respecte les contraintes temps-réel et minimise le nombre de composants utilisés pour construire l'architecture.

Pour cela, on doit avoir caractérisé en termes de durée l'architecture à un niveau suffisamment fin, ce qui permet de valuer le graphe de l'algorithme par des durées d'exécution des calculs et des communications en vue de faire des calculs de chemin critique pour l'optimisation de la latence ou des calculs de boucle critique pour l'optimisation de la cadence.

Ces problèmes d'optimisation étant NP-complets, on utilise une heuristique ``itérative-gloutonne'' de distribution-ordonnancement, de faible complexité ( nb processeurs nb opérations).

Pour la latence, elle consiste à faire progresser le long du graphe de l'algorithme valué, une coupe séparant les opérations déjà placées sur des processeurs de celles qui ne le sont pas encore. La progression se fait en respectant les précédences du graphe d'opérations. De toutes les opérations à distribuer sur la coupe et de tous les processeurs, on choisit la paire qui optimise une fonction de coût locale prenant en compte :

On peut aussi s'intéresser à d'autres critères d'optimisation :

Heuristique pour la latence

L'heuristique sélectionne globalement une transformation en étudiant étape par étape des transformations élémentaires locales

Transformation élémentaire :
distribution/ordonnancement d'une opération qui peut entraîner
distribution/ordonnancement d'opération(s) de communication avec choix de route(s)

A chaque étape sélection selon une fonction de coût d'une opération o dans une liste d'opérations candidates affectée un processeur p

appelée schedule pressure est la différence entre
- schedule penalty augmentation du chemin critique
- schedule flexibility marge : différence date au plus tôt date au plus tard

 
Figure: Fonction de coût

La liste des candidats sont les opérations non encore distribuées-ordonnancées et dont les prédécesseurs ont tous été distribués-ordonnancés

Elle conserve la fermeture transitive du graphe de l'algorithme

La paire (opération,processeur) sélectionnée à l'étape i est celle qui vérifie :

Si contrainte de latence satisfaite, diminuer le nombre de composants
Sinon modifier les contraintes distribution/ordonnancement
Sinon modifier l'algorithme

Heuristique pour la cadence

Caractérisation des performances temps réel

Chaque composant automate est caractérisé par une table

opérateur1 opérateur2 coefficient d'interférence

interférence = ralentissement opérateur1 lorsque opérateur2 actif
inactivité = attente de synchronisation



next up previous
Next: GENERATION D'EXECUTIFS Up: Exemple de distribution/ordonnancement Previous: Exemple de distribution/ordonnancement



Yves Sorel
Thu Nov 20 19:17:30 MET 1997