MEMOIRE. présenté à. l École Nationale d Ingénieurs de Sfax. (Département de Génie Informatiques et Mathématiques Appliquées) en vue de l obtention



Documents pareils
3A-IIC - Parallélisme & Grid GRID : Définitions. GRID : Définitions. Stéphane Vialle. Stephane.Vialle@supelec.fr

Chapitre 1 : Introduction aux bases de données

Les clusters Linux. 4 août 2004 Benoît des Ligneris, Ph. D. benoit.des.ligneris@revolutionlinux.com. white-paper-cluster_fr.sxw, Version 74 Page 1

Evolution des technologies et émergence du cloud computing Drissa HOUATRA, Orange Labs Issy

Qu'est-ce que le BPM?

Messagerie asynchrone et Services Web

L'évolution de VISUAL MESSAGE CENTER Architecture et intégration

1 JBoss Entreprise Middleware

Internet Information Services (versions 7 et 7.5) Installation, configuration et maintenance du serveur Web de Microsoft

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Architecture complète de protection du stockage et des données pour VMware vsphere

VMWare Infrastructure 3

Enseignant: Lamouchi Bassem Cours : Système à large échelle et Cloud Computing

ViSaGe. Virtualisation du Stockage dans les Grilles. Informatiques. RenPar 16, 6-8 Avril 2005 Thiebolt François

Les Architectures Orientées Services (SOA)

NOTIONS DE RESEAUX INFORMATIQUES

Business Process Execution Language

Oracle Fusion Middleware Concepts Guide 11g Release 1 (11.1.1) Figure 1-1 Architecture Middleware

ManageEngine IT360 : Gestion de l'informatique de l'entreprise

Patrons de Conception (Design Patterns)

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

La démarche SOA et l interopérabilité applicative

Contributions à l expérimentation sur les systèmes distribués de grande taille

Résumé CONCEPTEUR, INTEGRATEUR, OPERATEUR DE SYSTEMES CRITIQUES

Mobile OGSI.NET: Grid Computing on Mobile Devices

La continuité de service

Prise en compte des ressources dans les composants logiciels parallèles

SQL Server Installation Center et SQL Server Management Studio

Optimisation WAN de classe Centre de Données

Licences Windows Server 2012 R2 dans le cadre de la virtualisation

Ebauche Rapport finale

Chapitre 1. Infrastructures distribuées : cluster, grilles et cloud. Grid and Cloud Computing

Architecture d'entreprise : Guide Pratique de l'architecture Logique

La sécurité dans les grilles

1 LE L S S ERV R EURS Si 5

Prestataire Informatique

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

Concours interne d ingénieur des systèmes d information et de communication. «Session 2010» Meilleure copie "étude de cas architecture et systèmes"

GRIDKIT: Pluggable Overlay Networks for Grid Computing

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

1 Introduction à l infrastructure Active Directory et réseau

Présentation du déploiement des serveurs

Urbanisation des SI. Des composants technologiques disponibles. Urbanisation des Systèmes d'information Henry Boccon Gibod 1

Conception d une infrastructure «Cloud» pertinente

Présentation de Active Directory

WHITE PAPER. Quels avantages la déduplication offre-t-elle aux entreprises? Livre blanc Acronis

1. Introduction à la distribution des traitements et des données

Réseau : Interconnexion de réseaux, routage et application de règles de filtrage.

Module 0 : Présentation de Windows 2000

Urbanisme du Système d Information et EAI

Conception Exécution Interopérabilité. Déploiement. Conception du service. Définition du SLA. Suivi du service. Réception des mesures

ÉCOLE DE TECHNOLOGIE SUPÉRIEURE UNIVERSITÉ DU QUÉBEC MÉMOIRE PRÉSENTÉ À L ÉCOLE DE TECHNOLOGIE SUPÉRIEURE. PAR Abdelhamid DAOUADJI

IBM Cloudant Data Layer Local Edition

DIRAC : cadre et composants pour créer des systèmes de calcul distribués

Détection d'intrusions en environnement haute performance

Fiche de l'awt Intégration des applications

Gestion des utilisateurs et Entreprise Etendue

Principaux utilisateurs du Réseau

Les modules SI5 et PPE2

OASIS Date de publication

Cours Base de données relationnelles. M. Boughanem, IUP STRI

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters AVANTAGES

Chapitre 01 Généralités

Tarification comparative pour l'industrie des assurances

Service d'installation et de démarrage de la solution de stockage réseau HP StoreEasy 1000/3000

Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION

Virtualisation des postes de travail

Pourquoi toutes les entreprises peuvent se priver de centrale téléphonique?

Présentation du module Base de données spatio-temporelles

Les nouvelles architectures des SI : Etat de l Art

Créer et partager des fichiers

Conception des systèmes répartis

10 tâches d administration simplifiées grâce à Windows Server 2008 R2. 1. Migration des systèmes virtuels sans interruption de service

Chapitre 2 Rôles et fonctionnalités

Le stockage. 1. Architecture de stockage disponible. a. Stockage local ou centralisé. b. Différences entre les architectures

LE SAN ET LE NAS : LE RESEAU AU SERVICE DES DONNEES

FAMILLE EMC RECOVERPOINT

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters

DÉVELOPPEMENT INFONUAGIQUE - meilleures pratiques

BASE DE DONNÉES ORACLE 11G SUR LE SYSTÈME DE STOCKAGE PILLAR AXIOM. Livre blanc publié par Oracle Novembre 2007

Regard sur hybridation et infogérance de production

Responsable du cours : Héla Hachicha. Année Universitaire :

Pourquoi toutes les entreprises peuvent se priver de centrale téléphonique?

La haute disponibilité de la CHAINE DE

Les cinq raisons majeures pour déployer SDN (Software-Defined Networks) et NFV (Network Functions Virtualization)

Chapitre 10 Mettre en œuvre un cluster Hadoop

Les réseaux de campus. F. Nolot

CORBA. (Common Request Broker Architecture)

Chapitre 4: Introduction au Cloud computing

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

CA ARCserve Backup. Avantages. Vue d'ensemble. Pourquoi choisir CA

Accélérez la transition vers le cloud

Environnement collaboratif multimodal pour Communauté Virtuelle à la puissance GRID

Le Cloud Computing et le SI : Offre et différentiateurs Microsoft

Mise à niveau du système informatique communal

Acronis Backup & Recovery 10 Advanced Server Virtual Edition. Guide de démarrage rapide

NFP111 Systèmes et Applications Réparties

Table des matières. Chapitre 1 Les architectures TSE en entreprise

Transcription:

République Tunisienne Ministère de l Enseignement Supérieur, de la Recherche Scientifique et de la Technologie Cycle de Formation d Ingénieurs dans la discipline Génie Informatique Université de Sfax École Nationale d Ingénieurs de Sfax Département de Génie Informatique et Mathématiques Appliquées Projet de Fin d études N⁰ d ordre : 2008-DGIMA-052 MEMOIRE présenté à l École Nationale d Ingénieurs de Sfax (Département de Génie Informatiques et Mathématiques Appliquées) en vue de l obtention du Diplôme National d Ingénieur en Génie Informatiques par Étude et installation des services de grille sous Globus soutenu le 13 juin 2008, devant la commission d'examen : Mr Mohamed JMAIEL Président Mr Ahmed HADJ KACEM Membre Mme Soumaya MARZOUK Membre

Dédicaces Qu il me soit permis au seuil de ce modeste mémoire d exprimer ma plus profonde reconnaissance à : Mon père Abdelfettah, Qui n a jamais cessé de me soutenir et m encourager. À qui je dois ma réussite, aucun mot ne serait assez pour témoigner de l étendue de mes sentiments à son égard. Ma mère Sourour, Que nulle dédicace ne puisse exprimer ce que je lui dois, pour sa bien vaillance de ma plus jeune enfance, son affectation et son soutien. En témoignage de mon profond amour et ma gratitude pour les sacrifices qu elle avait consenti. Trésors de bonté, de générosité et de tendresse, en témoignage de mon profond amour et ma grande reconnaissance «Dieu vous garde». Ma chère sœur Imen, En témoignage de mes sincères reconnaissances pour les efforts qu elle m a consenti pour l accomplissement de mes études. Je lui dédie ce modeste travail en témoignage de mon grand amour et ma gratitude infinie. Tous le corps professionnel de l ENIS, Pour leur aide si précieuse et leur soutien tout le long de mes études à l ENIS. Je leur dédie ce travail en espérant qu il trouvera la satisfaction des jurys. Tous mes amis, À qui j éprouve beaucoup d affectation et de respect pour leurs soutiens morals tout au long de mon parcours universitaire. Houssem 1

