Titre : Redistribution de données irrégulières pour des
applications
distribuées de grandes tailles: application au computational
steering.
Responsables: Olivier Coulaud, Jean Roman
Téléphone: 05 40 00 69 11 et 05 40 00 69 36
E-mail: Olivier.Coulaud@labri.fr, Jean Roman@labri.fr
Laboratoire et équipe de recherche: LaBRI, équipe SATANAS
Projet commun LaBRI et INRIA Futurs ScAlApplix
Présentation du sujet:
La simulation fine de phénomènes physiques, chimiques ..., nécessite
de plus en plus la prise en compte de modélisations à des échelles
d'espace et de temps différentes. Ces nouvelles simulations
sont
développées en couplant différents codes parallèles représentant
différents modèles physiques, soit avec des environnements spécifiques
(OASIS, MPCCI), soit avec des intergiciels comme CORBA. Pour
d'autres
applications, on souhaiterait visualiser en temps réel les résultats
intermédiaires d'une simulation parallèle distante voire de
modifier à
la volée des paramètres. Il s'agit aussi d'un problème de
couplage
entre une simulation parallèle et un environnement graphique
parallèle, on parle alors de pilotage d'application ou
computational
steering. Nous développons la plate-forme EPSN qui permet de
faire
cela.
Dans ces approches, le point crucial pour obtenir des
simulations
performantes est d'avoir des mécanismes de déplacement de
données
efficaces entre codes parallèles. Le problème de la
redistribution de
données a été beaucoup étudié dans le cadre de la
programmation des
architectures parallèles à mémoire distribuée. Il peut se découper
en
trois étapes. La première consiste à décrire formellement
les données;
cette description doit prendre en compte la distribution des
données
entre les processeurs ainsi que l'agencement de ces données
en mémoire
de chaque processeur. La deuxième étape consiste à partir de
cette
description de construire la matrice de communication, c'est
à dire
l'ensemble des messages qui doivent être échangés entre
chaque paire
de processeurs. La dernière étape consiste à ordonnancer les
différents messages pour maximiser le flux de communication
pour
agréger la bande passante. Nous avons dores et déjà étendu
les
redistributions blocs-cycliques régulières à des données irrégulières
(particules) mais contenues dans des objets réguliers, et
ceci a donné
lieu à une bibliothèque de redistribution RedGRID. Les
applications
que nous visons maintenant (mécanique des fluides) utilisent
des
objets irréguliers de type maillages. L'objet de ce travail
consistera
d'une part, à proposer une extension pour pouvoir décrire de
manière
symbolique des graphes (maillages, molécules biologiques, ...)
et
d'autre part, à développer à partir de cette description des
algorithmes pour construire et générer les messages échangés
entre les
codes couplés.Pour ces algorithmes de redistribution génériques
et
efficaces, une idée consiste à utiliser des informations
provenant
d'un partitionneur de graphes; par exemple pour SCOTCH,
l'arbre de
partitionnement permettra d'utiliser des informations de
voisinage. Le
formalisme de description des maillages ainsi que les
algorithmes
seront intégrés dans la bibliothèque RedGRID et validés dans
la
plate-forme EPSN au travers de l'application de mécanique
des fluides
FluidBox.
Références:
[1] EPSN Project, http://www.labri.fr/epsn
[2] Aurélien Esnard, Analyse, conception et réalisation d'un
environnement pour
le pilotage et al visualisation en
ligne de
simulations numériques
parallèles. Thèse de l'université de
Bordeaux 1, Décembre
2005.
[3] RedGRID software, http://www.labri.fr/Perso/~esnard/RedGRID/
Mot-clés :Redistribution, algorithmique parallèle, couplage de codes