Optimisation du processus de décision du GRID Resource Broker

Optimisation du processus de décision du
GRID Resource Broker

NOTIONS DE BASE SUR LES GRILLES

Les besoins en puissance de calcul pour la recherche scientifique ont toujours été très importants. Les centres de recherche ont investi dans des supercalculateurs valant très chers, mais la technologie n’arrivait pas à satisfaire la forte demande en puissance de calcul. Ainsi, l’idée a été évoquée de distribuer les traitements sur plusieurs calculateurs pour augmenter la rapidité de calcul en faisant traiter en parallèle plusieurs taches. Cela permettait de répartir les coûts d’acquisition du matériel et d’optimiser la rentabilité de l’investissement. Cette technique, le meta computing, consistait à faire exécuter une application par des supercalculateurs répartis géographiquement, cela supposait le partage de ressources. Ainsi, l’avancée des travaux sur cette technologie a permis de commencer à développer des applications d’un nouveau type, en créant des logiciels dont les traitements pouvaient être décomposés en petites parties indépendantes. L’autre axe de progrès en matière de performances a été la technologie à base de clusters [1], c’est à dire la mise en œuvre d’un serveur virtuel sur plusieurs serveurs physiques distincts. Cette technique consiste à regrouper et faire travailler l’ensemble des serveurs appelés « nœuds » pouvant être de natures différentes, accédant à des données parfois hétérogènes. C’est une architecture très flexible. Elle permet des évolutions progressives de chacun des nœuds et offre la possibilité d’intégrer au fur et à mesure les technologies nouvelles. Le faible coût des ordinateurs personnels et de leurs solutions de stockage ont permis de progresser dans cette voie. Aujourd’hui, on appelle « grille de calcul » une mise en œuvre des techniques issues du meta-computing pour l’aspect calcul réparti et des techniques issues des clusters pour la virtualisation des serveurs. Le terme meta-computing est maintenant plus souvent associé au calcul hautement réparti à travers Internet, pour des projets faisant intervenir des ordinateurs personnels connectés, parmi lesquels on peut citer SETI@HOME, Décrypthon ou les logiciels de Peer to Peer tels que Napster, eDonkey, etc. Après avoir présenté les avancées techniques qui ont conduit à l’élaboration des grilles de calcul, il convient maintenant d’examiner comment fonctionne une grille en s’attachant à décrire les mécanismes et les services. Ainsi, dans cette partie, nous allons présenter les motivations suivis des généralités sur les grilles. 

Historique