Remerciements Au terme de ce travail, je tiens tout d abord à exprimer toute ma reconnaissance et ma gratitude à tous ceux qui ont contribué de près ou de loin à l élaboration de ce projet dans les meilleures conditions. Je veux d abord remercier mes encadreurs Monsieur Mohamed JMAIEL et Madame Soumaya MARZOUK qui n ont pas épargné le moindre effort dans l encadrement de ce projet afin de me permettre de défier les entraves rencontrées et de travailler avec volonté et qui ont été toujours disponibles pour m orienter à entreprendre les bonnes décisions. J espère être à la hauteur de leur confiance. Qu ils trouvent dans ce travail le fruit de leurs efforts et l expression de mes profondes gratitudes. Je tiens à exprimer mes profonds respects et mes vifs remerciements envers les membres de ce jury : Monsieur Mohamed JMAIEL pour l honneur qu il nous a fait en acceptant de le présider et Monsieur Ahmed HADJ KACEM pour être le rapporteur de mon travail. Un nouveau remerciement ensoleillé à Madame Soumaya MARZOUK pour sa bienveillance, sa fraternité, sa gentillesse et son soutien constant qui m a donné courage pour l élaboration de ce mémoire. J apprécie ses grandes qualités morales et son extrême modestie. Qu elle trouve dans ce travail l expression de mes profonds respects et mes infinies reconnaissances. Je remercie aussi tous les membres de l unité de recherche ReDCAD pour l ambiance chaleureuse qui règne au sein de l équipe et pour leur bonne humeur. Je remercie particulièrement Mademoiselle Meriam JMAL qui n a jamais hésité à m offrir son aide et sa coopération. Il est indispensable de ne pas rater cette occasion pour exprimer mes reconnaissances à tous mes enseignants de l École Nationale d Ingénieurs de Sfax pour leurs efforts qui ont guidé mes pas et enrichi mes connaissances tout au long de mes études universitaires. 2

Table des matières Introduction générale... 7 Chapitre 1 Présentation des grilles de calcul... 9 1.1. Introduction... 9 1.2. Problématique... 10 1.3. Définition d une grille de calcul... 10 1.4. Intérêts et bénéfices d une grille de calcul... 12 1.4.1. Utilisation de toutes les ressources disponibles... 13 1.4.2. Grande puissance de calcul... 14 1.4.3. L accès à des ressources additionnelles... 14 1.4.4. L équilibrage des charges... 14 1.4.5. Fiabilité... 15 1.5. Les types de ressources dans une grille... 16 1.5.1. Puissance de calcul... 16 1.5.2. Espace de stockage... 17 1.5.3. Les Communications... 17 1.5.4. Logiciels et licences... 18 1.5.5. Équipements spécifiques... 18 1.6. Les Composants logiciels d une grille... 19 1.6.1. Composants de Gestion d exécution... 19 1.6.2. Composant de la gestion distribuée de la grille... 19 1.6.3. Composant de Sécurité... 19 1.6.4. Composant de transfert de fichiers... 20 1.6.5. Composant d ordonnancement... 20 1.6.6. Composant de supervision... 20 3

1.7. Standard utilisé dans les grilles... 21 1.7.1. Les Services de Grille (Grid Service)... 22 1.7.2. Web Services et Architecture Orientée Service (SOA)... 23 1.7.2.1. La base du SOA : Service Web... 23 1.7.2.2. Les technologies utilisées par les Services Web... 24 1.7.2.3. Construction de SOAs avec les Services Web... 26 1.7.3. Les spécifications du WSRF... 27 1.7.4. Open Grid Service Architecture (OGSA)... 27 1.7.4.1. Architecture OGSA détaillée... 28 1.8. Conclusion... 30 Chapitre 2 2. Le Toolkit Globus... 31 2.1. Introduction... 31 2.2. Définition du Toolkit Globus... 32 2.3. Architecture de Globus Toolkit... 33 2.4. Les Composants du Globus Toolkit... 34 2.4.1. Sécurité (Security)... 36 2.4.2. Gestion des données (Data Management)... 36 2.4.3. Gestion d exécution (Execution Management)... 38 2.4.4. Services d'information (Information Services)... 39 2.4.5. Commun Runtime... 40 2.5. Vue générale orientée service des composants de Globus Toolkit 4... 40 2.6. La sécurité dans Globus Toolkit... 41 2.6.1. Définition du Certificat... 41 2.6.2. Définition de l autorité de certification (Certificate Authority, CA)... 42 2.6.3. Les Certificats dans Globus... 44 2.6.4. L authentification mutuelle entre deux utilisateurs de la grille... 45 2.7. Conclusion... 46 4

Chapitre 3 3. Installation et exploitation de Globus Toolkit 4... 47 3.1. Introduction... 47 3.2. Architecture de déploiement... 47 3.3. Installation et configuration des composants... 49 3.3.1. Configuration du module de sécurité... 50 3.3.2. Configuration du GridFTP... 52 3.3.3. Configuration du conteneur des services de grille... 53 3.3.4. Configuration du RFT (Reliable File Transfert)... 53 3.3.5. Configuration du GRAM... 54 3.3.6. Configuration du composant de supervision (MDS)... 54 3.3.7. Configuration du WebMDS... 55 3.4. Exploitation de Globus Toolkit... 55 3.4.1. Échange de fichiers... 55 3.4.2. Soumission de tâche (job)... 56 3.4.3. Composition de services de grille... 57 3.4.3.1. Définition de BPEL... 59 3.4.3.2. Le moteur ActiveBPEL... 59 3.4.3.3. Problème d intégration des services de grille... 60 3.5. Conclusion... 61 Conclusion et perspectives... 62 Bibliographie... 63 5

Liste des Figures Figure 1 les différents types de ressources connectée à une grille... 12 Figure 2 Les tâches migrent vers les parties les moins occupées de la grille... 15 Figure 3 Exemple d une grande puissance de calcul des super calculateurs... 17 Figure 4. Les Services de grilles... 22 Figure 5 Service Web avec état... 23 Figure 6 Exemple basique de service Web... 24 Figure 7 Architecture des Services Web... 25 Figure 8 Communication de service Web... 26 Figure 9 Architecture du OSGA... 29 Figure 10 Le sigle de Globus Alliance... 32 Figure 11 Le sigle de Globus Toolkit.... 32 Figure 12 Relation entre le Globus Toolkit et les différents standards.... 33 Figure 13 Architecture et modules de Globus Toolkit.... 34 Figure 14 Composants de Globus Toolkit 4.... 35 Figure 15 Le transfert triparties du GridFTP.... 37 Figure 16 Comment le RFT et le GridFTP travaillée.... 37 Figure 17 Vue générale des services du Globus Toolkit 4.... 40 Figure 18 Authentification mutuelle entre deux utilisateurs de la grille.... 45 Figure 19 Architecture de déploiement de la grille installé... 49 Figure 20 Cycle de vie d exécution d une tâche... 56 Figure 21 Le fonctionnement d un service complexe... 58 Figure 22 Déploiement du service BPEL dans un moteur BPEL... 60 Figure 23 Fenêtre d administration du moteur ActiveBPEL... 60 6

