• Aucun résultat trouvé

Caractérisation Macroscopique

CHAPITRE 3. CARACTÉRISATION MACROSCOPIQUE 75

γ d'une structure IF-THEN-ELSE

γIF = (proba gV*Chemin Critique gVNb opérations gV )+(proba gF*Chemin Critique gFNb opérations gF )+( Nb opérations gCond Chemin Critique gCond)

γ d'une structure SWITCH

γSW IT CH = Nb opérations gCond + Piproba gCasei ∗Nb opérations gCasei

chemin critique gCond + Pichemin critique g Casei

γ d'une structure FOR

γF OR= Nb opérations gEvol + Nb opérations gFor + Nb opérations gCond Chemin Critique gEvol + Chemin Critique gFor + Chemin Critique gCond

γ d'une structure WHILE et DO-WHILE

γW HILE= Nb iter (Nb opérations gWhile) + (Nb iter+1)(Nb opérations gCond) Nb iter (Chemin Critique gWhile) + (Nb iter+1)(Chemin Critique gCond)

en supposant N1 on obtient alors :

γW HILE = Nb opérations gWhile + Nb opérations gCond Chemin Critique gWhile + Chemin Critique gCond

γ de HCDFGs γsérie= P sous-graphes j, x=t,c,mNxj P sous-graphes jCPj γparallèle= P sous-graphes j, x=t,c,mNxj MAXsous-graphes j(CPj)

3.1.5 Métriques DRM et HDRM

Métrique DRM

La gestion de l'équilibrage entre les traitements et les accès mémoire est un point critique qui permet de faire face au goulet d'étranglement que constitue la

76 CHAPITRE 3. CARACTÉRISATION MACROSCOPIQUE bande passante limitée des mémoires par rapport aux performances des c÷urs de processeurs. Cet équilibrage peut être obtenu par l'utilisation d'algorithmes d'ordon-nancement adaptés à l'orientation des fonctions. An de nous aider dans l'analyse des fonctions et dans le choix des algorithmes d'ordonnancement adaptés à celles-ci, nous avons déni une métrique : DRM (Data Reuse Metric). Cette métrique tient compte de la taille mémoire locale dont nous devons eectuer une première estima-tion. Étant donné le niveau d'abstraction auquel nous nous situons, nous n'avons pas besoin d'estimations précises au niveau temporel : seule la répartition par cycle nous intéresse. De plus, comme nous voulons obtenir les estimations rapidement, les méthodes de type coloriage de cliques sont exclues. Nous utilisons donc la durée de vie moyenne des données pour estimer le nombre moyen de données vivantes à chaque cycle. Les durées de vie minimum et maximum d'une donnée d sont dénies comme suit :

MinDL(d) = ASAP (dn) − ALAP (d1) + 1

MaxDL(d) = ALAP (dn) − ASAP (d1) + 1

avec ASAP la date d'ordonnancement au plus tôt et ALAP la date d'ordonnance-ment au plus tard, d1 et dn respectivement la première et la dernière lecture de la donnée d, pour une contrainte de temps donnée. De là nous en déduisons la durée de vie moyenne de la donnée d :

AvDL(d) = 1

2(MinDL(d) + MaxDL(d))

Enn, nous obtenons le nombre moyen de données vivantes par cycle (AAD) comme suit : AAD = 1 T X d AvDL(d)

avec T le nombre de cycles alloués à la fonction estimée. Le nombre de transferts locaux se transformant en transferts globaux (Extra Global Transfers) en raison de la taille mémoire insusante est donné par :

EGT =    (AAD − UM )T si AAD > UM 0 sinon

CHAPITRE 3. CARACTÉRISATION MACROSCOPIQUE 77 avec UM la taille mémoire locale en nombre de données. Celle-ci peut être re-dénie par l'utilisateur en fonction de ses connaissances éventuelles sur l'architecture. Sa valeur par défaut est égale à AAD.

