RedGRID, un environnement pour la redistribution d'objets complexes
Dans le cadre du couplage de codes, la redistribution efficace des données est un enjeu majeur pour obtenir de bonnes performances. Or la plupart des travaux dans ce domaine se limitent le plus souvent à l'étude d'objets simples avec des distributions régulières, comme par exemple des tableaux denses avec une distribution bloc-cyclique. Afin de prendre en compte les applications modernes du couplage de codes (simulations multiphysiques, environnements de pilotage), il s'avère important de définir un modèle de description pour des objets plus complexes que des tableaux multidimensionnels (i.e. grilles structurées, ensembles de particules ou maillages non structurés) et de proposer de nouveaux algorithmes de redistribution adaptés. Dans ce papier, nous présentons deux approches de la redistribution : l'approche spatiale et l'approche placement. Au final, ces algorithmes sont implantés dans la bibliothèque RedGRID et sont validés par des résultats expérimentaux.
In the context of code coupling, efficient data redistribution is a crucial issue to reach high-performances. However, most of the works in this area have limited their studies to simple objects with regular distribution patterns, such as multidimensional arrays distributed in a block-cyclic fashion. In order to deal with modern code-coupling applications (e.g. multiphysics simulations, computational steering environments), it becomes necessary to define a description model for more complex objects than multidimensional arrays (e.g. structured grids, particle sets or unstructured meshes) and to propose new redistribution algorithms based upon this model. In this paper, we present two approaches for data redistribution: the spatial approach and the placement approach. Finally, these algorithms are implemented in the RedGRID library and are validated by experimental results.
A.ESNARD
Reçu le 23 janvier 2007.
Accepté le 25 octobre 2007.
redistribution de données, couplage de codes, pilotage des simulations.
data redistribution, code coupling, computational steering.
Français
|