Étude et installation des services de grille sous Globus Introduction générale Aujourd hui les besoins en termes de puissance de calcul, de stockage de données, de bande passante de réseau, augmentent de jour en jour et dépassent largement les capacités offertes par les ordinateurs actuels. C est pour cela, que les laboratoires et les constructeurs informatiques ont eu l idée de fédérer un grand nombre de ressources (processeur, disque et réseaux) afin de faire du calcul distribué. L une des méthodes permettant la distribution de calcul sur large échelle est l exploitation des ressources inutilisés disponibles sur Internet. On parle alors de grille de calcul à base de volontariat. Autrement, on parle de grille de calcul dédiée. Cependant, quelle que soit la nature de la grille considérée, une couche logicielle (middleware) doit être ajoutée afin de gérer la distribution de calcul sur les ressources de la grille. De tels middlewares doivent assurer plusieurs fonctionnalités comme la supervision des ressources (monitoring), la gestion du stockage, transfert de données, l ordonnancement, l exécution distante des tâches, la sécurité Dans ce contexte, l objectif de ce travail est la mise en place d une grille de calcul à base d un middleware Open Source. Pour ce faire, nous avons commencé par bien maîtriser les notions fondamentales des grilles de calcul et surtout les différents standards utilisés pour construire une grille. En deuxième temps, nous avons étudié une implémentation Open Source d un middleware pour les grilles qui est le Globus Toolkit dans sa version 4. Évidemment, nous avons installé ce middleware et surtout faire la configuration de ces différents composants afin d avoir une plateforme pour les grilles de calcul. Cette dernière tâche est la plus difficile et la plus délicate vue la non-maturité des standards et des implémentations des composants de la grille. 7

Étude et installation des services de grille sous Globus Ce document est organisé comme suit, dans le premier chapitre, nous allons définir c est quoi une grille de calcul. Une présentation des différents composants du middleware Globus Toolkit 4 sera l objet du deuxième chapitre. Le troisième chapitre expliquera les détailles de l installation et de configuration des différents composants de Globus. Enfin, nous clôturons par une conclusion et des perspectives. 8

Étude et installation des services de grille sous Globus Chapitre 1 Présentation des grilles de calcul 1.1. Introduction Les grilles de calcul sont apparues comme une réponse aux besoins de plus en plus grands des utilisations scientifiques de l'informatique à savoir rassembler de grandes quantités de puissance de calcul afin de résoudre des applications (ou calcul) complexes. Ces assemblages ad hoc des ressources distribuées sont coordonnés par un middleware qui négocie les différents systèmes d exploitation de toutes les machines connectée à la grille. Ce middleware, contrôle plusieurs choses comme la sécurité, l échange de fichiers et la supervision des ressources. Les grilles de calcul, généralement, été destinées aux communautés de recherches scientifiques. Mais avec la maturité des technologies pair à pair (ou P2P) et l expansion de l Internet, plusieurs traitements en parallèle sont devenus possibles. Donc avec la convergence entre les technologies et les standards du Web et celle des grilles de calcul, les utilisateurs dispersés peuvent partager une partie de la puissance de leurs ordinateurs pour un traitement conjoint par l'intermédiaire de l'internet. À travers ce chapitre, nous répondrons aux questions relatives aux grilles de calcul comme la problématique qui a incité à leur apparition et les intérêts et les bénéfices d utiliser une telle technologie. Après une courte définition de la grille de calcul, nous expliquerons les types de ressources dans une grille et les composants de base qui la constituent. Enfin, nous verrons les standards sur lesquels se pose les grilles de calcul. 9

Présentation des grilles de calcul 1.2. Problématique Dans tous les domaines, l'homme est amené à faire mieux, plus, et plus rapidement dans le domaine de l'informatique. Il se retrouve face à des défis colossaux, nécessitant beaucoup d'unités de calcul et le traitement d un très grand volume de données. Les laboratoires de recherche, et certaines grandes sociétés avec des centres de Recherches et Développement, ont un besoin toujours grandissant de force de calcul. Des applications "très gourmandes" en termes de puissance nécessiteraient plusieurs dizaines d'années pour pouvoir être menées à bien, sur une machine standard, ou alors une autre solution serait d'investir dans la construction d'un supercalculateur à coup très élevé, ce qui n'est pas à la portée de tout le monde. Pour certaines de ses composantes, l'achat de matériel dédié à ces calculs n'est pas possible, car un système de cluster est très onéreux, que ce soit en termes de coût du matériel informatique que des infrastructures qui vont l'accueillir (salle serveur, climatisation, installation électrique et de sécurité...). De plus, tous ces éléments prennent une place qui n'est pas négligeable dans un bâtiment. Certaines personnes conscientes du réel problème qui se pose se sont posé plusieurs questions intéressantes. Elles en sont arrivées à un constat très simple : Toute seconde de CPU inutilisée est PERDUE à jamais! Alors, pourquoi ne pourrait-on pas créer un système dont chaque unité de calcul serait indépendante, sans contrainte pour les utilisateurs des postes? De ce fait, l'idée de répartir un calcul imposant entre plusieurs machines indépendantes commence à émerger. Un ensemble de machines hétérogènes, toutes regroupées pour une même cause, représente une puissance de calcul exceptionnelle et un espace de stockage quasi infini. Ce concept représenterait une alternative intéressante aux clusters. 1.3. Définition d une grille de calcul Comme toutes les technologies en pleine évolution, la grille de calcul (ou Grid Computing) peut-être défini de différentes manières selon le contexte, néanmoins, voici une définition qui me parait la plus convenable : Une grille de calcul correspond à un modèle qui permet d'effectuer des tâches gourmandes en puissance de calcul ou en espace de stockage en utilisant les ressources de machines 10

Étude et installation des services de grille sous Globus connectées en réseaux afin de modéliser une architecture d'ordinateur virtuel capable de distribuer l'exécution de processus à travers une infrastructure parallèle. Élaboré il y a une trentaine d année, le concept d'utilisation de ressources distribuées dans le secteur académique ou scientifique était surtout un moyen de réduire les coûts en évitant l'achat de supercalculateurs. On utilisait alors des clusters pour effectuer des calculs demandant des ressources importantes. Aujourd'hui, avec l'explosion d'internet et de technologies ingénieuses comme les services Web, les grilles évoluent à leur tour et semblent susciter un vif intérêt au sein des industries qui considèrent cette technologie comme étant l'avenir logique des systèmes d'information distribuées. De la même façon que l'internet permet de partager des informations et des données pour la réalisation de projets, la grille de calcul permet de partager les ressources de différentes machines afin de travailler sur ces mêmes projets. Avec la grille de calcul, il est effectivement possible d'obtenir de la puissance de calcul (CPU) ou des capacités de stockage sur des machines autres que la vôtre. Mais plusieurs problèmes entourent les grilles de calcul surtout dans l industrie, ces problèmes rencontrés par les entreprises peuvent être due à la gestion des ressources de calcul, la bande passante des réseaux ou le stockage de données. Avec un système connecté sur une grille, les machines peuvent être dans la même salle ou partout dans le monde. Ces machines peuvent avoir différents systèmes d'exploitation ou différentes configurations matérielles. Elles peuvent aussi appartenir à des entreprises différentes. Quelle que soit l'implantation de la grille et de ses ressources disponibles, le but et l intérêt de l'utilisateur reste l'utilisation d'un grand ordinateur virtuel. L état actuel des grilles de calcul est comparable à celui de l électricité en 1910. À cette époque, la génération de puissance électrique était possible, et de nouveaux systèmes ont été inventés dépendant de la puissance électrique, mais le besoin pour chaque utilisateur de construire et de se servir de nouveaux générateurs gênait l utilisation. La vraie révolution n était pas l électricité, mais les réseaux de transport, associés aux techniques de transmission et de distribution. La génération et la distribution de l électricité ont permis de diminuer les coûts et de rendre ce service standard à chacun. Par analogie, le terme de grille de calcul a été adopté pour augmenter la puissance de calcul. Une grille de calcul est une infrastructure logicielle et matérielle qui fournit un accès à des grandes capacités de calcul. [8] La capacité réunie des ordinateurs et des réseaux continue d augmenter de manière importante. Dix années de recherche en «méta-computing» ont créé une solide base 11

