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