Introduction aux grilles informatiques
Le paradigme de grilles informatiques a été posé en 1998 dans [2]. C’est une notion qui s’inspire beaucoup de la grille d’électricité (power Grid). Par analogie à cette grille d’électricité, la notion de grille informatique est définie comme étant : une infrastructure matérielle et logicielle fournissant un accès fiable, cohérant à un taux de pénétration élevé et bon marché à des capacités de traitement, de calcul et de stockage. Mais au delà des besoins en capacité de traitement, l’approche grille permet la coallocation et le partage dynamique de toutes les ressources de systèmes hétérogènes indépendamment des unités organisationnelles (départements d’entreprises, institutions et entreprises). Des organisations virtuelles (VO) permettent maintenant de définir en tant que de besoin des communautés d’utilisateurs partageant suivant des modalités communes d’utilisation, des sous ensembles de ces ressources globalisées de traitement, de stockage, des logiciels, des instruments et des services largement distribuées, quelles que soient les organisations propriétaires.
Les caractéristiques des grilles informatiques
Les grilles informatiques possèdent quatre principales caractéristiques qui sont :
• existence de plusieurs domaines administratifs : Les ressources appartiennent à des organisations qui ont des localisations différentes. En outre, chaque organisation a sa propre politique d’administration (gestion et sécurité) de ses ressources,
• hétérogénéité des ressources : Les ressources dans une grille sont de natures différentes. Cette différence de nature peut être matérielle comme logicielle,
• nombre important de ressources : une grille informatique peut aller de quelques dizaines de ressources jusqu’à des dizaines de millions de ressources,
• nature dynamique des ressources : les ressources dans grilles peuvent varier en tout temps.
Les apports des grilles par rapport aux autres architectures
Il faut noter que les grilles informatiques reposent principalement sur les architectures actuelles (informatiques distribuée et parallèle). Cependant, les grilles informatiques offrent des avantages que les technologies actuelles ne sont pas en mesure d’assurer. Parmi ces avantages on peut citer :
• L’exploitation des ressources inutilisées : des études ont montré que les postes de travail et les ordinateurs de bureau sont inactifs la plupart du temps. En effet, les pourcentages d’utilisation indiquent un taux d’utilisation de 5% pour les machines grand public et 30% pour les machines en milieu académique et industriel. Ainsi, les grilles de calcul permettront d’utiliser les cycles processeurs (temps mis entre deux tops d’horloges) pendant lesquelles les machines sont inactives pour faire tourner des applications exigeantes en matière de puissance dont les machines dédiées ne parviennent pas à assurer.
• La fourniture d’une importante capacité de calcul : l’une des caractéristiques principales des grilles de calcul est la possibilité de fournir de grandes puissances de calcul. En effet la technologie du Grid Computing s’inspire beaucoup de l’informatique parallèle et distribuée. Plus précisément avec la révolution de l’algorithmique les applications sont écrites d’une façon à pouvoir exploiter parallèlement des ressources (clusters, machines multiprocesseur, matériels spécifiques, etc.). Les grilles de calcul peuvent de la même manière fournir des ressources dont l’utilisation pourra se faire en parallèle.
• La virtualisation de certaines ressources : la virtualisation est l’ensemble des techniques matérielles et/ou logicielles qui permettent de faire fonctionner sur une seule machine plusieurs systèmes d’exploitation et/ou plusieurs applications, séparément les uns des autres, comme s’ils fonctionnaient sur des machines physiques distinctes. En virtualisant les ressources, une grille pourra fournir l’accès à des ressources spéciales comme des équipements spécifiques (microscope électronique, capteur …) ou des logiciels dont le prix de la licence est élevé. Ainsi ces ressources exposées à tous les utilisateurs seront mieux utilisées et partagées et ainsi on évitera d’avoir recours à installer du nouveau matériel ou acheter de nouvelles licences.
• La fiabilité et disponibilité des ressources : les ressources de la grille appartiennent à des organisations virtuelles dispersées géographiquement. De ce fait la dispersion des ressources et aussi leur disponibilité en grande quantité permettent à la grille d’assurer la continuité du service si certaines ressources deviennent inaccessibles. Les logiciels de contrôle et de gestion de la grille seront en mesure de soumettre la demande de calcul à d’autres ressources [12].
Les différents types de grilles informatiques
Selon les besoins et les résultats attendus on peut classer les grilles informatiques en : grille d’information, grille de données et grille de calcul.
La grille d’information
Ce type de grille est conçu pour le partage de connaissances qui sont partagées à travers un réseau qui permet aux utilisateurs d‘y accéder. La grille doit aussi permettre la recherche d’information de façon efficace et fiable grâce aux moteurs de recherche. Une des applications est le WEB. L’accès à l’information se fait à partir d’une adresse http ou à partir d’un moteur de recherche (Google par exemple).
La grille de données
On l’appelle aussi grille de stockage (Data Grid). Elle est conçue pour le stockage des données. Elle permet de découper les données et de les ranger d ans plusieurs machines. En outre, elle doit mettre en place des mécanismes de recherche, d’indexation, de sécurité pour permettre un accès fiable et permanent. Il est important que la répartition des données soit transparente pour l’utilisateur. En effet, il est impossible de savoir précisément où va être stockée chaque donnée. Un fichier peut avoir été découpé en plusieurs morceaux et réparti sur plusieurs machines. Il peut aussi avoir été répliqué sur plusieurs entités du réseau pour permettre une meilleur disponibilité. Il faudra a lors avoir un mécanisme qui répartit la charge sur chaque serveur. Une des applications des grilles de données est le cas Napster. C’est une grille de stockage à cheval entre les modes de déploiement P2P et le client/Serveur. En effet il existe un serveur Napster qui stocke des données mais également des clients Napster qui stockent des données.
Les grilles de calcul
Ce type de grille va essayer quand à elle de résoudre le problème du manque de puissance de calcul afin de permettre de réaliser des opérations compliquées dans des délais raisonnables. Il faut noter que les calculs peuvent bel et bien se faire sur une seule et même machine. Cependant, les durées de traitement risquent d’être énormes (des années pour faire la cryptanalyse de certaines clés). Donc, la grille de calcul permet de fédérer plusieurs machines et de répartir les calculs sur les machines. Mais cette répartition est régulée par plusieurs concepts de construction de la grille.
Dans la suite de notre étude on se focalisera uniquement sur les grilles de calcul qui constituent les grilles les mieux adaptées pour les mesures de performance.
Cadre d’utilisation des grilles de calcul
Les grilles de calcul offrent plusieurs possibilités d’application tant les domaines pouvant bénéficier d’une telle puissance et infrastructure. Dans cette partie nous allons présenter quelques domaines d’application de ces grilles de calcul.
Le calcul distribué
Les applications de calcul distribuées sont d’excellentes candidates pour être utilisées dans les grilles de calcul. Grâce à un nombre très important de ressources de calcul elles peuvent résoudre des problèmes qui leur étaient inaccessibles auparavant. Ainsi, les expériences du LHC nécessiteront de l’ordre de 100 000 processeurs pour traiter la masse d’informations générées par le collisionneur. Il est évidemment illusoire d’espérer ou de disposer d’une telle puissance de calcul sur un seul et mêmesite [1]. L’utilisation d’une grille se révèle dès lors indispensable. Parmi les principaux défis que doit relever l’architecture de la grille pour de telles applications, citons : l’ordonnancement à grande échelle des processus, la souplesse des algorithmes et protocoles qui doivent être capables de gérer un nombre de nœuds pouvant aller de la dizaine à des centaines voire des milliers de fermes de machines, la tolérance des algorithmes aux temps de latence inhérents à la taille de la grille, atteindre et maintenir un haut niveau de performances dans un système très hétérogène.
Supercalculateur virtuel ou High-Throughput Computing
Le but ici n’est pas de rechercher la performance pure comme dans le cas précédentmais de rentabiliser au maximum des ressources en récupérant les cycles processeurs non utilisés quand celui-ci est oisif (idle). On pense bien entendu aux stations de travail qui sont généralement très largement sous utilisées, ne serait-ce qu’en dehors des heures de bureau.
|
Table des matières
INTRODUCTION GENERALE
CHAPITRE I: LES GRILLES INFORMATIQUES
I.1 Problématique des grilles de calcul
I.1.1 Les besoins en calcul
I.1.2 Les besoins en stockage
I.1.3 Les besoins en bande passante
I.1.4 Les solutions retenues
I.1.5 Les inconvénients des supercalculateurs
I.2 Introduction aux grilles informatiques
I.2.1 Les caractéristiques des grilles informatiques
I.2.2 Les apports des grilles par rapport aux autres architectures
I.2.3 Les différents types de grilles informatiques
I.2.4 Cadre d’utilisation des grilles de calcul
I.2.5 Architecture d’une grille de calcul
I.2.6 Les interlogiciels de grille de calcul
I.3 Les limites des grilles de calcul
Conclusion
CHAPITRE II: ETUDE DE GLOBUS ET MISE EN PLACE DE LA GRILLE
II.1 Introduction
II.2 Motivation et concept
II.3 Les innovations de la version 4 de Globus
II.3.1 Les services web
II.3.2 Les nouveaux composants
II.4 Architecture de Globus version 4
II.4.1 Le service de sécurité
II.4.2 La gestion des données
II.4.3 La gestion des ressources
II.4.4 Le service d’information
II.5 Les limites de Globus
II.5.1 La sécurité
II.5.2 L’utilisation de Globus
II.6 Mise en place de la grille de calcul
II.6.1 Préparation à l’installation de Globus 4.0.1
II.6.2 Installation de l’interlogiciel Globus 4.0.1
II.7 Mise en place du site de Dakar dans le cadre du projet HP-UNESCO
II.7.1 Préparation à l’installation de l’interlogiciel
Conclusion
CHAPITRE III: SYSTEMES DE TRANSFERT DE DONNEES ET PROBLEMATIQUE DE RECHERCHE
III.1 INTRODUCTION
III.2 Les systèmes de transfert de fichiers
III.2.1 La structure des fichiers
III.2.2 LES MODES DE TRANSFERT DE FICHIERS
III.2.3 Quelques protocoles de transfert de fichier
III.3 Performances dans les systèmes de transfert
III.3.1 Les techniques de mesure de performance dans les systèmes de transfert
III.3.2 Les métriques de performance dans les systèmes de transfert
III.4 Problématique de recherche
III.4.1 Constat
III.4.2 Apport de notre mémoire
Conclusion
CHAPITRE IV: ETUDE DE PERFORMANCES ET PROPOSITION
IV.1 Les performances du Gridftp
IV.1.1 Les conditions des tests de performances
IV.1.2 Gridftp vs ftp
IV.1.3 Impact du parallélisme sur le transfert
IV.1.4 Impact de la taille des blocs
IV.1.5 Impact de la taille des buffers TCP
IV.1.6 Impact de la combinaison sur les performances
IV.2 Proposition d’optimisation du temps de transfert des fichiers
IV.2.1 Les problèmes du Gridftp
IV.2.2 Identification du problème par test
IV.2.3 Description de la proposition
CONCLUSION