• Aucun résultat trouvé

Formalisme hybride à grande échelle sur le supercalculateur TGCC/Curie

EN PRÉSENCE DE CONTRAINTES CINÉMATIQUES COMPLEXES

P ARALLELISME HYBRIDE DYNAMIQUE ET COLLABORATIF

3.2.2 Formalisme hybride à grande échelle sur le supercalculateur TGCC/Curie

Conformément au paragraphe B-3.1.1, combiner les deux sources de parallélisme évoquées dans les paragraphes précédents revient à implémenter le traitement multi-thread avec KAAPI pour les tâches effectuées

à l’intérieur d’un sous-domaine. Cette approche est cohérente avec l’architecture classique de nombreux supercalculateurs actuels, se présentant comme une généralisation à grande échelle de la machine de calcul locale citée au paragraphe B-3.1.4.3, à savoir un cluster de nœuds multi-processeurs à mémoire partagée. Une exploitation pertinente d’une telle configuration est d’exécuter un processus MPI par nœud, et d’utiliser les cœurs locaux en SMP.

Avant sa mise en œuvre sur une telle machine, l’approche hybride à mémoire distribuée et partagée dans EPX est appliquée au cas de rotor/stator du paragraphe B-3.1.4.3 sur le cluster local utilisé précédemment [Faucher, 2014].

Les résultats en termes de performances sont donnés par la Figure 154. Différentes configurations parallèles sont considérées, de 4 à 16 cœurs mobilisés, et on s’intéresse au temps passés dans les tâches de calcul principales pour 5 000 cycles en temps.

(a) Speed-ups pour les différentes tâches et configurations

(b) Equilibrage de la charge pour les tâches de calcul dominantes sur le processus MPI 1 (4 processus MPI,

4 threads par processus)

Figure 154 : Performances de l’approche hybride MPI/KAAPI pour le cas de rotor/stator (5 000 cycles en temps) Ces résultats sont encore largement expérimentaux. On voit que certaines tâches sont plus extensibles que d’autres avec KAAPI, ce test de nature fortement industrielle mettant plus en évidence le caractère memory bound de certaines boucles que celui du paragraphe précédent.

