Déploiement et interrogation des services dans une
grille de calcul
Architecture d’une grille
Une grille informatique est une infrastructure composée de ressources matérielles etً logicielles,ً deً mécanismesً deً communicationً etً d’unً ensembleً deً servicesً fournis généralement par un Middleware. Ce dernier a comme objectif le contrôle des activités et des interactions dans la grille. Cette infrastructure peut être visualisée comme une architecture en couche qui illustre les principales composantes d’une grille. La figure 1 montreًl’architectureًenًcoucheًd’uneًgrille. Fabrique Connectivité Ressource Collectif Application Figure 1. Architecture en couche d’une grille informatique (Foster, 2001 ; Foster, 2005). Chaque couche représente une abstraction d’un ensemble de fonctionnalités du système. Elles peuvent communiquer directement avec les composantes et services de n’importe quelle autre couche de niveau inférieure dans la hiérarchie. 3.1.Couche fabrique Cette couche est liée directement aux matériels qui constituent la base de l’infrastructureًdeًlaًgrille et fournit toutes les ressources. A ce niveau, on distingue deux typesًdeًressources,ًphysiqueًetًlogique.ًLaًpremièreًestًreprésentéeًparًl’ensembleًdesً ressources matérielles telles que des unités de calcul, mémoire et des supports de transmission réseau. Les unités de calcul sont de différentes formes, des plus simples comme un simple processeur aux plus complexes comme des clusters ou des centres de calcul.ًDeًl’autreًcôté, les ressources logiques sont présentées par des entités logicielles qui assurent la gestion de la grille. Lesًservicesًd’annuaires,ًdeًbasesًdeًdonnées,ًdesًsystèmesً de fichiers distribués, et des serveurs virtuels sont des exemples de ressources logiques fournies par la couche fabrique. Lorsqueً l’uneً desً couchesً supérieuresً faitً appelً àً uneً ressourceً deً laً coucheً fabrique, des composantes logicielles de la couche agissent directement sur les ressources physiques et logiques. Elles lancent des opérations spécifiques selon la demande des utilisateurs. Les ressources eux-mêmes implémentent unًmécanismeًd’introspectionًpourً fournir les informations qui décrivent leurs structures, leurs fonctionnalités et leurs états. Ces informations sont nécessaires pour la bonne exploitation des ressources sollicitées. Des fonctionnalités intrinsèques de la couche fabrique peuvent être citées pour différents types de ressources : – Ressources de calcul : ce type de ressource implémente des fonctionnalités permettant de récupérer des informations sur les caractéristiques matérielles comme laً fréquenceً etًleًmodèleً d’unً processeurً ouًlaًtailleً d’unً espaceًmémoire.ًDeً même, des informations sur les caractéristiques de la partie logicielle est aussi fournie en incluant la charge d’un système,ًl’étatًdesًfilesًd’attente et la liste des ressources de calcul disponibles. De même, ces ressources sont dotéesً d’unً ensemble de mécanismes capables de lancer des applications,ًdeًcontrôlerًl’étatًdesً processus et de gérer les ressources à allouer. – Ressources de stockage : Ces ressources permettent la transmission ou la récupération des fichiers etًd’effectuerًdesًopérationًd’entrée/sortieًsurًdes supports de stockage dédiés. De plus, les ressources de stockage fournissent un mécanisme de gestion de ressources impliquées par l’échangeًetًlaًtransmissionًdesًdonnéesً comme la gestion de l’espaceًmémoire,ًlaً bandeً passanteً des disques, la bande passante réseau, la CPU et la chargeًduًsystème.ًDesًfonctionsًd’introspectionًsontً utiles pour fournir des informations sur les caractéristiques logicielles et matérielles utilisées durant le transfert des données. – Ressources réseau : ces ressources fournissent desً fonctionnalitésًd’introspectionً pour déterminer les caractéristiques et la charge du réseau. Les interfaces des Chapitre 1 : Les grilles de calcul et les services 17 routeurs sont principalement utilisées car elles représentent une source d’informationً fiable. Un routeur peut fournir des informations concernant la topologie du réseau et les algorithmes de routage utilisés grâceًauxًprotocolesًqu’ilً peut implémenter. Une ressource réseau peut tirer les meilleurs chemins entre deux points du réseau en terme du coût de transmission, de bande passante, ou du plus cours chemin.
Couche connectivité
Cetteً coucheً implémenteً lesً protocolesً nécessairesً pourً l’authentification et l’interrogationً desً ressourcesً dansً laًgrille.ً Lesً protocolesًdeًcommunicationً implémentésً sont des standards connus comme TCP/IP, UDP, HTTP, DNS, etc. Avec une hétérogénéité croissante des ressources, un nombre important de protocoles a été implémentés, et il reste toujoursًlaًpossibilitéًd’incrémenterًceًnombreًselonًlesًbesoinsًdeًlaًcommunautéًetًdesً nouvelles technologies. On note que le protocole Grid Security Infrastructure (GSI) (Web Services Architecture, 2018) estًl’appuiًdeًtoutesًtransactions faites sur la grille. Lesً protocolesً d’authentificationً sontً implémentésً auً mêmeً niveauً queً lesً protocolesً deً communication.ً Leurً utilitéً estً d’authentifierًlesً ressourcesً deًlaً coucheً fabrique, leurs origines et leurs propriétaires. De même, des opérations de cryptographie et uneً variétéً deً techniquesً d’authentificationsً sontً implémentéesً afinً d’assurerً uneً exploitationً légaleً etً sécuriséeً deً l’ensembleً desً ressourcesً offertes parًl’infrastructure. Cependant, la couche connectivité repose sur un ensemble de mécanismes pour assurerً laً sécuritéً d’échangeً desً données,ً d’authentification,ً etً d’exploitationً desً ressources, ci-dessous les principaux mécanismes : – Single sign-on (SSO) : c’estً unً mécanismeً quiً simplifieً laً procédureً d’authentification.ً Ilً permetً uneً authentificationً uniqueً pourً l’exploitationً deً l’ensembleً desً ressources dontً unً utilisateurً possèdeً leً droitً d’yً accéder. Les identifiantsًd’unًclientًserontًpropagésًsurًl’ensembleًdesًressourcesًdeًlaًgrille.ً De même, le mécanisme SSO permet de fermer de manière automatique toutes les sessionsًouvertesًd’unًutilisateurًquiًviensًdeًseًdéconnecter. – Délégation : les processus lancés par un utilisateur portent les mêmes autorisations et droits que leurs propriétaires. Ainsi que pour les applications et services interrogés par ces processus prennent les mêmes droits. Ce mécanisme est connu parً‘délégationًdesًprivilèges’. – Relationً d’approbation : si un processus fait appel à plusieurs ressources de différentsًsites,ًetًilًn’estًauthentifierًqu’auprèsًd’unًseul,ًlaًrelationًd’approbationً assureًl’accèsًàًtoutesًlesًressources demandées en faisant confiance aux politiques de sécurité du premier site. – Intégration : dans une grille, chaque site ou fournisseur de services implémente une solution interne pour sécuriser ses ressources. La politique de sécurité générale de laً grilleً doitً êtreً capableً deً s’interfacerً avecً toutesً lesً différentesً solutionsً spécifiques adoptées par les sites.
Couche ressources
Cette couche fait appel aux services des deux couches précédentes pour gérer les ressources et collecter les informations qui les concernent de point de vu individuel. La gestionً desً ressourcesً impliqueً l’utilisationً desً servicesً deً contrôle,ً d’énumérationً etً d’initialisationًdesًétatsًdesًressources. Aًtitreًd’exemple, on peut citer le protocole (Grid Resource Access and Management -GRAM-) et le protocole GridFTP. Le premier est utilisé pour allouer et gérer les ressources de calcul. Cependant, le protocole GridFTP sert à gérer l’accèsًauxًdonnéesًet le transfert à très grande vitesse de ces données. Ils existent deux classes principales des protocoles implémentés dans cette couche : – Lesً protocolesً d’informations : ilsً permettentً l’accèsً auxً informationsً desً ressources que Ce soit des informations statiques ou dynamiques. Statiques comme celles concernant un calculateur, sa puissance, sa capacité de stockage, sa configuration et sa stratégie de sécurité. Dynamique comme la charge globale d’unً système,ً leً nombreً deً processusً lancés,ً l’espaceً disponible dans un média de stockage, etc. – Les protocoles de gestion : permettentًdeًnégocierًl’accèsًauxًressourcesًpartagées.ً Ils offrent la possibilité de spécifier des réservations, à voir les conditions de qualité des services et des opérations qui peuvent être effectuées (ex : la création de processusً etً l’accèsً auxً donnéesً distantes).ًCetteً classeً deً protocolesًetًdeًservicesً Chapitre 1 : Les grilles de calcul et les services 19 contrôleً l’exécutionً desً opérationsً etً remonteً lesً erreursً versً lesً servicesً desً couches supérieurs. 3.4.Couche collective Contrairement à la couche précédente, cette couche possède une vue globale des ressources. Elle implémente des services et des protocoles capables de gérer un nombre important de ressources et gérer leurs interactions. Cette couche est responsable de l’ordonnancementً etً la co-allocation des ressources demandées. Elle possède plusieurs informations globales sur les ressources. Ces informations lui donnent la possibilité de sélectionner etً d’allouerً laً ressourceً laً plusً appropriéeً pourً laً réalisationً d’uneً tâcheً demandée. Elleً s’occupeً égalementً deً laً réplicationً desً données,ً laً récupérationً etً leً traitementً desً alertesً remontéesً parً laً coucheً ressources.ً Enً d’autresً mots,ً laً coucheً collectiveً seً chargeً deً l’orchestrationً desً ressourcesً disponiblesً surً laً grille.ً Commeً services, on cite : – Annuaire :ًLeًserviceًd’annuaireً fournie par cette couche joue un rôle important dans la gestion des ressources de la grille. Il est représenté par une base de données contenant toutes les caractéristiques des ressources. Avec ces informations, le courtier localise la ressource la plus appropriée pour répondre à la requête lancée, il consulteً l’annuaireً etً transmitً lesً informationsً nécessairesً pourً laً localisationً physique de la ressource. – Servicesً d’allocationً etً d’ordonnancement :ً afinً d’allouer une ressource à un processus,ً leً serviceً allocateurً consulteً l’annuaireً pourً trouverً celleً laً plusً appropriée.ًL’ordonnanceurً prendًl’initiativeً deً déciderً quelً processusً doitًêtreً exécuté, et sur quelle ressource, et le moment exacte de son exécution selon la politiqueًdeًl’ordonnanceurًadoptée. – Services de contrôle et de diagnostic :ًilsً donnentًàًl’utilisateurًlaً possibilitéً deً contrôlerًl’étatًdesًressources etًs’assurerًdeًleurًbonًfonctionnement. – Services de gestion de données : les processus lancésًontًbesoinًd’unًensembleًdeً données pour accomplir leurs tâches. Les services de gestion de données permettent la récupération et le transfert fiable et sécurisé de ces données. Chapitre 1 : Les grilles de calcul et les services 20 – Services de réplication de données : leur objectif est de maximiser les performances de la grille. Une réplication est effectuée dans le but de minimiser le coût et le temps d’accèsًàًunًblocًdeًdonnées distant. Le répliquer en local ou à un endroit proche desً opérationsً deً calculً permetً deً réduireً leً tempsً d’accèsً àً laً ressource et d’augmenterًsaًdisponibilité. 3.5.Couche application Elle contient les applications déployées sur la grille. Cette couche peut interagir directement avec les autres couches inférieures. Les couches Collectif et Ressources sont sollicitées pour localiser les ressources demandées par une application. La couche Connectivitéً seraً l’outilً d’authentification.ً Etً laً coucheً Fabriqueً pourً yً accéder. Une application peut être un service spécifique ou une application cliente qui tente à exécuter une partie métier hébergéً dansً unً serveurً d’exécution.
Chapitre 1 : les grilles de calcul et les services |