En 1969, la notion de grille de calcul a été introduite pour la première fois par Leonard Kleinrock en imaginant une infrastructure de grilles de calcul : « Nous verrons probablement l’expansion des outils de calcul comme les réseaux électriques et les réseaux téléphoniques qui iront jusqu’à chaque maison et chaque bureau ». Cette vision a été peu à peu implémentée durant les années suivantes par la création de centres de calcul partagés par plusieurs utilisateurs et intégrant plusieurs ressources informatiques et grâce au développement des systèmes d’exploitation multi-utilisateurs, des réseaux (terminaux distants), des architectures parallèles, des standards informatiques et enfin d’Internet [2]. Au début des années 90, le terme grille est devenu de plus en plus populaire après l’apparition des meta-ordinateurs (introduit par Larry Smarr en 1987 dans [3] et désignant « un ensemble d’ordinateurs regroupés à l’aide d’une technologie à la pointe et vus par l’utilisateur comme une seule machine de calcul « ). En 1999, le terme « grille » est pour la première fois formalisé et défini dans [4] par : « A computational grid is a hardware and software infrastructure that provides dependable, consistent, pervasive and inexpensive access to high-end computational capabilities ». Une série de workshop et de forum dédiés aux rencontres de la communauté scientifique internationale autour de cette technologie émergente était le point de départ de la révolution informatique du 21ieme siècle avec un catalyseur important, Internet. Au début des années 2000, le défi était de proposer une infrastructure qui offre des services pour l’accès aux ressources de grille en proposant différents protocoles de communications, des interfaces d’application et des kits de développement. La grille était, et est encore aujourd’hui, confrontée aux problématiques posées par la variété des technologies et services qu’englobe une telle architecture générale (voir Figure 1.1). La gestion d’une telle complexité se fait par le développement de logiciels de grille qui représente un kit de librairie de communication, de gestion de ressources, d’informations et d’authentification appelé aussi « middleware » tel que GT (Globus Toolkit) de la Globus Alliance [5]. Figure 1.1 – Evolution des technologies de l’information Les grilles représentent un ensemble de machines (multiprocesseurs) ou clusters localisés dans différents domaines administratifs distribués à travers plusieurs départements et  entreprises ou distribués sur internet [6]. L’intérêt porté à cette nouvelle technologie a amené les grandes institutions à développer leurs propres projets autour de la grille : IPG (information Power Grid) de la NASA, the Alliance Grid [7], le programme ASCI (Accelerated Strategic Computing Initiative) de la gestion des ressources informatiques sur différents sites abritant des armes nucléaires, NPACI Grid (National Partnership for Advanced Computational Infrastructure), DOE Science Grid [8], EU DataGrid [9] et maintenant EGEE (Enabling Grid for E-sciencE) et TeraGrid [10]. On trouve un large panel des différents projets sur le site internet [11] initié par EnterTheGrid et Primeur Magazine. Les grilles de calcul émergent alors comme une architecture de calcul haute-performance à grande échelle et d’une importance majeure et joue un rôle primordial dans tous les domaines scientifiques (chimie, biologie, physique, médecine, génie civil, etc.) par le développement de nouvelles applications innovantes et le partage de ressources à travers le monde [12]. Ainsi, celles-ci reposent sur une architecture très complexe. 

Architecture de grille

L’architecture d’une grille est organisée en couches. Une couche est une abstraction représentant un ensemble de fonctions du système qui permettent des actions de même niveau. Chaque couche fait appel aux services de n’importe quelle couche inférieure(voir Figure 1.2). Figure 1.2 – Architecture par couche La couche Application représente l’ensemble des fonctions qui ont été développées pour interagir avec la grille. La couche Collectif se charge de la coordination des ressources. Elle comprend les services d’annuaire, la prise en charge des demandes, la surveillance et la réplication des données. C’est l’« orchestrateur » des ressources. La couche Ressource représente le partage de ressources individuelles. C’est elle qui a notamment en charge la mise à disposition et la facturation à l’utilisation.  La couche Connectivité représente les protocoles fondamentaux régissant la communication et l’authentification. Enfin, à la base du modèle, la couche Fabrique représente le niveau le plus proche des ressources « physiques ». Il s’agit de l’ensemble des serveurs et réseaux qui fournissent les ressources nécessaires aux applications. Après avoir décrit l’architecture en couche, nous allons présenter une étude détaillée de son fonctionnement. 

La couche Fabrique

La couche Fabrique fournit les ressources telles que des processeurs pour le calcul, du stockage, des bases de données, des annuaires ou des ressources réseau. Une ressource peut être également une entité logique comme un système de fichiers distribué, ou un serveur virtuel dans le cas d’un cluster d’ordinateurs. La couche Fabrique est la plus basse du modèle. Elle est en relation directe avec le matériel pour mettre à disposition les ressources partagées. Lorsqu’une demande d’accès à une ressource est formulée, par le biais d’une opération de partage d’un niveau supérieur, un composant logiciel du niveau Fabrique est invoqué. Le rôle de ce composant est d’agir directement sur les ressources logiques ou physiques de la grille. Après avoir vu ce qui est implémenté au plus prés du matériel, regardons la couche directement supérieure qui gère à la fois la communication entre les fabriques et certains aspects liés à la sécurité que nous allons voir maintenant. 

La couche Connectivité