La métrique DRM donne le rapport entre le nombre d'accès globaux et locaux, plus ne que la métrique MOM, la DRM est calculée lors de l'ordonnancement des DFG. Elle requière pour cela les dates ASAP-ALAP des n÷uds et la taille de la mémoire locale. Un accès local qui produit un conit de mémoire (mémoire locale pleine) implique une lecture et une écriture globale, donc le nombre d'accès globaux supplémentaires est β ∗ EGT avec β le nombre de cycles moyen nécessaire pour un accès à la mémoire globale (mémoire principale avec ou sans cache). Suivant le degré d'abstraction considéré, β est extrait d'un modèle plus ou moins ané de cette mémoire. La recherche de β et son ajout dans le chier UAR restent à la charge du concepteur puisqu'il s'agit de choix d'implantation. Dans le cas d'une seule mémoire qui nécessite uniquement un cycle par accès, β = 2. Si nous considérons la hiérarchie mémoire de la gure 2.6 avec les paramètres suivants : L1 : l1 = 1, L2 : l2 = 2, L3 :

l3 = 3 et si MRi est le taux d'échec du cache de niveau i, alors :

β = 1.(1 − MR1) + 2.MR1.(1 − MR2) + 3.MR1.MR2

Si nous généralisons à K niveaux de hiérarchie nous obtenons :

β = K X k=1 Ã lk+ (1 − MRk). K−1Y j=1 MRj !

Finalement la métrique DRM s'obtient comme suit :

DRM = N1 + β.EGT

N1 + β.EGT + N2 + N3 + N4 =

Nb accès mémoire globale Nb total accès mémoire

Lorsque DRM → 1 la fonction est orientée transfert mémoire, et lorsque DRM → 0 la fonction est orientée traitement. L'utilisation de la métrique DRM est illustrée dans le chapitre suivant, lors de la présentation de l'ordonnancement.

Métrique HDRM

La métrique HDRM (Hierarchical Data Reuse Metric) étend la métrique DRM à la réutilisation de données inter-HCDFG. Son calcul est général et utilisé pour

78 CHAPITRE 3. CARACTÉRISATION MACROSCOPIQUE toutes les estimations hiérarchiques. Le principe de ce calcul, qui repose sur un regroupement deux à deux de HCDFG, est illustré par la gure 3.1. A1 et A2 sont les quantités de données lues par HCDFG1 et HCDFG2 respectivement. A12 représente les données lues par les deux graphes et A3 représente les données résultats produites par le premier graphe et transmises au second. La métrique HDRM donne le ratio de données réutilisées entre les deux HCDFG qui peuvent s'exécuter soit parallèlement (dans ce cas A3=0), soit séquentiellement ou bien encore par une combinaison de ces deux cas.

La métrique HDRM est donc calculée comme suit :

HDRM = A3+ A12 A1+ A2+ A3+ A12 HCDFG1 A1 A12 A2 A3 HCDFG2

Fig. 3.1: Illustration de la métrique HDRM.

Lorsque HDRM tend vers 1 cela indique que le ratio de réutilisation est maxi-mum : toutes les données lues par HCDFG2 sont partagées/produites avec/par HCDFG 1. Cela indique également qu'une mémoire locale peut être implantée e-cacement. Au contraire, lorsque HDRM tend vers 0 cela indique qu'il n'y pas ou très peu de données réutilisées et donc que les possibilités d'optimisation sont faibles. Dans les applications de type traitement de signal (typiquement des boucles) la réutilisation des données peut avoir un impact important sur les performances et le coût car les possibilités d'optimisation sont essentiellement centrées sur les aspects mémoires des n÷uds de boucles. Nous pouvons utiliser la métrique HDRM dans ce genre de situation car les graphes HCDFG1 et HCDFG2 peuvent être vus comme deux itérations successives d'une boucle. L'implantation de la métrique HDRM dans l'outil Design Trotter est en cours, cependant nous présentons un exemple théorique

CHAPITRE 3. CARACTÉRISATION MACROSCOPIQUE 79