La mise en œuvre à des fins de test de la stratégie complète proposée sur le supercalculateur TGCC/Curie répond ensuite directement à une recommandation formulée lors de la revue du projet RePDyn à mi-parcours. Elle prend la forme d’un Preparatory Access obtenu auprès de l’agence européenne PRACE (http://www.prace-

ri.eu), partageant l’accès au calculateur avec la société civile française GENCI (http://www.genci.fr). Cet accès

correspond à 200 000 heures de calcul entre février et juillet 2012, sur les fat nodes de la machine (32 cœurs, 128 Go de RAM).

La proposition retenue par PRACE porte sur la simulation de modèles complexes fortement couplés. La mise en œuvre du passage à l’échelle sur une application modèle non-représentative de l’utilisation industrielle d’EPX est exclue. Parmi les deux cas de simulation principalement étudiés durant le temps d’accès alloué, on se focalise sur la Table 54 sur celui ayant produit les résultats les plus stables, à savoir la simulation de l’interaction d’une onde de choc guidée avec un container métallique. Il est notable que la prise en main de l’environnement de simulation sur des calculateurs de grande taille demande l’acquisition d’une expérience spécifique et de nombreux ajustements, ce qui a nuit à l’aboutissement des actions d’analyse et d’optimisation dans le temps fortement contraint du projet PRACE.

B. Activités scientifiques post-doctorales

Passage à l’échelle des méthodes de résolution en dynamique rapide en présence de contraintes cinématiques complexes Parallélisme hybride dynamique et collaboratif

Simulation de l’interaction d’une onde de choc guidée avec un container métallique

Contexte et description du test

Il s’agit de la simulation d’un essai réalisé à l’Université de Trondheim (Norvège), le jeu de données de base étant fourni par le Joint Research Center de la Commission Européenne. Le test correspond à une onde de choc générée à une extrémité fermée d’un tunnel rigide d’une longueur de 100 m environ. A proximité de l’autre extrémité du tunnel, ouverte, est placé un container métallique. Dans la seconde moitié du tunnel figurent trois déflecteurs destinés à focaliser l’onde sur le container. La description détaillée du dispositif, les résultats quantitatifs et les comparaisons à l’expérience, hors de propos du présent document, sont donnés dans [Casadei et al., 2011].

Le maillage compte environ 2 000 000 d’éléments pour le fluide et 100 000 pour le container. L’interaction entre les deux est

de type structures immergées. Dans le temps alloué par le projet, il est choisi de privilégier l’analyse de l’extensibilité des algorithmes complexes d’EPX et de remettre la gestion des modèles de grande taille et des difficultés spécifiques associées (plusieurs dizaines de millions d’éléments) à des travaux ultérieurs.

Visualisation des résultats

On s’intéresse tout d’abord à la propagation de l’onde de choc.

(a) 20 ms : génération de l’onde de choc (b) 80 ms : propagation de l’onde de choc dans le tunnel

(c) 140 ms : passage de l’onde de choc à travers les

déflecteurs

(e) 400 ms : propagations d’ondes résiduelles dans le tunnel, sans effet majeur sur le container

Figure 155 : Interaction entre une onde de choc et un container métallique – Propagation de l’onde dans le tunnel On présente ensuite la déformation importante du container, conforme à des prises de vue effectuées à l’issue de l’essai.

(a) 190 ms : début de l’interaction avec

l’onde de choc (b) 200 ms (c) 220 ms

(d) 240 ms (e) 280 ms : état stabilisé atteint (f) 400 ms : déformée finale du

container Figure 156 : Interaction entre une onde de choc et un container métallique – Déformation du container

B. Activités scientifiques post-doctorales

Passage à l’échelle des méthodes de résolution en dynamique rapide en présence de contraintes cinématiques complexes Parallélisme hybride dynamique et collaboratif

Mesures d’extensibilité de 32 à 1 024 cœurs mobilisés et commentaires

La Table 53 donne les mesures d’extensibilité obtenues pour le cas ci-dessus, ainsi que les configurations matérielles

correspondantes pour chacun des nombres de cœurs considérés.

Processus MPI 32 64 128 32 64 128

Threads KAAPI 1 1 1 8 8 8

Nombre total de CPU 32 64 128 256 512 1024

Temps (s) pour 2000

pas de temps 1547 885 577 640 440 345

Table 53 : Mesures d’extensibilité pour le calcul d’interaction d’une onde de choc avec un container métallique sur le calculateur TGCC/Curie

Ces résultats ne satisfont pas pleinement les attentes portant sur une exécution d’EPX à cette échelle. En particulier, est signalée en rouge sur la Table 53 une anomalie dans l’évolution du speed-up.

Tout d’abord, il n’a pas été possible de mobiliser plus de 8 cœurs par nœud en SMP sans dégrader fortement les performances, alors que la combinaison attendue des ressources pour mobiliser 1 024 cœurs était plutôt 64 processus MPI, utilisant chacun 16 threads. Ceci a forcé l’utilisation d’un nombre de processus MPI supérieur à ce qui était envisagé initialement, avec une limitation de l’extensibilité associée due aux travaux d’optimisation du solveur encore en cours en 2012. Ce point explique le saut indiqué en rouge dans les mesures de speed-up.

L’explication de la limitation du nombre de threads en SMP est encore en cours d’analyse par les partenaires CEA et INRIA. Un élément déterminant est que 8 est le nombre de cœurs par processeur sur les nœuds de TGCC/Curie concernés, constitués d’une association de 4 processeurs Intel Xeon X7560 pour fournir les 32 cœurs annoncés. Demander plus de 8

threads signifie donc solliciter plus d’un processeur, ce qui soulève des questions spécifiques relatives au protocole de

maintien de la cohérence des caches entre les processeurs. Des travaux récents menés par l’INRIA tendent également à montrer que la politique de gestion de l’énergie, cruciale pour des machines de la taille de TGCC/Curie, peut être à l’origine des différences observées entre les threads lancées sur le même processeur que le thread principal (en charge également des sections séquentielles du programme) et les autres. Les différents processeurs sont forcés d’adapter leur fréquence de fonctionnement en rapport avec la charge de calcul qui leur demandée : si certains ne sont sollicités que de manière discontinue, ils peuvent ne pas fournir leur puissance de calcul nominale, ce que des tests élémentaires semblent montrer. Malgré ces résultats qui suggèrent une phase de consolidation importante des différents aspects de la stratégie parallèle hybride proposée pour EPX, le Preparatory Access effectué sur TGCC/Curie répond positivement aux objectifs annoncés suivants.

1. La stratégie parallèle complète pour EPX est fonctionnelle sur 1 024 cœurs en associant le parallélisme à mémoire

distribué et le parallélisme à mémoire partagée réalisé via la librairie KAAPI.

2. En faisant abstraction du saut modéré en passant de 128 à 256 cœurs dans les mesures de speed-up pour le cas

d’interaction entre une onde de choc et un container (corrigé depuis en optimisant le parallélisme MPI) une approche extensible jusqu’à 1 024 cœurs est obtenue pour ce cas fortement couplé, ce qui était très largement hors de portée au début du projet.

L’efficacité parallèle est à consolider par des travaux d’optimisation détaillés, mais cela valide l’approche parallèle globale proposée.

3. L’ensemble des travaux réalisés pendant l’accès temporaire obtenu sur TGCC/Curie constitue une base de

connaissance fondamentale pour la généralisation indispensable de la mise en œuvre d’EPX à cette échelle. Table 54 : Synthèse de la mise en œuvre d’un cas industriel représentatif sur le calculateur TGCC/Curie

3.2.3 Illustration sur les transitoires accidentels de référence pour les réacteurs nucléaires actuels