• Aucun résultat trouvé

2.3 Concilier la dynamicité des applications avec les services de la grille

3.1.1 Présentation de la plate-forme G RID ’5000

Chapitre

3

Le déploiement d’applications sur

GRID’5000

Sommaire

3.1 L’approche du déploiement sur la grille GRID’5000 . . . . 39

3.1.1 Présentation de la plate-forme GRID’5000 . . . . 39 3.1.2 Réserver des nœuds avec OAR . . . . 42 3.1.3 Déployer une application avec ADAGE . . . . 44

3.2 Étude de cas : un service de partage de données pour la grille . . . . 48

3.2.1 Architecture de JUXMEM . . . . 49 3.2.2 Héritage pair-à-pair avec la plate-forme JXTA . . . . 51 3.2.3 Déploiement de JUXMEMavec ADAGE . . . . 52

3.3 Conclusion . . . . 58

Le développement des infrastructures de type grille de calculateurs s’accompagne d’une intensification des activités de recherche. Ces recherches visent à améliorer les performances des applications scientifiques. Elles sont menées à plusieurs niveaux dans les couches lo-gicielles, comme cela est montré sur la figure 3.1. Ces niveaux comprennent les couches basses optimisées pour les communications haute performance, les systèmes d’exploitation, les intergiciels de gestion de l’exécution de l’application et les nouveaux paradigmes de pro-grammation pour grilles de calculateurs. La mise en place et l’expérimentation de nouvelles technologies logicielles dédiées à la grille peuvent être effectuées selon les schémas clas-siques et complémentaires de simulation, d’émulation et d’expérimentation en conditions réelles. La figure 3.2 présente les différentes méthodologies utilisées pour l’étude des sys-tèmes distribués, en les classant selon un critère allant du monde de l’abstrait au monde du réel. La complexité des systèmes distribués à grande échelle - principalement due aux nom-breuses interactions établies entre les ressources - rend l’utilisation du modèle analytique, anecdotique. Des approches plus simples à mettre en œuvre résident en la simulation et

38 Chapitre 3– Le déploiement d’applications sur GRID’5000

Application

Environnement de programmation

Moteur d’exécution

Intergiciel (Grille, Pair-à-pair..)

Système d’exploitation Réseau

FIG. 3.1 –Les différentes couches logicielles étudiées au sein du projet GRID’5000.

Mathématiques Simulation Emulation Systèmes réels

Abstraction Réalisme Modèles : Systèmes Applications Plate-formes Conditions Systèmes simplifiés Algorithmique Noyau applicatif Plate-formes virtuelles Conditions synthétiques Systèmes réels Applications réelles Plate-formes contrôlées Conditions synthétiques Systèmes réels Applications réelles Plate-formes réelles Conditions réelles GangSim Bricks SimGrid MicroGrid Emulab DAS2 PlanetLab TeraGrid eScience DataGrid Grid’5000 LHC ComputingGrid

3.1 – L’approche du déploiement sur la grille GRID’5000 39

l’émulation. Elles permettent de contrôler tous les paramètres et conditions d’expérimenta-tion de l’applicad’expérimenta-tion. Elles requièrent cependant un modèle de mise en œuvre des ressources physiques suffisamment pertinent pour refléter le comportement de la plate-forme d’exécu-tion et ainsi se rapprocher des expérimentad’exécu-tions réelles. La taille des infrastructures de type grille et la complexité des applications qui y sont exécutées rendent l’étude de ces systèmes difficile par des approches abstraites.

Dans ce chapitre nous présentons l’approche retenue sur GRID’5000, une plate-forme expérimentale hautement reconfigurable. Cette plate-forme est mise en place pour étudier les infrastructures de type grilles de calcul. Nous nous focalisons ensuite sur deux outils dédiés à la réservation de ressources et au déploiement d’applications. Enfin, nous revenons à la problématique du déploiement à travers un exemple complet, mettant en scène divers prototypes de recherche.

3.1 L’approche du déploiement sur la grille GRID’5000

C’est dans ce contexte de forte demande en plate-forme expérimentale à grande échelle que le projet GRID’5000 [30, 139] a été proposé. Cette grille de calculateurs doit permettre d’effectuer des expérimentations dans des conditions réelles tout en restant hautement confi-gurable. Elle doit de plus permettre la reproductibilité des expériences. Dans ce chapitre nous présentons la plate-forme GRID’5000 ainsi que les outils mis à la disposition des uti-lisateurs. Nous nous focalisons ensuite sur deux outils de gestion des ressources et du dé-ploiement d’application : OARet ADAGE.

3.1.1 Présentation de la plate-forme GRID’5000

GRID’5000 est une initiative de recherche lancée par le programme de l’Action Concertée Incitative GRID, le CNRS, l’INRIA et RENATER. Son but est de proposer une grille de cal-cul hautement configurable et contrôlable. L’architecture GRID’5000 est distribuée sur neuf sites en France, comme cela est montré sur la figure 3.3. Les sites partenaires sont Bordeaux, Grenoble, Lille, Lyon, Nancy, Orsay, Rennes, Sophia-Antipolis et Toulouse. À terme, la grille regroupera jusqu’à cinq mille processeurs en s’appuyant sur les infrastructures de 17 labo-ratoires, spécialisés en informatique, mathématiques, télécommunications, modélisation et simulation.

3.1.1.1 Topologie réseau

L’architecture réseau générale de GRID’5000 est dictée par l’organisation hiérarchique des ressources. Celles-ci sont groupées au sein de grappes de calculateurs, eux-mêmes grou-pés dans des sites. L’interconnexion des différents sites est assurée par les réseaux à haut débit fournis par RENATER1 [158, 157]. L’ossature du réseau suit celle de RENATER, per-mettant d’allouer jusqu’à 10 Gb/s de bande passante entre les sites grâce à l’utilisation d’une

