• Aucun résultat trouvé

Évaluation expérimentale

A.3 Modèles comportementaux

A.3.3 Évaluation expérimentale

A.3.3.1 Précision simple cœur

Nous avons expérimentalement évalué et comparé la précision des modèles compor- tementaux : PDCM (version optimisée) et BADCO. L’évaluation est également faite qualitativement et quantitativement. Pour l’évaluation quantitative, nous avons utilisé trois configurations de cœur différentes : “petit”, “moyen” et “gros” (voir le tableau 3.1). La configuration de la hiérarchie mémoire est la même pour les trois configurations de coeur. La figure A.2 montre l’erreur CPI de BADCO et PDCM sur 22 des 29 bench- marks SPEC CPU2006 et pour la configuration “gros” coeur. L’erreur CPI est calculée en utilisant comme référence le simulateur détaillé Zesto.

Parallèlement, le tableau A.1 présente l’erreur CPI moyenne de BADCO et PDCM pour les trois configurations de cœur. Les résultats montrent que BADCO est quanti-

-20 0 20

cact lesl mcf h264 omne bwav sjen sopl asta bzip libq hmmezeus perl vort craf gcc namd povr grom gobm milc deal calc

CPI error (%)

PDCM BADCO

Figure A.2 – Erreur CPI de PDCM et BADCO par la configuration “gros”. “petit” “moyen” “gros”

PDCM 3.8 % 4.0 % 4.7 % BADCO 3.3 % 2.4 % 2.8 %

TableA.1 – Erreur CPI moyenne de PDCM et BADCO sur Zesto. tativement plus précis que PDCM dans toutes les configurations de cœur évaluées.

Pour évaluer qualitativement les performances de BADCO et PDCM, nous définis- sons six configurations différentes de la hiérarchie mémoire, dans lesquelles nous faisons varier la taille des mémoires cache (L2 et LLC) et la bande passante vers la mémoire principale (voir le tableau 3.2). Parmi les six configurations, nous choisissons comme référence la configuration “001” et nous calculons la variation relative de performance (VRP) pour BADCO, PDCM et Zesto. Nous définission ensuite l’erreur qualitative comme |V RPmodele− V RPzesto|. Le tableau A.2 montre l’erreur qualitative moyenne

pour cinq configurations de la hiérarchie mémoire. Les résultats montrent que BADCO est également qualitativement plus précis que PDCM.

A.3.3.2 Précision multi-cœur

Utiliser BADCO pour évaluer la performance des architectures multi-cœurs avec des charges de travail multiprogrammées est très simple. La première étape consiste à créer un modèle BADCO pour chaque benchmark. Une fois cela fait, les modèles de cœur peuvent être facilement combinés pour simuler un processeur multi-cœur exécutant des programmes indépendants. L’étape suivante consiste à simuler une machine BADCO

“000” “010” “011” “110” “111” PDCM 4.6 % 4.0 % 1.3 % 4.1 % 1.2 % BADCO 2.6 % 2.2 % 0.7 % 2.5 % 0.8 %

Table A.2 – Erreur qualitative moyenne de PDCM et BADCO sur la configuration “001”.

Modèles comportementaux 85

pol. rempl. 2 cœurs 4 cœurs 8 cœurs

LRU 4.66 % 3.83 % 3.90 %

RANDOM 4.63 % 4.19 % 4.46 %

FIFO 4.79 % 4.10 % 4.33 %

DIP 4.54 % 4.01 % 3.99 %

DRRIP 4.35 % 3.75 % 3.77 %

TableA.3 – Erreur CPI moyenne absolue pour 2, 4 et 8 cœurs.

pol. rempl. 2 cœurs 4 cœurs 8 cœurs

RANDOM/LRU 0.89 % 0.76 % 1.34 %

FIFO/LRU 0.56 % 0.65 % 1.01 %

DIP/LRU 0.49 % 0.54 % 1.63 %

DRRIP/LRU 0.67 % 0.52 % 1.77 %

TableA.4 – Erreur de speedup moyenne absolue pour 2, 4 et 8 cœurs.

pour chaque cœur dans le processeur et de connecter les machines BADCO à un si- mulateur détaillé de la hiérarchie mémoire. Ainsi, chaque machine BADCO traite un unique modèle BADCO. Les machines BADCO envoyent des requêtes à la hiérarchie mémoire, qui informe en retour les machines BADCO lorsque les requêtes sont exécu- tées. Nous utilisons un arbitrage round-robin pour décider quelles machines BADCO accèdent à la hiérarchie mémoire à chaque cycle de simulation.

Afin d’évaluer l’exactitude de BADCO pour simuler des processeurs multi-cœurs (2, 4 et 8 cœurs), nous avons utilisé une étude de cas qui compare la performance de cinq politiques de remplacement du cache partagé : LRU, RANDOM (RND), FIFO, DIP et DRRIP. Les tableaux 3.6 et 3.7 décrivent en détail la configuration des cœurs et de la hiérarchie mémoire respectivement. Le tableau A.3 présente l’erreur CPI moyenne absolue pour chaque politique de remplacement. Parallèlement, le tableau A.4 montre l’erreur de speedup moyenne absolue en utilisant LRU comme configuration de référence. Les résultats montrent que BADCO est capable de quantifier finement les changements de performance et qu’il est raisonnablement précis pour estimer la performance brute. A.3.3.3 Vitesse de simulation

La figure A.3 compare la vitesse de simulation de Zesto, PDCM et BADCO en millions d’instructions simulées par seconde (MIPS) pour chacun des 22 benchmarks évalués (SPEC CPU2006). L’accélération par rapport à Zesto varie entre un et deux ordres de grandeur. Cependant, PDCM est légèrement plus rapide que BADCO. Cela est princi- palement dû à la plus grande granularité de PDCM (90 µops en moyenne par élément de trace) par rapport à BADCO (50 uops en moyenne par nœud).

Le tableau A.5 compare la vitesse moyenne de simulation de BADCO et Zesto pour des processeurs de 1, 2, 4 et 8 cœurs. Le tableau A.5 donne également l’accélération

0.01 0.1 1 10 100

cact lesl mcf h264 omne bwav sjen sopl asta bzip libq hmme zeus perl vort craf gcc namd povr grom gobm milc deal calc

MIPS

zesto PDCM BADCO

Figure A.3 – Vitesse de simulation en MIPS pour Zesto, PDCM et BADCO.

Number of cores 1 2 4 8

MIPS - Zesto 0.170 0.096 0.049 0.017

MIPS - BADCO 2.52 2.41 1.89 1.19

Speedup 14.8 25.19 38.88 68.1

TableA.5 – Vitesse de simulation moyenne de BADCO et Zesto pour des processeurs de 1, 2, 4 et 8 cœurs.

relative de BADCO par rapport à Zesto. Les résultats montrent que la vitesse de simu- lation diminue lorsque le nombre de cœurs augmente. Une des causes de la réduction de la vitesse de simulation est l’augmentation de l’empreinte mémoire du simulateur. Cependant, parce que la vitesse de simulation diminue plus rapidement pour Zesto que pour BADCO, l’accélération relative de BADCO par rapport à Zesto augmente avec le nombre de cœurs simulés.

Documents relatifs