Présentation des grilles de calcul d expériences dans les nouvelles applications utilisant les réseaux hauts débits et les ordinateurs. Dans une grille de calcul, l utilisateur accède, de manière transparente, à des machines de calcul de l ordre du TeraFlop (10 12 d'opérations à virgule flottante par seconde.), à des systèmes de stockage de l ordre du PetaOctet (10 15 octets) et à des réseaux de l ordre du Gigabit. Cette disponibilité de puissance change la vie des chercheurs utilisant massivement l outil informatique pour faire, par exemple, du calcul ou de la simulation. [8] Les objectifs principaux d'une grille sont de virtualiser les ressources d'un système afin de résoudre des problèmes et donner accès à : Une puissance de calcul. Un espace de stockage de données et des systèmes de fichiers. Une bande passante sur les réseaux. Des applications distribuées. Figure 1 les différents types de ressources connectée à une grille 1.4. Intérêts et bénéfices d une grille de calcul La grille de calcul est une technologie considérée comme une évolution ou même une révolution qui va toucher plusieurs domaines. Cette technologie est surtout focalisée sur le faite d'utiliser des ressources inutilisées qui sont largement distribuées. Dans un contexte d'entreprise, les serveurs ne sont que très rarement utilisés à leur maximum et les postes d'employés ne font pratiquement rien la journée et aucune activité la nuit en termes de puissance de calcul. 12

Étude et installation des services de grille sous Globus L utilisation d une grille de calcul permet par exemple aux entreprises de : Maximiser les ressources disponibles pour les utilisateurs. Utiliser les ressources de machines non utilisées pour accélérer certaines tâches. Accélérer les applications afin de réduire les délais d'exécution. Élaborer de nouveaux types d'applications plus efficaces. Augmenter les capacités de collaboration et de productivité. Optimiser l'infrastructure pour la distribution de ressources processeurs. Améliorer l'accès aux données, et supporter la collaboration au-delà des domaines d'application ou même celle des entreprises. Répondre rapidement aux changements et évolutions du marché. Créer une structure virtuelle afin de partager les ressources et les données. L'intérêt principal de cette technologie pour les entreprises est l'utilisation efficace des ressources existantes. La grille de calcul peut aider à connecter ces ressources sous-exploitées et les manager comme un unique gros ordinateur. Faire partie d une grille de calcul est un privilège très important, car dans une grille on peut bénéficier de plusieurs avantages, parmi lesquels nous citons : 1.4.1. Utilisation de toutes les ressources disponibles L'une des utilisations basiques d une grille de calcul est de pouvoir exécuter une application sur plusieurs machines. Bien sûr, le choix de l emplacement d exécution dépend de la disponibilité des machines. Par exemple, si la machine sur laquelle normalement une application s exécute est occupée, alors cette dernière peut être exécutée ailleurs et dans ce cas on ne perd pas du temps à attendre le résultat. Dans une grille, une machine n offre pas seulement sa puissance de calcul, mais elle offre aussi sa capacité de stockage. Un utilisateur peut profiter, en cas où l espace de stockage de sa machine serait plein d une capacité de stockage supplémentaire sur une ou plusieurs machines distantes. Dans une grille, non seulement on profite de plus d espace de stockage, mais les données peuvent être enregistrées sur plusieurs machines. Cette duplication de données est d une part une assurance au cas où notre machine tomberait en panne (existence d un 13

Présentation des grilles de calcul backup), et d autre part un confort car on peut accéder aux données sur plusieurs machines, par conséquent lors de lecture des données, un gain de performance est notable. 1.4.2. Grande puissance de calcul Le potentielle d une grande capacité de calcul parallèle est l'une des bénéfices les plus attirants dans une grille. En faite, en plus du grand gain dans les domaines purement scientifiques, une telle puissance de calcul conduit à une évolution dans plusieurs industries, comme dans la biomédical, la modélisation financière, l animation de film de cinéma et plusieurs d autres. Le point commun dans ces applications est que celles si utilisent des algorithmes qui peuvent être partitionnée en plusieurs petites parties indépendantes. Dans ce cas, chaque partie s exécute dans un nœud différent de la grille. Avec cette démarche, il y a un grand gain de temps. Évidemment dans le cas où les différentes parties nécessiteraient une synchronisation entre eux, ou accèdent à la même ressource en même temps, le coût diminue et une importante maîtrise du facteur temps. 1.4.3. L accès à des ressources additionnelles En plus des ressources de calcul et de stockage, une grille peut exposer l accès à d autres ressources. Par exemple, des machines possédant des logiciels ayant des licences trop chères peuvent être exploitées par plusieurs utilisateurs de la grille qui n ont pas le privilège de posséder ces licences. De même, quelques machines sur la grille peuvent avoir les dispositifs spécifiques comme un microscope électronique qui peut être actionné à distance, alors dans ce cas l'utilisateur peut à distance actionner la machine, changeant des vues de perspective jusqu'à ce que l'image désirée soit capturée. 1.4.4. L équilibrage des charges L équilibrage de charge couvre l ensemble des techniques permettant une distribution équitable de la charge de travail parmi les ressources disponibles d un système. L objectif consiste essentiellement à optimiser le temps de réponse moyen d un ensemble de tâches, ce qui revient souvent à maintenir une charge proportionnellement équivalente sur l ensemble 14

Étude et installation des services de grille sous Globus des ressources de calcul. Sans infrastructure de grille, il est difficile de donner la priorité et exécuter de telles décisions d'équilibrage. Figure 2 Les tâches migrent vers les parties les moins occupées de la grille D'autres avantages peuvent se produire en utilisant une grille pour l'équilibrage de charge. Par exemple, quand les tâches communiquent les uns avec les autres, l'internet, ou avec des ressources de stockage, un ordonnanceur pourrait les ordonnancer pour réduire au minimum le trafic de communications ou pour réduire au minimum la distance des communications. En conclusion, une grille fournit l'excellente infrastructure pour gérer et équilibrer la charge des ressources. 1.4.5. Fiabilité Les systèmes de calcul intensif utilisent du matériel cher pour augmenter la fiabilité. Les machines emploient également doubles processeurs de sorte que quand l'un échoue l autre processeur le remplace sans interruption de traitement ou l engendration d erreurs. Des alimentations d'énergie et les systèmes de refroidissement sont aussi dupliqués. Tout cela établit un système fiable, mais à un grand coût, dû à la duplication des composants qui sont trop chers. À l'avenir, nous verrons une approche complémentaire à la fiabilité qui se fonde sur le logiciel et le matériel. Une grille est juste le commencement d'une telle technologie. Les systèmes dans une grille peuvent être relativement peu coûteux et sont géographiquement dispersés. Ainsi, s'il y a une puissance ou tout autre genre d'échec à un endroit, les autres 15

Présentation des grilles de calcul parties de la grille ne sont pas susceptibles d'être affectées. Dans ce cas, le logiciel de gestion de grilles peut automatiquement resoumettre les tâches à d'autres machines sur la grille quand un échec est détecté. Dans des situations critiques et en temps réel, des copies multiples de tâches importantes peuvent être exécutées sur différentes machines dans toute la grille. Leurs résultats peuvent être examinés pour assurer n'importe quel genre de contradiction, telle que la corruption de données, ou la falsification. 1.5. Les types de ressources dans une grille Une grille est une collection de machines, par fois connue comme des nœuds, ressource, membre, client, donateur et plusieurs autres noms de désignations. Quelques ressources peuvent être employées par tous les utilisateurs de la grille, alors que d'autres peuvent avoir des restrictions spécifiques. Une grille est composés de ressources, ces dernières sont potentiellement qualifiées de : Partagées : elles sont mises à la disposition des différents consommateurs de la grille et éventuellement pour différents usages applicatifs. Distribuées : elles sont situées dans des lieux géographiques différents. Hétérogènes : elles sont de toute nature, différentes par exemple par le système d'exploitation ou le système de gestion des fichiers. Coordonnées : les ressources sont organisées, connectées et gérées en fonction de besoins (objectifs) et contraintes (environnements). Ces dispositions sont souvent assurées par un ou plusieurs ordonnanceurs. Quelle que soit la qualification (partagées, hétérogènes ) des ressources dans une grille, elles sont de différentes natures et voici les principaux types : 1.5.1. Puissance de calcul La ressource la plus sollicitée dans une grille est la puissance de calcul exposée par les processeurs des différentes machines connectées à la grille. Dans une grille et avec un grand nombre d ordinateurs normaux connectés entre eux, on peut avoir une grande puissance de calcul équivalente à plusieurs supercalculateurs travaillant en parallèle (voir figure 3). 16

Étude et installation des services de grille sous Globus Il y a trois manières primaires d'exploiter les ressources de calcul d'une grille. La première et la plus simple est d exécuter une application existante sur une machine disponible sur la grille plutôt que localement. La seconde est d'employer une application conçue pour dédoubler son travail de telle manière que les tâches séparées puissent s'exécuter en parallèle sur différents processeurs. La troisième est d exécuter une application qui nécessite d être exécutée plusieurs fois sur plusieurs machines de la grille. Figure 3 Exemple d une grande puissance de calcul des super calculateurs 1.5.2. Espace de stockage La deuxième ressource commune utilisée dans une grille est le stockage de données. Une grille fournissant une vue intégrée de stockage de données s'appelle parfois une grille de données. Chaque machine sur la grille fournit habituellement une certaine quantité de stockage pour l'usage de grille, et cela d une façon provisoire ou permanente. Donc dans une grille on peut avoir une énorme capacité de stockage et qui peut même être considérée comme infinie. Dans une grille de données on peut dupliquer les données sur plusieurs machines distantes de la même grille pour des mesures de sécurité (des backups) ou bien pour augmenter les performances en diminuant le temps d accès aux données. 1.5.3. Les Communications La croissance rapide de la capacité des canaux de communication entre les machines rend aujourd'hui le calcul de grille très pratique. La largeur de bande disponible pour de telles 17

Présentation des grilles de calcul communications peut souvent être une ressource critique qui peut limiter l'utilisation de la grille ou bien être un grand avantage s il y a au contraire une grande largeur de bande de communication. Bien sûr, de nos jours avec les nouvelles technologies de communication comme la fibre optique, crée une grille de calcul en se basant sur de tels moyens donnent un grand avantage et des performances bien notables. 1.5.4. Logiciels et licences Une grille peut contenir une machine sur laquelle un logiciel spécifique est installé, ce logiciel peut être tellement cher qu il est impossible de le faire installer sur chaque machine de grille vu le grand coût que nécessite cette opération. En utilisant une grille, les travaux exigeant ce logiciel sont envoyés aux machines particulières sur lesquelles ce logiciel s'avère justement être installé. Quand les coûts sont significatif, cette approche peut sauver des dépenses significatives pour une organisation. 1.5.5. Équipements spécifiques Les plates-formes de la grille auront souvent plusieurs différentes architectures, systèmes d'exploitation, dispositifs, capacités, et équipement. Chacune de ces machines représente un type différent de ressource que la grille peut employer comme critères pour assigner les tâches aux machines. Les ressources dans une grille peuvent être de type lié à un domaine bien spécifique, comme les machines destinées au domaine médical, ou celle qui est liée au domaine spatial, en tout cas, ces ressources peuvent être partagées en toute sécurité et avec une grande performance par plusieurs utilisateurs de la grille. 18

Étude et installation des services de grille sous Globus 1.6. Les Composants logiciels d une grille Il y a beaucoup d aspects liés aux grilles de calcul qui sont typiquement commandés par des composants logiciels. Parmi ces composants nous citons : 1.6.1. Composants de Gestion d exécution Parmi les composants d une grille de calcul, il y a un qui maintient la liste et l état des ressources disponibles dans la grille et de même la liste des utilisateurs qui sont des membres de la grille. Ces informations sont employées pour : Décider où les tâches de grilles devrait être exécuté. Programmer les tâches dans la grille. Déterminer l état de la grille, alertant le personnel aux problèmes comme des pannes ou la congestion. Déterminer les modèles et les statistiques globaux d'utilisation 1.6.2. Composant de la gestion distribuée de la grille Une grille peut avoir deux types de topologies soit hiérarchique soit pair à pair, ou bien la combinaison des deux. Mais quelle que soit la topologie adoptée, la gestion des différentes machines est répartie sur plusieurs nœuds et elle n est pas centralisée. Chaque nœud supervise et gère des nœuds fils et elle-même elle est supervisée et gérée par des nœuds parents. Lors de la soumission de tâches, le gestionnaire de tâches principal peut faire l agrégation de l exécution de la tâche à un gestionnaire de tâches fils. De même un gestionnaire de tâches fils lorsqu il collecte des informations de ces nœuds fils, il fait passer ces informations au gestionnaire de tâches parents. 1.6.3. Composant de Sécurité Dans une grille, la sécurité est un facteur important et primordial. Le faite de partager toutes les ressources d une machine (processeur, mémoire et disque dur ) ça peut engendrer beaucoup de problèmes de sécurité. Donc il faut vraiment une sécurité en béton qui protège toute machine connectée à la grille et toutes les données et les traitements des utilisateurs. 19

Présentation des grilles de calcul Autre aspect de sécurité concerne les informations circulant dans la grille, en effet, il faut bien assurer l aspect d intégrité, d authenticité et la conservation des informations privées des utilisateurs. Toute action à exécuter sur la grille doit être obligatoirement précédée par un contrôle de sécurité. C est le rôle principal du composant de sécurité. Pour chaque grille, il y a une autorité de certification, cette autorité attribut : Les droits aux machines pour se connecter à la grille via un certificat de machine «host certificat». Les droits aux utilisateurs pour pouvoir utiliser la grille via un certificat d utilisateur «user certificat». 1.6.4. Composant de transfert de fichiers Entre les nœuds de la grille le transfert de fichiers est une action très fréquente. À première vue, le protocole FTP (File Transfert Protocol) paraît suffisant pour le transfert de fichier. Mais en prenant en considération les exigences de sécurité et l hétérogénéité des ressources utilisées dans une grille, il faut un composant qui se base sur le FTP et qui satisfait les besoins demandés par la grille. Un sous-composant peut être ajouté pour assurer l acheminement d un transfert de fichier après une éventuelle interruption dans le transfert. 1.6.5. Composant d ordonnancement Lors de l exécution d une suite de tâches, une synchronisation entre ces tâches peut être nécessaire. Autre exigence lors des soumissions des tâches à une grille est la prise en compte du degré de priorité des tâches. Pour toutes ces exigences, un composant d ordonnancement ou même d orchestration peut être d une grande importance pour le bon fonctionnement d une grille. 1.6.6. Composant de supervision À chaque instant, il faut connaître l état des différentes ressources connectées à une grille. Comme exemple d informations liées à une ressource on peut citer le type de processeur et sa fréquence, le système d exploitation, la mémoire installée et le nom de la machine. Mais en 20

Étude et installation des services de grille sous Globus plus de ces informations qui sont inchangées où change rarement, il faut connaître l occupation des machines et cela d une façon instantanée. Par exemple, il faut connaître le pourcentage d utilisation du processeur, la mémoire disponible, la largeur de bande passante disponible dans le canal de communication. Toutes ces informations sont collectées via un composant de supervision des ressources. Une autre importante tâche est attribuée à ce composant qui consiste à faire la recherche de la ressource adéquate pour l exécution d une tâche sur la grille. On peut remarquer que le composant de supervision est en communication continue avec le composant de gestion. 1.7. Standard utilisé dans les grilles Pour cerner l'évolution des standards des grilles de calcul, il faut comprendre comment est définie l'architecture de la grille. L'architecture actuelle la plus avancée est l'open Grid Service Architecture (OGSA), développée par les membres du Global Grid Forum (GGF). OGSA définit les services de grille et la structure d'un environnement de grilles. Basés sur les standards des Services Web, OGSA définit un service de grille comme un Service Web respectant des protocoles standard. Actuellement, les services de grille sont décrits à l'aide du standard Web Services Definition Language (WSDL) avec des extensions mineures. L'importance de ces standards ouvert et commun est qu'ils permettent l'accès de différents grid services en utilisant les standards existants comme le SOAP, le XML, le WS-Security et le WS-Adressing. Avec cette base, les développeurs peuvent ajouter et intégrer des services additionnels. Cela fournit une méthode standardisée pour trouver, identifier, et utiliser de nouveaux services de grille dès leurs publications. Un autre bénéfice de l'adoption de l'architecture orientée service dans le cadre des grilles est le fait que l'ogsa permettra de connecter des grilles qui sont construites avec des environnements totalement différents. L'Open Grid Services Infrastructure (OGSI) est une spécification des concepts décrits par l'ogsa, mais elle a été remplacée par le Web Services Ressource Framework (WSRF). Ces spécifications permettront aux services définis par l'ogsa d'être totalement basé sur les standards des services Web. 21

Présentation des grilles de calcul 1.7.1. Les Services de Grille (Grid Service) Les Services de Grille (Grid Service) sont des Services Web améliorés. OGSA définit le concept de «Grid Service» pour palier à certains inconvénients des services Web actuel comme le fait qu'ils n'aient pas d'états ni persistance. Les instances des Services de grille peuvent être avec ou sans état et éphémères ou persistants. Les Services Web courants ne peuvent pas stocker d'informations (synchrones) et ne sont utilisables que par un utilisateur (point à point) tandis que les services de grille peuvent être asynchrones et multipoints. Ces services sont spécifiés par le framework WSRF et tous les services d'ogsa seront basés et implémentés avec des Services de Grille. La figure suivante schématise le concept de grid service défini par l'ogsa et spécifié par le WSRF. Figure 4. Les Services de grilles Donner aux services Web le moyen de garder une information tout en gardant un aspect synchrone peut paraître compliqué. Pourtant, la solution du problème est simple : il suffit de garder le Service Web et l'information séparés. Au lieu de garder l'information dans le service Web, elle sera stockée dans une entité appelée ressource, qui se chargera de garder les différents états. Chaque ressource a une clé unique lui permettant d'être sollicitée par le 22

Étude et installation des services de grille sous Globus service Web. Pour accéder aux ressources, le développeur doit utiliser les nouvelles spécifications de WSRF comme les WS-resource. Ci-joint un schéma de Web service à états : Figure 5 Service Web avec état 1.7.2. Web Services et Architecture Orientée Service (SOA) Pour une meilleure compréhension de l'architecture OGSA, il est judicieux de s'intéresser à l'architecture SOA basée sur les Services Web. Avec la mondialisation et le développement sans fin des moyens de communications rapides et performants, les entreprises travaillent beaucoup plus entres elles. La réponse à leurs besoins liés aux changements dynamiques des marchés et aux nouvelles méthodes de communication est les Services Web, la technologie qui fait naître les architectures orientées services (SOA). 1.7.2.1. La base du SOA : Service Web IBM définit les services Web comme suit : Les services Web sont la nouvelle vague des applications Web. Ce sont des applications modulaires, auto-contenues et auto-descriptives qui peuvent être publiées, localisées et invoquées depuis le Web. Les services Web effectuent des actions allant de simples requêtes à des processus métiers complexes. Une fois qu un service Web est déployé, d autres applications (y compris des services Web) peuvent le découvrir et l invoquer. Les services Web sont des applications qui relient des programmes, des objets, des bases de données ou des processus d affaires à l aide de XML et de protocoles Internet standard. Les services Web sont des compléments aux programmes et applications existantes, 23

Présentation des grilles de calcul développées dans différents langages de programmation, et servent de pont pour que ces programmes communiquent entre eux. Ainsi, les services Web permettent d interfacer des systèmes d information hétérogènes et ont pour atouts : Un faible couplage avec les technologies employées en interne. Une grande flexibilité de mise à jour des systèmes employés de part et d autre. L emploi de protocoles réseau simples, peu chers, répandus et bénéficiant d implémentations dans toutes les technologies majeures. Figure 6 Exemple basique de service Web 1.7.2.2. Les technologies utilisées par les Services Web L'un des avantages liés à l'utilisation des Services Web lors de déploiement d'environnements distribués est l'universalité de leurs interfaces. Comme un Web service peut envoyer et recevoir des messages SOAP par le biais de protocoles du Web, il est possible de communiquer avec ce service depuis n'importe quel ordinateur. Un service Web dépend de trois standards basés sur le XML pour bien fonctionner : Simple Object Access Protocol (SOAP) Le format du message. Web Services Description Language (WSDL) Le document qui décrit exactement ce que le service Web fait et comment le solliciter. Universal Discovery, Description, and Integration (UDDI) L'annuaire des services Web qui sont disponibles. 24

Étude et installation des services de grille sous Globus Ensemble, les trois standards combinés permettent à un service Web de fonctionner, se décrire, et être trouvés au sein d'un réseau. Figure 7 Architecture des Services Web Les services Web sont basés sur une architecture logicielle de requêtes et réponses. Un «client» du service Web le sollicite avec une requête SOAP. En retour, le service Web effectue l'opération demandée et répond à son tour avec un message SOAP. Chaque Service Web a un client et un fournisseur. Grâce à leur nature, les services Web peuvent avoir plusieurs clients se connectant à leurs interfaces sans se soucier de la plateforme et des langages de programmation. Tant que le client envoie un message au format standard SOAP, il n y a aucune différence au niveau du service Web concernant les détails du client. Donc avec les Services Web, l interopérabilité est assurée. Pour se décrire au monde extérieur, chaque service Web a un document (WSDL) qui fournit au client potentiel du service une explication concernant le fonctionnement et l'accès du service. Le WSDL décrit comment créer une requête SOAP qui appellera le service Web spécifique. Si un développeur veut créer un programme qui fait appel à un service Web, il lui faudra juste le WSDL de celui-ci. L'Universal Discovery Description and Integration (UDDI) est un annuaire des services Web disponibles dans un réseau particulier. Un client potentiel de service Web peut consulter l'uddi pour chercher l existence d un tel Service Web. La figure suivante illustre clairement la situation. 25

Présentation des grilles de calcul Figure 8 Communication de service Web Il est intéressant de rappeler que le concept des services Web n'a rien de nouveau excepté le fait qu ils sont basés sur des protocoles ouverts. D'autres technologies avancées de middleware (CORBA, RMI, EJBs, etc.) sont toujours très présentes dans les entreprises. 1.7.2.3. Construction de SOAs avec les Services Web Quand les entreprises ont réalisé le potentiel des services Web, de nombreuses entreprises les ont adoptés afin de tirer parti des avantages liés à leurs caractéristiques et enfin réaliser des architectures orientées service. Une SOA est une architecture dans laquelle une application utilise plusieurs services indépendants ou découplés qui coopèrent pour accomplir une tâche donnée. Le groupe OASIS définit le concept de la façon suivante : «Une Architecture orienté service est un modèle permettant l organisation et l utilisation de capacités distribuées qui peuvent appartenir à différents domaines. Elle fournit une plateforme dans laquelle il est possible d offrir, de découvrir et d interagir avec des services afin de réaliser des tâches bien établies avec des conditions et des résultats désirés.» 26

Étude et installation des services de grille sous Globus 1.7.3. Les spécifications du WSRF Le Web Services Resources Framework WSRF est composé de cinq spécifications. Bien entendu, leurs fonctionnalités sont de prêt ou de loin liées à la gestion des WS-Resources. WS-ResourceProperties : Décrit l'association des ressources à états aux services Web pour produire les WS-Resources, de même façon dont ces WS-Resources sont récupérés, modifiés, et supprimés. WS-ResourceLifetime : Permet à un client de détruire une WS-Resource immédiatement ou ultérieurement. WS-RenewableReferences : Instancier une référence de WS-Addressing avec l'information nécessaire pour récupérer une adresse quand l'adresse en possession est invalide. WS-ServiceGroup : Crée et utilise des séries de Web services différents. WS-BaseFaults : Utilisé pour les rapports d'erreurs. Plus d autres spécifications liées aux services Web de base : WS-Notification : WS-Notification est une autre série de spécifications qui, bien que non présente dans le WSRF, lui est bien utile. Cette spécification permet à un service Web d être configuré en mode producteur. C est-à-dire que si une modification se produit au niveau d'un service Web ou d'une WS-resource, ce changement est notifié aux clients utilisateurs du service. WS-Addressing : La spécification WS-Addressing fournit un système d'adressage de services Web qui est plus polyvalent que les URIs. En particulier, le fait d'utiliser WS- Addressing pour des Web services + leurs ressources (WS-Resource). 1.7.4. Open Grid Service Architecture (OGSA) L'Open Grid Services Architecture (OGSA) décrit une architecture qui fournit un environnement des grilles de calcul orienté service pour une utilisation scientifique ou en entreprises, développée par le Global Grid Forum (GGF). «OGSA est une interaction distribuée et une architecture basée sur les services, assurant une interopérabilité au sein de systèmes hétérogènes pour que différents types de ressources puissent communiquer et partager de l'information.» 27

Présentation des grilles de calcul La motivation à l'origine de cette spécification est née du besoin de standards ouverts puisque les ressources hétérogènes font parties intégrantes des grilles et qu'il reste important qu'elles interagissent et se comportent de façon efficace et stable. Les principaux objectifs de l'ogsa sont : La gestion de ressources à travers des plateformes distribuées et hétérogènes. La distribution permanente d'une qualité de service (QoS). Fournir une base commune pour la gestion automatique de solutions. Définir des interfaces ouvertes. Exploiter les technologies d'intégration standard. Il apparaît clairement que les Services Web et les architectures orientées service (SOA) sont idéales pour l'ogsa et les systèmes de grille. En effet, les services Web sont particulièrement efficaces dans les environnements et systèmes hétérogènes (plateforme, langage de programmation, etc...). Ils fournissent aussi des interfaces communes basées sur le XML qui permet la virtualisation des accès dynamiques aux services, leur indexation et localisation. 1.7.4.1. Architecture OGSA détaillée L'objectif de cette section est de décrire les principaux concepts et notions liés à l'open Grid Service Architecture (OGSA) comme son architecture sous forme de couches, le «Web Service ressource Framework» (WSRF) et la notion de «Grid Services» ou «services Web à états». L'illustration suivante représente bien les relations existantes entre OGSA, WSRF et les services Web avec ce diagramme de couches. 28

Étude et installation des services de grille sous Globus Figure 9 Architecture du OSGA Ci-dessous les quatre couches principales qui composent l'architecture d'ogsa : Couche des Ressources : La notion de ressource est centrale à OGSA et les Grilles de calcul de façon générale. Les ressources correspondent aux capacités de la grille et ne sont pas limitées qu'aux processeurs. Les ressources physiques incluent les serveurs, les sources de stockages, et les réseaux. Audessus des ressources physiques sont situées les ressources logiques. Elles fournissent des fonctions additionnelles en virtualisant les ressources de la couche physique. Des outils du middleware comme des systèmes de fichiers, des manageurs de base de données ou de workflows fournissent une couche abstraite de service au-dessus de la grille physique. Couche des Services Web et Services de grille : La seconde couche de l'architecture OGSA est celle des Services de Grille (Grid Service). Un des principes de base de l'ogsa: Les ressources de la grille (logiques et physiques) sont modélisées comme des services. Le Web Service Ressource Framework WSRF spécifie les 29

Présentation des grilles de calcul interfaces, comportements et interactions de toutes les ressources de la grille. L'Open Grid Service Infrastructure était utilisées auparavant pour spécifier les services de grille au-dessus de la technologie des services Web, mais elle n'a pas perduré a cause d'une spécification trop dense et orienté objet. Services architecturés de l'ogsa : La couche de services Web, avec ses extensions du WSRF, fournit une base pour la couche des services architecturés. Le Global Grid Forum définit actuellement ces services de grille architecturés dans des domaines comme l'exécution de programme, les services de données, et les services prédéfinis. Plus ces services de grille prédéfinis seront matures, et plus l'ogsa deviendra une architecture orientée service encore plus efficace (SOA). Les Applications de Grille : Avec le temps, la maturation des services de grille prédéfinis ou architecturés va accélérer le développement de nouveaux types d'applications de grille qui utiliseront ces services. Ces applications composeront cette quatrième couche de l'architecture OGSA. 1.8. Conclusion Bien que les grilles de calcul (ou Grid Computing) pourraient s apparenter à des clusters «géant» de par leurs formes et leurs modèles de fonctionnement ce n est pourtant pas le cas. Les grilles de calcul permettent un gain précieux à moindre coup pour une entreprise en lui permettant d utiliser son parc informatique actuel en le transformant en un supercalculateur. Ainsi toutes les ressources informatiques de l entreprise sont mises à contribution ce qui inclut les serveurs et les stations de travail afin d avoir une grande puissance de calculs et un grand espace de stockage. 30

Étude et installation des services de grille sous Globus Chapitre 2 2. Le Toolkit Globus 2.1. Introduction La première implémentation la plus complète et gratuite de l'ogsa est le Globus Toolkit de l'alliance Globus. Il est disponible pour programmer des applications de grille. Le toolkit contient des services avancés utilisables pour construire des applications de grille. Ces services sont l'implémentation des services abstraits définis par l'ogsa. En d'autres termes, le Globus Toolkit inclus des services de monitoring de ressources et de recherche, une infrastructure de suivi de processus, gestion de tâches, de sécurité, de gestion de services et plusieurs d autres. En plus, le Toolkit Globus donne des Kit qui permettent aux programmeurs de créer des applications utilisant différents langages comme le C, le Java ou encore Python. Ces API donnent aux programmeurs accès aux fonctionnalités énoncées cidessus. On ne peut pas encore dire que Globus Toolkit Version4 soit une implémentation complète de l'ogsa. Cependant, il s'agit de l'implémentation OGSA la plus avancée et fait donc office de standard dans les communautés de grille et c est les raisons qui nous ont incité à choisir ce middleware pour le faire installer et configurer dans notre projet. Il existe d autres implémentations plus ou moins complètes des spécifications du WSRF, par exemple le WSRF.NET. 31

Le Toolkit Globus 2.2. Définition du Toolkit Globus Le Globus Alliance est composée d'organisations et d'individus qui développent et mettent à dispositions différentes technologies applicables aux grilles de calcul. Figure 10 Le sigle de Globus Alliance La Globus Toolkit est le produit principal pour les technologies de grille développées par la Globus Alliance. C est un logiciel Open Source utilisés pour la construction du réseau des systèmes et des applications. Beaucoup de sociétés et d'organisations utilisent les outils Globus comme base de la mise en œuvre des grilles de divers types. Figure 11 Le sigle de Globus Toolkit. Tout le long du stage, nous avons utilisé la nouvelle version de Globus Toolkit qui est la version 4. Globus Toolkit 4 est une collection de composants Open Source, beaucoup d'entre eux sont basés sur les normes existantes, tandis que d'autres sont sur la base de standards en évolution. La version 4 du Toolkit est la première version à supporter les Services Web qui sont la base d implémentation de plusieurs de ces composants. (Version 3 a inclus une implémentation OGSI de certains éléments et la version 2 n'était pas du tout basée sur les services Web.) 32

Étude et installation des services de grille sous Globus Figure 12 Relation entre le Globus Toolkit et les différents standards. Le Globus Toolkit apparaît comme étant la suite de programmes la plus utilisée pour construire des systèmes de grille, bien qu'il est un utilitaire limité du côté utilisateur. Il est en effet plutôt destiné aux développeurs et aux intégrateurs systèmes. 2.3. Architecture de Globus Toolkit Globus Toolkit est organisé en couches, chaque couche posséde des modules. Évidemment l architecture de Globus Toolkit vérifie celle de l OGSA vue précédemment dans la description de l architecture de l OGSA. Globus Toolkit permet de faire le lien entre tous ces modules. Le détail de la structure de Globus Toolkit est le suivant : Les applications (couche application dans l architecture OGSA) : Les applications réelles qui exploitent la grille et qui sont les plus proches de l utilisateur. Les outils pour les applications (couche services dans l architecture OGSA) : nous retrouvons le système de communication inter processeurs par message, MPI. Pour 33

Le Toolkit Globus Globus, il existe une version spécifique de MPI, appelée MPICH-G. L outil «globusrun» nous permettra d exécuter des commandes sur les machines de la grille. Il existe d autres outils, comprenant par exemple des compilateurs particuliers pour des applications spécifiques. Les services de la grille (couche des Services Web WSRF dans l architecture OGSA) : nous retrouvons les principaux services nécessaires au bon fonctionnement de la grille. Parmi ceux-ci, citons la gestion de ressources avec GRAM et GASS, la sécurité avec GSI, le service d information avec MDS. Ces modules seront détaillés ci-dessous. La structure de la grille (couche ressource dans l architecture OGSA) : La structure se rattache aux systèmes d exploitation présents, comme Linux, NT, ou Solaris. La structure prend aussi en compte les protocoles réseaux utilisés, comme UDP et TCP. Figure 13 Architecture et modules de Globus Toolkit. 2.4. Les Composants du Globus Toolkit Le Globus Toolkit 4 est une boîte à outils open source organisé comme une collection de composants. Ces composants consistent en des services, des bibliothèques de programmation et outils de développement conçus pour la construction d applications de grille. Les composantes du Globus Toolkit se répartissent en cinq grands domaines : 34

Étude et installation des services de grille sous Globus Sécurité (Security) : En utilisant les composants de sécurité, basés sur la Grid Security Infrastructure (GSI), on s'assurait que les communications sont sécurisées. Gestion des données (Data Management) : Ces composants permettent de gérer de grande quantité de données au sein de la grille. Gestion d exécution (Execution Management) : Les composants de gestion d'exécution sont voués a l'initialisation, le suivi, la gestion, la planification et la coordination de programmes, souvent appelées tâches (jobs), au sein d'une Grille. Services d'information (Information Services) : Les Services d'informations, plutôt rencontrés sous le nom de Monitoring and Discovery Services (MDS), incluent une série de composants permettant la recherche et le suivi de ressources dans la grille. Commun Runtime : Les composants Common Runtime fournissent une série de librairies nécessaire à la réalisation de services de grille ou de simple Web services. Figure 14 Composants de Globus Toolkit 4. 35

Le Toolkit Globus 2.4.1. Sécurité (Security) Les composants de sécurité de Globus Toolkit 4, désignés collectivement comme le Grid Security Infrastructure (GSI), facilitent les communications et assurent l'application uniforme des politiques de sécurité au sein de systèmes distincts et environnements hétérogène. Authentification et autorisation (Authentication and Authorization) : Elle contient les bibliothèques et les outils pour contrôler l'accès aux services et ressources, avec un Framework qui permet l'utilisation de différentes méthodes d'autorisation. Communauté d autorisation (Community Authorization) : Les organisations virtuelles (Virtual Organizations VO) peuvent utiliser le service communautaire d autorisation (Community Authorization Service CAS) pour la gestion des politiques de l'autorisation pour les ressources disponibles. Délégation (Delegation): La délégation de service permet de déléguer des pouvoirs entre les différents services dans un seul hôte. La délégation de service permet à un seul délégué à être utilisé par de nombreux services. Gestionnaire de droit (Credential Management) : Cette composante comprend SimpleCA, une simple autorité de certification pour les utilisateurs n'ayant pas accès à une véritable autorité de certification (Certificate Authority CA). SimpleCA est une des alternatives du CA. Nous allons détailler les définitions du CA et du SimpleCA ultérieurement. 2.4.2. Gestion des données (Data Management) Dans cette partie, nous trouvons les composants de gestion des données pour fournir la découverte, le transfert et l'accès des données. GridFTP : Il fournit un accès sécurisé et fiable de transfert de données entre les hôtes de la grille. Son protocole étend le célèbre standard FTP pour fournir des fonctions supplémentaires, y compris le soutien pour l'authentification par GSI. L'une des caractéristiques principales de GridFTP est qu'il permet le transfert de fichier en triparties. Le transfert triparties est adapté à un environnement où il ya un grand dossier de stockage qui est distant et le client veut les copier sur un autre serveur distant. 36

Étude et installation des services de grille sous Globus Figure 15 Le transfert triparties du GridFTP. Le transfert fiable de fichier (Reliable File Transfert RFT) : Le RFT fournit une interface de service Web pour le transfert et la suppression de fichiers. RFT reçoit des demandes par l'intermédiaire de messages SOAP sur HTTP et utilise GridFTP. RFT utilise aussi une base de données pour stocker la liste des transferts de fichiers et de leurs États. Le RFT est capable de récupérer une demande de transfert qui a été interrompu. Dans notre travail, nous avons utilisé une base de données PostgreSql version 8.2. Figure 16 Comment le RFT et le GridFTP travaillée. 37

Le Toolkit Globus Data Access and Integration OGSA-DAI : OGSA-DAI offre une interface pour l'accès aux sources de données de la grille, tels que système de gestion de bases de données relationnelles et les entrepôts XML, par l'intermédiaire de requête comme SQL et XQuery. Actuellement, OGSA-DAI est une composante technique de prévisualisation. En d'autres termes, l'application est fonctionnelle, mais pas nécessairement complète, son implémentation et ces interfaces peuvent changer à l'avenir. Service de localisation des données dupliquées (Replica Location Service RLS) : Le RLS maintient et donne accès à l'information sur l'emplacement physique des données dupliquée. Cette composante peut mapper plusieurs répliques physiques d un seul fichier logique, et permet la redondance des données dans un environnement de grille. Service de duplication de données (Data Replication Service DRS) : Service de réplication de données fournit un système pour faire des répliques de fichiers dans l'environnement de la grille, et à leur enregistrement chez le RLS. DRS utilise GridFTP et RFT pour transférer les fichiers, et il utilise RLS pour trouver et enregistrer les répliques. Actuellement, le DRS est une composante technique de prévisualisation et pas encore mature. 2.4.3. Gestion d exécution (Execution Management) Le composant de gestion d exécution traite le déploiement, la planification et le suivi des programmes exécutables, connu comme des tâches (job). L allocateur et gestionnaire des ressources de la grille (Grid Ressource Allocation and Management GRAM) : GRAM est le service de grille qui fournit l'exécution à distance et la gestion d état des tâches (job). Quand une tâche est soumise par un client, la demande est envoyée à l'hôte distant comme un message SOAP, et manipulés par le GRAM située dans la machine distante. Le GRAM peut retourner des informations sur l'état de la tâche. GRAM permet à un client de soumettre une tâche en utilisant un fichier de description de tache XML nommé RSL job description file. Ce fichier contient des directives qui décrivent la tâche (par exemple, l'emplacement de l'exécutable, les différents arguments, les directives de transfert de fichiers). 38