fibre optique noire virtuelle. Cette fibre est caractérisée par un multiplexage, au niveau phy-sique, sur les fréquences et propose plusieurs canaux appeléslambdas. Le réseau RENATER

40 Chapitre 3– Le déploiement d’applications sur GRID’5000

FIG. 3.3 –Carte des sites de la grille expérimentale GRID’5000 vue par l’outil de visualisation des ressources développé par Thomas Hérault (LRI/Orsay). Les sites sont reliés par un réseau 10 Gb/s reposant sur l’infrastructure RENATER.

3.1 – L’approche du déploiement sur la grille GRID’5000 41

alloue un lambda de 10 Gb/s au projet GRID’5000. La latence est de l’ordre de 10 milli-secondes entre les sites. Elle dépend du chemin emprunté et du type de matériel traversé entre les différentes ressources. Les sections en fibre optique noire sont représentées sur la figure 3.3. Les ressources sont inter-connectées, au sein de chaque site, par un routeur ou une hiérarchie de routeurs. Plusieurs technologies sont utilisées : Ethernet, Myrinet ou encore InfiniBand, assurant des latences de l’ordre de la centaine de microsecondes pour l’Ethernet et de l’ordre de la microseconde pour les réseaux haute performance. Ces latences sont faibles en comparaison de celles observées pour les communications inter-sites. Le ré-seau GRID’5000 peut donc être considéré comme un réseau hiérarchique à deux niveaux. Le premier niveau concerne les communications intra-sites et le deuxième niveau concerne les communications inter-sites. Ces deux niveaux doivent être pris en compte par les applica-tions lorsqu’elles sont distribuées sur plusieurs sites de la grille. Ils conditionnent largement les performances des applications lors de l’envoi de messages.

3.1.1.2 Hétérogénéité des ressources

Issue de la fédération de domaines administratifs indépendants, la grille GRID’5000 est, à l’image de quelques autres grilles expérimentales et de production, composée de ressources physiques hétérogènes. Cette hétérogénéité concerne, à l’origine, un tiers des ressources. Cette caractéristique est, d’une part, la conséquence de l’autonomie dont jouissent les sites pour gérer leur parc informatique. Elle est, d’une autre part, issue de la volonté scientifique de refléter l’architecture matérielle des grilles de production. L’hétérogénéité des ressources intervient à plusieurs niveaux, du matériel au logiciel. Les principales caractéristiques at-tachées aux ressources concernent notamment le processeur, avec des architectures allant de 32 bits à 64 bits, du mono processeur au quadri processeur, du simple cœur aux proces-seurs à huit cœurs. Les types de procesproces-seurs représentés sont majoritairement basés sur les constructeurs Intel et AMD, avec quelques PowerPC aujourd’hui inutilisés. La taille de la mémoire physique des nœuds varie entre 1 Go et 32 Go. Les interfaces réseau utilisent des cartes gigabit Ethernet 1G, InfiniBand 10G ou encore Myrinet 10G. Les disques durs offrent des espaces de stockage de 30 Go à 600 Go. D’un point de vue logiciel, les systèmes d’exploi-tation déployés par défaut sur chacune des ressources sont mis en place par les responsables des sites. Si l’utilisation des systèmes à base d’Unix sont généralisés, il en résulte tout de même un large éventail de distributions, impliquant des bibliothèques logicielles aux ver-sions très différentes. Ces caractéristiques sont à prendre en compte lors du déploiement d’une application sur les ressources, notamment lorsque celle-ci utilise des bibliothèques particulières.

3.1.1.3 Gestion des données

Le stockage des données dans GRID’5000 est effectué à deux niveaux : au niveau des ressources physiques et au niveau de systèmes de fichiers distribués de typeNFS [109]. Sur chacune des ressources physiques un disque local est mis à la disposition des utilisateurs. Ce disque est partitionné pour permettre notamment de stocker des données temporaires pen-dant un calcul. Cet espace est réinitialisé à chaque utilisation de la ressource. Il ne permet donc pas de conserver des données sur le long terme. Pour cela, un système NFS est pro-posé sur chaque site de la grille. Il permet de conserver des données entre deux utilisations

42 Chapitre 3– Le déploiement d’applications sur GRID’5000

Listing 3.4 – Exemple de soumission d’une tâche à OAR. 1 paramount:~> oarsub -r "2008-09-03 18:54:00"

2 -l nodes=4/pu=2,walltime=2:30:00

3 /hemin/vers/mon-programme.sh

de la plate-forme. LeNFS d’un site est accessible à partir de toutes les ressources apparte-nant à ce site. Cette particularité permet notamment, lors du déploiement d’une application sur un même site, de ne pas transférer explicitement les programmes et les données sur les ressources. Il est en effet possible d’atteindre un fichier en utilisant son adresse unique dans l’arbre du système de fichiers. En revanche, l’espace NFS d’un site est difficilement accessible à partir de ressources localisées sur un site différent. Il faut pour cela connaître l’adresse d’une machine appartenant au site distant pour y effectuer une demande de trans-fert. De plus, les NFSde chaque site ne sont pas synchronisés. Les données stockées sur un site ne sont pas mises à jour sur les autres sites. La synchronisation des différents sites reste donc à la charge des utilisateurs. Enfin, les espacesNFS ne sont pas répliqués ou sauvegar-dés sur un support externe. Ils ne peuvent donc pas être utilisés comme du stockage fiable, mais seulement comme du stockage temporaire pour le code des applications en cours de développement ou pour les données résultant d’une expérience.