La couche Connectivité implémente les principaux protocoles de communication et d’authentification nécessaires aux transactions sur un réseau de type grille. Les protocoles de communication permettent l’échange des données à travers les ressources du niveau Fabrique. Ces protocoles d’authentification s’appuient sur les services de communication pour fournir des mécanismes sécurisés de vérification de l’identité des utilisateurs et des ressources. L’architecture d’une grille de calculs est parfois représentée sous une forme de sablier comme Figure 1.3. La métaphore du goulot d’étranglement au niveau Connectivité permet d’imager l’idée de la limitation du nombre de protocoles utilisés (protocoles de communication et protocoles réseau) pour faciliter le partage des ressources. A l’inverse, la base et le haut du sablier (les parties élargies) symbolisent la diversité des ressources et des applications. L’utilisation de protocoles standards simplifie également le développement et le déploiement des solutions. Ainsi, pour la communication et la sécurité, de nombreux protocoles développés pour Internet ont été réutilisés. Pour la communication, les protocoles nécessaires sont ceux relatifs au transport, au routage et à la gestion des noms. Le choix se porte essentiellement sur les protocoles de la pile TCP/IP. TCP et UDP sont utilisés pour le transport, IP pour le routage, ICMP pour la surveillance, et le DNS pour les applications. En dehors des aspects communication, la couche Connectivité a en charge une grande partie de la sécurité du système. Pour ce faire, les concepteurs de la grille ont également B.Kassé .

NOTIONS DE BASE SUR LES GRILLES

Figure 1.3 – Architecture de la grille : l’image du sablier recours, autant que possible, aux protocoles existants. Mais les besoins en matière de sécurité ne doivent pas rendre l’utilisation des grilles trop contraignante. Le cahier des charges relatif à la sécurité et au fonctionnement d’une grille comporte quatre points essentiels : – La nécessité pour les utilisateurs de s’authentifier une fois pour toute sur le réseau (« single sign on »). – Un système de « délégation » doit permettre à un programme de disposer des permissions de l’utilisateur qui l’a lancé pour pouvoir accéder aux ressources nécessaires, et le cas échéant, que ces permissions soient transmises aux composants logiciels appelés par le programme principal. – La sécurité doit être intégrée au travers des diverses solutions mise en oeuvre sur chaque site distant. Chaque site ou fournisseur de ressources dispose de ses propres outils de sécurité. La sécurité au niveau de la grille doit prendre en compte chacune de ces spécificités et mettre en œuvre des solutions permettant de s’adapter aux contextes locaux. – La mise en oeuvre de relations de confiance (relations d’approbations) entre les sites doit être prévue. De cette façon, si un utilisateur fait appel à deux ressources de sites différents, et s’il n’est accrédité qu’auprès d’un seul site, le second devra l’accepter en faisant confiance aux politiques de sécurité du premier. Ainsi, la couche Connectivité gère les aspects sécurité et communications pour les échanges s’opérant sur la grille. La couche Ressource du modèle, s’appuyant sur les couches Fabrique et Connectivité a en charge la gestion de la disponibilité et la surveillance de l’état des ressources.

Table des matières

A GÉNÉRALITÉS DANS LES GRILLES
1 NOTIONS DE BASE SUR LES GRILLES
1.1 Historique
1.2 Architecture de grille
1.3 Topologies de grille
2 EGEE ET LE MIDDLEWARE GLITE
2.1 Organisation générale de EGEE
2.2 Composants de la grille EGEE
2.3 Le middleware GLite .
2.4 Cycle de vie d’un job dans GLite
2.5 Principe de fonctionnement du WMS
B TRAVAUX ANNEXES ET PROBLÉMATIQUE DE RECHERCHE
3 LOCALISATION GEOGRAPHIQUE DES HOTES SUR L’INTERNET
3.1 Techniques de localisation géographique
3.2 Localisation Géographique basée sur la Multilatération
3.3 Problématique et objectifs
C CONTRIBUTION
4 OPTIMISATION DU MIDDLEWARE GLITE AVEC GEOHYBRID
4.1 Localisation Géographique avec la technique GEOHYBRID
4.2 Choix heuristique des Landmarks
4.3 Evaluation
4.4 Couplage de GeoHybrid avec le WMS/RB
B.Kassé
Conclusion et perspectives
Bibliographie
D ANNEXES

projet fin d'etudeTélécharger le document complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *