Adresse
Eddy Caron
Laboratoire de l'Informatique du Parallélisme
École Normale Supérieure de Lyon
46 Allée d'Italie
69364 Lyon Cedex 07. France
Phone Office 307
Office : +33 4 72 72 84 96
Fax : +33 4 72 72 80 80
Les grilles informatiques ont connu ces dernières années - et connaissent encore - une forte activité : d'idée, elles sont devenues réalité. Par exemple, Teragrid aux Etats-Unis ainsi que Grid'5000 en France réunissent chacun plusieurs milliers de processeurs et disposent d'un réseau dédié en gigabits (40 Gb/s pour TeraGrid, 1 Gb/s et bientôt 10 Gb/s pour Grid'5000). Ainsi l'infrastructure matérielle des grilles est en place. Il n'en va pas de même pour les applications : peu d'applications arrivent à exploiter ces ressources. La plupart des applications sont en réalité des codes parallèles qui ne s'exécutent que sur un noeud de la grille, c'est-à-dire une machine parallèle.
De nombreux modèles de programmation ont été proposés pour tenter de maîtriser la complexité de programmation pour une application, afin d'exploiter simultanément plusieurs noeuds d'une grille. Cependant, la plupart d'entre eux se contentent d'étendre un paradigme de programmation existant, comme par exemple les implémentations grid-aware de MPI (MPICH-G2, MagPie, ...), l'appel de fonction à distance (GridRPC), l'appel de service (Web Services), les workflows (GridAnt, DAGMan, GRMS, ...), le paradigme maître-travailleur (BOINC, XtremWeb, ...), le partage de collections de données non modifiables via des catalogues (DPOSS, NVO, GAMESS, BIRN, ...), le partage de données modifiables via un accès transparent vis-à vis de la localisation (JuxMem), et enfin les modèles de composant (CCA, ASSIST, ICENI, ...).
Cependant, une application exhibe très fréquemment le besoin d'utiliser plusieurs paradigmes de programmation. Par exemple, une application de couplage de codes en hydrologie du projet ACI GRID HydroGrid met en évidence des parties de codes adaptées à MPI alors qu'une autre partie demanderait à être programmée selon un paradigme maître-travailleur. Si nous ajoutons des considérations de stockage et de visualisation des données produites, un paradigme de partage de données persistantes s'avère très utile. Enfin, pour maîtriser la complexité de l'application ainsi que son déploiement, un modèle de programmation à base de composants s'avère quasiment indispensable.
L'objectif de LEGO est de mettre en oeuvre et de valider un modèle de programmation multi-paradigmes pour les grilles de calcul, qui intègre les avancées majeures en recherche de ces dernières années, afin de permettre simplement la création d'applications qui exploitent efficacement les grilles. Il s'agit d'offrir les grandes capacités de calcul et de stockage des grilles aux applications en remontant le niveau d'abstraction de la programmation des grilles. Le projet LEGO se propose de remplir cet objectif en offrant un modèle intégré supportant les caractéristiques suivantes :
Les technologies inhérentes à ces caractéristiques existent, à des degrés divers de maturité, mais leurs interactions et leur mise en oeuvre collaborative est un réel défi que ce projet souhaite relever. Le verrou majeur que nous visons consiste à unifier ces axes de recherches qui ont été forts prolifiques mais menés de manière assez cloisonnée ces dernières années.
La levée de ce verrou constituerait une innovation majeure dans la simplification, la transparence et les possibilités de programmation des grilles. LEGO vise à valider ces propositions sur la plate-forme Grid'5000 au travers de trois applications de calculs intensifs de trois domaines différents : expertise en calcul matriciel, simulation météorologique et simulation astronomique. La diffusion des résultats de LEGO s'appuiera sur ces trois applications, offrant une nouvelle dimension à ces applications qui bénéficient déjà toutes d'une certaine renommée pour leur communauté respective. Les retombées seront donc immédiates.