• Nenhum resultado encontrado

6.3. ÉVALUATION DES PERFORMANCES 137

1 2 4 8 16 24

Nombre de c urs 0

5 10 15 20 25

Temps de complétion (s)

Temps de la version Comet Temps de la version de référence Temps idéal

Ratio Comet/Référence

0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7

Ratio des temps de complétion

Figure 6.4 – Temps de complétion (absolu et relatif) de la variante Splines en fonction du nombre de cœurs utilisés obtenus respectivement avec la version de référence et avec la version Comet sur la machine de calcul Brunch. Le ratio est calculé par rapport à la version de référence.

6.3.2 Comparaison des performances

Cette section compare les performances de la version Comet par rapport à la version de référence décrite respectivement dans les sections 6.1.2 et 6.1.4 sur les deux variantes Splines et Lagrange de l’advection 2D.

Analyse de la variante Splines La figure 6.4 présente les temps de complétion obtenus sur la variante Splines des deux versions analysées (référence et Comet) de 1 à 24 cœurs (de la machine Brunch) ainsi que le ratio des temps de la version Comet par rapport à la version de référence.

On peut voir tout d’abord que toutes les versions passent bien à l’échelle jusqu’à 24 cœurs atteignant une accélération de 18,1 dans le cas de la version Comet et de 20,5 dans le cas de la version de référence. Les temps de complétion des deux versions sont assez proches. Toutefois, on peut observer que la version Comet est très légèrement plus lente que la version de référence en séquentiel (d’un facteur 1,025) et devient de plus en plus lente en parallèle au fur et à mesure qu’un nombre grandissant de cœurs est utilisé atteignant un facteur de 1,162 sur 24 cœurs.

Comme nous le verrons en section 6.3.3, ce surcoût croissant en fonction du nombre de cœurs provient du manque d’entrelacement entre le calcul des gradients et l’interpolation par splines. En effet, alors que la versionCometopère uniquement à la granularité du plan, la version de référence entrelace les deux codes couplés de manière à améliorer la localité temporelle et donc utilise plus efficacement les caches.

6.3. ÉVALUATION DES PERFORMANCES 139

1 2 4 8 16 24

Nombre de c urs 0

2 4 6 8 10 12

Temps de complétion (s)

Temps de la version Comet Temps de la version de référence Temps idéal

Ratio Comet/Référence

0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7

Ratio des temps de complétion

Figure 6.5 – Temps de complétion (absolu et relatif) de la variante Lagrange en fonction du nombre de cœurs utilisés obtenus respectivement avec la version de référence et avec la version Comet sur la machine de calcul Brunch. Le ratio est calculé par rapport à la version de référence.

Analyse de la variante Lagrange La figure 6.5 présente les temps de complétion obtenus sur la variante Lagrange des deux versions analysées (référence etComet) de 1 à 24 cœurs (de la machine Brunch) ainsi que le ratio des temps de la version Cometpar rapport à la référence.

Tout comme pour la variante Splines, les versions de la variante Lagrange passent assez bien à l’échelle : sur 24 cœurs la version Comet obtient une accélération de 15,6, tandis que la version de référence atteint 18,5. Le temps de la versionComet est significativement plus grand que celui de la référence. En effet, en séquentiel, Cometest 1,180 fois plus lent que la référence. Sur deux cœurs, ce facteur chute à 1,117 puis ne cesse d’augmenter au fur et à mesure que le nombre de cœurs utilisé grandit, atteignant un facteur de 1,402 sur 24 cœurs.

On peut distinguer deux sources de surcoûts : l’une impacte l’exécution séquen- tielle et l’autre grandit en fonction du nombre de cœurs utilisés.

Dans le cas d’une exécution séquentielle, le support exécutif sous-jacent (KOMP) est configuré pour exécuter les tâches dans l’ordre où elles sont soumises (ordre d’exé- cution toujours correct). Or la soumission des tâches est groupée par métatâche : l’ensemble des tâches de calcul des gradients est soumis avant l’ensemble des tâches d’interpolation. Bien que ce choix permette de réduire drastiquement les surcoûts de l’ordonnancement, il a un impact prohibitif sur ce cas d’utilisation. En effet, l’en- semble des données temporaires sont allouées et écrites, puis intégralement lues et libérées (dans un second temps). Par conséquent, le coût des allocations est plus élevé, car l’allocateur (ici Jemalloc) ne peut pas réutiliser des buffers précédemment