Étude et installation des services de grille sous Globus Community Scheduler Framework (CSF) : Ce composant fournit une interface unique pour les ordonnanceurs des ressources telles que Condor ou LSF. 2.4.4. Services d'information (Information Services) Le service d information, connu par toute la communauté qui travaille sur les grilles sous le nom de MDS (Monitoing and Discovery Service), fourni les services de recherche et de surveillance de ressources appartenant à la grille. Ce système permet aux utilisateurs de découvrir quelles ressources font partie de la grille et de les surveiller. Un service collecte les données depuis différents fournisseurs d'informations sur les ressources et les regroupe ensemble pour fournir un document XML qui contient l'ensemble de ces données. Ce document XML est ensuite publié via un service Web appelé Index Service qui peut être accédé par un client WSRF. En utilisant un client WSRF, l'administrateur sera capable d'obtenir les informations vitales qui concernent la grille comme les noeuds qui sont membres de la grille ainsi que les différentes ressources disponibles sur chaque nœud. Index Service : Le Index Service est l'élément central de l implémentation du MDS. Chaque instance du conteneur du GT4 a par défaut un Index Service (DefaultIndexService) exposée comme un service WSRF. Un Index Service peut potentiellement recueillir des informations auprès de nombreuses sources et de les publier en un seul endroit. Le contenu de l Index Service peut être demandé par l'intermédiaire de requêtes XPath. Trigger Service : Le MDS Trigger Service recueille de l'information et compare ces données à un ensemble de conditions définies dans un fichier de configuration. Quand une condition est remplie une action est exécutée. La condition est spécifiée comme une expression XPath, par exemple, il peut comparer la valeur d'une propriété à un seuil et d'envoyer un alerte e-mail à un administrateur en exécutant un script. Le nom et l'emplacement du script peuvent être configuré avec le MDS Trigger Service. WebMDS : Le WebMDS offre aux utilisateurs finaux la possibilité de visualiser les informations MDS en utilisant un navigateur Web standard, sans avoir à installer aucun autre programme. WebMDS est un servlet qui utilise un plugin pour récupérer les informations de surveillance (ou n'importe quel autre document XML) et applique une transformation XSLT pour présenter les données dans un format lisible. 39

Le Toolkit Globus Dans notre travail, le WebMDS a été installé sur le conteneur Apache Tomcat dans ça version 5.5. 2.4.5. Commun Runtime Les composants du Commun Runtime fournissent un ensemble fondamental de bibliothèques et d'outils pour le développement de nouveaux services, ainsi qu elles sont utilisé par plusieurs autres composants de la grille. On distingue trois différents langages qui sont le C, le Java et le Python. 2.5. Vue générale orientée service des composants de Globus Toolkit 4 Une fois de plus, il est important de réaliser que le Globus Toolkit comprend de nombreuses autres bibliothèques et services conçus pour aider à construire la grille. La Figure ci-dessous, fournit une vue centrée sur les services du GT4, avec les composants en Services Web qui sont indiqués sur la gauche et les composants Non-services Web sur la droite. Noter bien que tous les composants en Services Web comme le GRAM et le RFT sont implémentés en dessus du Java WS Core. Figure 17 Vue générale des services du Globus Toolkit 4. 40