• Aucun résultat trouvé

1.4 Les services grille

1.4.5 Service de gestion de la concurrence

Dans un environnement distribué tel que la grille, la concurrence d'accès aux données est très forte. Pour une application utilisant MPI1, ce service n'est pas nécessaire car

c'est l'application elle-même qui gère la concurrence d'accès à ses données. Par contre, si l'application respecte le standard Posix2, c'est le système de chiers qui se doit de garantir

la cohérence des données. Dans un environnement grille, celle-ci est gérée par une entité : le service de gestion de la concurrence. Il distribue des verrous sur des objets (métadonnées, données, entrée de cache, etc...).

Ce service est étudié en détail dans ce manuscrit. Dans les chapitres suivants, nous en présenterons l'état de l'art. Nous montrerons également les nouveautés que nous avons apporté par rapport aux modèles existants.

Nous venons de présenter les services de la grille qui nous paraissent les plus importants pour la compréhension de la suite de ce document. Il existe toutefois d'autres services que nous avons quelque peu évoqués en présentant les autres, comme par exemple le service d'autorisation et d'authentication qui assure le transfert des données sécurisées à travers plusieurs sites institutionnels, ou encore le service de réservation de ressources qui permet d'assurer une certaine qualité de service aux applications. D'autres services indispensables assurent des fonctions telles que : la détection des pannes, la reconguration du système en cas d'arrêt brutal d'un n÷ud. Nous allons dans le chapitre suivant présenter un intergiciel de grille, dont notre équipe au laboratoire Irit a développé certains composants. Ce projet, a par la suite servi de base pour l'étude des problèmes liés à la concurrence d'accès aux données qui font l'objet de cette thèse.

1Message Passing Interface : c'est une norme dénissant une bibliothèque de fonctions de communi-

cation par passage de messages, permettant d'exploiter des machines parallèles à mémoire partagée, ainsi que des grappes d'ordinateurs hétérogènes à mémoire distribuée.

2Portable Operating System Interface : Le X désigne l'héritage Unix de l'API. Ce standard déni par

Chapitre 2

Le projet ViSaGe

iSaGe est l'acronyme de : Virtualisation du Stockage appliquée aux Grilles informatiques [TFM05]. ViSaGe est un intergiciel de grille incluant un système de chiers large-échelle. Ce dernier s'appuie sur une couche de virtualisation des données, chargée d'agréger l'ensemble des ressources de stockage de la grille dans un espace virtuel partagé par tous les n÷uds. ViSaGe est à l'origine un projet RNTL pré-compétitif impliquant divers partenaires académiques et industriels :

• Seanodes : éditeur de logiciels de gestion du stockage dans un environnement de grappes de machines, se démarquant de leurs concurrents par des politiques de place- ment de données dynamiques sur les dispositifs de stockage. Les grilles (ou grappe de grappes) représentent pour cette jeune entreprise une évolution technologique logique de leurs logiciels.

• Cs - Communication et Systèmes : concepteur, intégrateur, opérateur de systèmes critiques, Cs participe à divers projets de recherche et développement sur les grilles. Une fois intégré à leurs grilles, ViSaGe doit permettre à Cs un déploiement plus facile d'applications et une souplesse dans la gestion des systèmes d'informations. • Eads : participe également à plusieurs projets pour grilles en coopération avec

d'autres industriels tels que Astrium ou Airbus. L'objectif est d'évaluer la ma- turité des produits dans un environnement industriel (e.g déploiement, intégration d'applications, performance).

• Irit : laboratoire de recherche disposant d'une thématique sur les grilles, au sein de l'équipe ASTRE (Architecture, Systèmes, Temps-Réel, Embarqués). Le projet ViSaGe a permis à l'équipe de déployer une infrastructure de test pour le dévelop- pement d'algorithmes innovants sur des thématiques variées : systèmes de chiers pour grille, systèmes de monitoring des n÷uds, réplication des données, systèmes à quorums dynamiques, exclusion mutuelle dans les systèmes distribués. L'engouement

qui a entouré le projet ViSaGe a permis la réalisation de plusieurs thèses [Fra06, Tra08, Bas08, Thiar].

Le projet ViSaGe fut labellisé en janvier 2004, mais il débuta réellement en mars 2005. Il prit n ociellement en mai 2007, avec une première version fonctionnelle disponible en téléchargement sur le site Web de ViSaGe [Vis]. Les travaux ont ensuite continué à l'Irit. En eet, la plupart des composants de ViSaGe ont subi des améliorations majeures. Tous les résultats montrés dans cette thèse ont été obtenus avec la plate-forme de ViSaGe incluant ces dernières évolutions.

2.1 Architecture logicielle de ViSaGe

ViSaGe est découpé en cinq principaux composants :

• un système de communication VCOM, utilisé par tous les autres composants de ViSaGe pour faire transiter les messages sur le réseau ;

• une couche de virtualisation VRT, chargée d'agréger les ressources de stockage physique de la grille dans un espace virtuel ;

• un système de gestion de chiers de niveau grille VisageFS ; • un système d'administration et de monitoring AdMon ;

• un service de gestion de la concurrence et de la cohérence VCCC.

La gure 2.1 montre les interactions entre les composants de ViSaGe, ainsi que les princi- paux protocoles de communication utilisés lors des échanges entre les n÷uds de la grille. Il faut noter que ViSaGe propose une architecture complètement symétrique. En eet, chaque composant dispose d'une partie client et d'une partie serveur, présentes sur chaque n÷ud de la grille. Cela permet en outre de décentraliser tous les services oert par ViSaGe.

2.1. Architecture logicielle de ViSaGe 21