Version / Variante Nombre de cœurs

1 2 4 8 16 24

Référence / Splines 347 353 364 388 434 481 Comet/ Splines 2 096 366 377 403 463 523 Référence / Lagrange 343 344 347 354 366 379 Comet/ Lagrange 1 825 352 360 377 412 446

Table 6.3 – Nombre de défauts de pages (en milliers) obtenus sur les versions de référence et Comet en fonction du nombre de cœurs utilisé sur Brunch.

alloués au sein d’une même itération, ce qui a pour effet d’augmenter les surcoûts liés à la pagination6. Cet effet affecte aussi la variante Splines, mais il est relative- ment moindre étant donné que le temps de complétion de la variante Splines est plus conséquent et que cette dernière est moins sensible aux effets de caches. Une étude du nombre de défauts de pages des différentes versions en fonction du nombre de cœurs utilisé présenté par le tableau6.3 confirme la présence de cet effet : le nombre de défauts de pages des versions Cometest très élevé dans le cas séquentiel.

Lorsque le nombre de cœurs grandit, le manque d’entrelacement de la versionCo- met introduit un surcoût considérable. Bien qu’il soit visible sur les deux variantes, l’efficacité de la variante Lagrange par rapport à la variante Splines accentue les effets provenant de cette optimisation.

6.3.3 Comparaison de versions équivalentes

Méthode de comparaison Uneversion intermédiaire a été mise au point afin de confirmer l’hypothèse selon laquelle la granularité est responsable de la différence des temps de complétion entre la versionCometet la version de référence. Cette version, bien plus proche de celle deComet, est obtenue en adaptant l’entrelacement effectué entre le calcul des gradients et l’interpolation de manière à opérer à la granularité du plan. Elle permet d’évaluer les surcoûts introduits par Halley plus justement, en ne considérant pas les surcoûts engendrés par un choix non optimal de la granularité de la version Comet. L’analyse et la conception d’une version Comet opérant à grain plus fin, aujourd’hui non réalisée, permettrait de comparer plus précisément les surcoûts engendrés par Comet et la mise en œuvreHalley.

Les figures 6.6 et 6.7 comparent les temps de complétion de la version Comet par rapport à la version intermédiaire (issue de la version de référence, mais opérant uniquement à la granularité du plan) de 1 à 24 cœurs (de Brunch) et avec les variantes Splines et Lagrange.

On peut observer que les versions Comet sont quasiment aussi rapides que les versions intermédiaires, excepté dans le cas séquentiel (dû au choix fait par le support exécutif KOMP énoncé précédemment). En effet, la version Cometest au

6. Augmentation des défauts de pages auquel est ajouté un coût d’initialisation des pages à zéro (sur les noyaux Linux récents par défaut) effectuée pour des raisons de sécurité telles que l’isolation des processus.

6.3. ÉVALUATION DES PERFORMANCES 141

1 2 4 8 16 24

Nombre de c urs 0

5 10 15 20 25

Temps de complétion (s)

Temps de la version Comet Temps de la version intermédiaire Temps idéal

Ratio Comet/Intermédiaire

0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7

Ratio des temps de complétion

Figure 6.6 – Temps de complétion (absolu et relatif) de la variante Splines en fonction du nombre de cœurs utilisés obtenus respectivement avec la version de référence et avec la version Comet sur la machine de calcul Brunch. Le ratio est calculé par rapport à la version de référence.

1 2 4 8 16 24

Nombre de c urs 0

2 4 6 8 10 12

Temps de complétion (s)

Temps de la version Comet Temps de la version intermédiaire Temps idéal

Ratio Comet/Intermédiaire

0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7

Ratio des temps de complétion

Figure 6.7 – Temps de complétion (absolu et relatif) de la variante Lagrange en fonction du nombre de cœurs utilisés obtenus respectivement avec la version de référence et avec la version Comet sur la machine de calcul Brunch. Le ratio est calculé par rapport à la version de référence.

plus 1,023 fois plus lente dans le cas de la variante Splines et au plus 1,058 dans le cas de la variante Lagrange. On peut donc déduire que Comet n’introduit pas de surcoût significatif à l’exécution sur le cas d’utilisation d’advection 2D lorsque la granularité employée est au niveau du plan.