3.3 AAA pour les ir uits programmables : SynDEx
3.3.5 Optimisation
La méthodologie AAA vise à réduire la laten e d'exé ution de l'algorithme. Pour pouvoir estimer la laten e, il faut al uler les dates de début et de n asso iées aux
graphes d'algorithme et d'implantation. Ces dates seront utilisées pour le al ul de la fon tion oût de l'heuristique d'optimisation.
Cal ul des dates de début et de n d'exé ution des opérations
Comme vu en 3.3.1, haque opération est ara térisée par sa durée d'exé ution sur haqueopérateur apabledel'exé uter. Avantdistribution,onne onnaitpas l'opérateur qui va exé uterl'opération
Oi
du graphe d'algorithme.Don onne peut pas onnaitre sa duréed'exé ution.Cetteduréeestapproximéeparlamoyenne∆app
desduréesd'exé ution de l'opérationOi
sur tous lesopérateurs pouvantl'exé uter :∆app(Oi) =
1
n
n
X
j=1
δ(Oi, Pj)
(3.1)oùn est le nombre d'opérateurs apables d'exé uter l'opération
Oi
Ladate de débutau plus ttdepuis ledébutS(Oi)
est déniepar :S(Oi) =
(
0
siΓ
−1(O
i) = ∅
max∀Oj∈Γ−1(Oi)E(Oj)
sinon(3.2) Ave
Γ
−1
(Oi)
l'ensemble des prédé esseurs deOi
.Ondénitaussiladatedenauplusttdéniedepuisledébut
E(Oi)
parlasommede ladate de début auplus tt depuisle débutS(Oi)
et dela duréed'exé ution approximée∆app(Oi)
:E(Oi) = S(Oi) + ∆app(Oi)
(3.3)On dénit aussi les dates au plus tard depuis la n. Ce i sera utile pour ne pas être amené à manipuler des dates négatives. La date de n au plus tard depuis la n
E(O¯
i)
d'une opérationOi
orrespond à la plus grande date de début au plus tard depuis la n¯
S
de ses su esseurs siOi
possède des su esseurs, si non, ette date est nulle.¯
E(Oi) =
(
0
siΓ(Oi) = ∅
max∀Oj∈Γ(Oi)S(O¯
j)
sinon(3.4) Ave
Γ(Oi)
est l'ensembledes su esseurs deOi
.La date de début au plus tard depuis la n
S(O¯
i)
d'une opérationOi
est la somme de la date de n au plus tard depuis la n deOi
et de sa durée approximée d'exé ution∆app(Oi)
.¯
S(Oi) = ¯E(Oi) + ∆app(Oi)
(3.5)Lesdatesquenousvenonsdeprésenternetiennent omptequedugraphed'algorithme. Ellessontpourlemomentindépendantesdel'implantation.Lorsdel'implantation, haque opération du graphed'algorithme est asso iée à un opérateur qui va l'exé uter. Don on ne parle plus de durée d'exé ution approximée mais de durée d'exé ution de l'opération
Oi
sur l'opérateurP
notéeδ(Oi, P )
. Soit la relationΠ
qui asso ieà haque opérationOi
du graphe d'algorithme l'opérateurP
sur lequel elle est distribuéeΠ(Oi) = P
. La date de début au plus tt dénie depuis le débutS(Oi)
tient ompte désormais de la date de n de la dernière opérationexé utée sur l'opérateurΠ(Oi)
.S(Oi) =
(
0
siΓ
−1(O
i) = Γ
′−1(O
i) = ∅
max(max∀Oj∈Γ−1(Oi)E(Oj), E(Γ
′−1(O
i)))
sinon(3.6)
Ave
Γ
′−1(O
i)
la relation qui asso ie à haque opérationOi
l'ensemble de ses prédé- esseurs distribués sur le même opérateur.Ladate de n auplus tt déniedepuis le débutdevient :
E(Oi) = S(Oi) + δ(Oi, Π(Oi))
(3.7)Dela mêmefaçon, ladate de n auplut tardet de débutauplus tard déniesdepuis la n deviennent :
¯
E(Oi) =
(
0
siΓ(Oi) = ∅
etΓ
′
(Oi) = ∅
max(max∀Oj∈Γ(Oi)S(O¯
j), ¯S(Γ
′
(Oi)))
sinon(3.8)
¯
S(Oi) = ¯E(Oi) + δ(Oi, Π(Oi))
(3.9)Ave
Γ
′
(Oi)
larelationquiasso ieà haque opérationOi
l'ensemblede sessu esseurs distribués sur lemême opérateur.heuristique d'optimisation
Pourunalgorithmed'appli ationdetraitementdesignalréeletunear hite turemulti- omposantsdonnés, il existe un nombre très élevé de solutions possibles. Lepar ours de toutes es solutions possibles pour en extraire la solution optimale né essite un temps tellementgrandqu'ilestirréalisted'envisagerdetrouver ettesolution.Fa eà eproblème NPdi ile,lesméthodologiesdeprototypagerapideutilisentdesheuristiquespourréduire l'ensemblede solutionsà explorer.
LaméthodologieAAAutiliseuneheuristiquegloutonnebaséesuruneméthodedeliste pouraboutiràuneimplémentationoptimiséed'unalgorithmesurunear hite turedonnée. L'intérêt de e hoix a été défendu dans [Vi ard and Sorel, 1998℄. Cette heuristique vise à minimiserla longueur du hemin ritique (gure3.10) quiest le heminleplus long du graphe d'algorithme.
La fon tion oût
σ
de l'heuristique AAA, appelée pression d'ordonnan ement, tient ompte de l'éventuel allongement du hemin ritique à la suite de l'ordonnan ement de l'opérationOi
et de la exibilité d'ordonnan ement de ette opérationOi
. La exibilité d'ordonnan ementF (Oi)
(gure3.11)est ladiéren eentre laplus grandedate de début de l'opérationOi
n'engendrant pas de rallongement du hemin ritique et sa plus petite date de début possible. Cette pression d'ordonnan ement est donnée par la diéren e entre la pénalité d'ordonnan ementP (Oi, P )
et laexibilitéd'ordonnan ementF (Oi, P )
(σ(Oi, P ) = P (Oi, P ) − F (Oi, P )
).Figure 3.11 Représentation de laexibilité d'une opération
L'heuristiqueAAAestprésentéedansl'algorithme1.Elle ommen eparl'initialisation de la liste L en y mettant les opérations qui n'ont pas de prédé esseurs. Ensuite, tant qu'il reste en ore des opérations à ordonnan er dans la liste, elle her he tour à tour pour ha une d'elles l'opérateur permettant d'obtenir la plus petite date de n au plus tt. Puis, parmi la liste d'opérations, elle her he elle qui maximise la fon tion oût
σ
pour l'ordonnan er sur l'opérateur qui lui a été asso ié dans l'étape pré édente. Lors de l'ordonnan ementdes opérationsde al uls,les ommuni ationsné essairessontprisesen ompte.Don dessommetsallo ationssontajoutésautomatiquementsur haquemémoire ou bus utilisépour établir es ommuni ations. Enn,la listeest mise àjour en enlevant l'opération qui vient d'être ordonnan ée et en y ajoutant ses su ésseurs qui deviennent ordonnançables (dont tous lesprédé esseurs sont ordonnan és).Algorithm 1 HeuristiqueAAA pour les omposantsprogrammables Require: Graphed'algorithme
GAL
et graphed'ar hite tureGAR
Ensure: Graphed'implémentationoptimisé1:
L = {Oi
∈ GAL/Γ
−1(O
i) = ∅}
2: while
L 6= ∅
do 3: for allOi
∈ L
do4: Cher her l'opérateur
P (Oi) ∈ GAR
permettant d'obtenir la plus petite date de n auplus tt5: endfor
6: Choisir