Les besoins en stockage
Dans certaines applications, tant dans le domaine de la recherche que dans le domaine de l’industrie, ce sont les données qui structurent la démarche par la gestion de volumes considérables,par l’exploration de ceux-ci, par les problèmes complexes qu’il faut résoudre pour en extraire lesmesures exploitables, ou enfin par lestraitements statistiques auxquels il faut les soumettre [2].
Les données collectées doivent être archivées et stockées pour être ensuite analysées dans le cadre de la recherche. Ces données sont nombreuses et complexes. Même avec la technologie actuelle, une machine unique n’est pas assez puissante pour analyser et stocker toutes les données. Donc, la nécessité de mettre en place des infrastructures se dotant de grands systèmes de stockage de données s’impose [1].
Les besoins en bande passante
Devant les très gros volumes de données à traiter, à stocker mais surtout à acheminer à travers des espaces géographiques distribués les équipements réseaux ne pouvaient plus offrir la bande passante nécessaire. Donc, il s’avère nécessaire de mettre en placede nouvelles infrastructures pour répondre à ces besoins en bande passante.
Le projet ERS (Européen Remote Sensing Satellite System) de l’agence spatialeEuropéenne (ESA) est un des plus importants programmes d’observation de la terreconcernant la climatologie,l’océanographie ou la gestion des ressources ERS. Il consiste en l’envoi de deux satellites qui doivent envoyer environ 100 Gbytes de données par jour pour la mission (ERS ½) avec une vitesse de transmission desupérieure à 200Mbytes/s [1].D’ou la nécessité de bande passante.
Les solutions retenues
Devant ces besoins en stockage, en calcul et en bande passante diverses solutions ont été adoptées parmi lesquelles l’informatique parallèle et l’informatique distribuée. Ainsi, avec l’avènement de l’informatique parallèle et distribuée on assiste aussi à l’avènement de nouveaux types d’ordinateurs les clusters (architecture distribuée) et les multiprocesseurs (architecture parallèle). On utilisera le terme supercalculateur pour désigner ces types d’ordinateurs. Ces supercalculateurs ont permis de résoudre plusieurs problèmes liés :
• Au besoin de calcul : la mise en commun de plusieurs unités de calcul permet d’effectuer des calculs parallèles en des temps plus courts. De ce fait on acquiert des puissances de calcul énormes,
• Au besoin de stockage : la mise en commun de plusieurs unités de stockage et l’accès distant permettent de stocker de très grands volumes de données et d’y accéder en des temps très rapides.
L’informatique parallèle ou le parallélisme
Appelée aussi calcul parallèle, elle consiste en l’exécution simultanée d’une même tâche, partitionnée et adaptée afin de pouvoir être répartie entre plusieurs processeurs en vue de traiter plus rapidement des problèmes plus grands. Le terme ordinateur parallèle ou multiprocesseur est parfois utilisé en référence à un ordinateur qui possède plus d’une unité de traitement et qui peut effectuer un traitement parallèle.
Les architectures parallèles
La principale architecture parallèle est le multiprocesseur. Il est caractérisé par plusieurs unités de traitement qui ont une mémoire commune. On parle ainsi d’architecture à mémoire partagée. Pour communiquer, les processeurs utilisent différentes méthodes parmi lesquelles on peut citer :
• le sémaphore,
• l’exclusion mutuelle.
Blue Gene/L – eServer Blue Gene est un exemple de multiprocesseur. Il comporte près de 131072 processeurs et a une puissance réelle de 280600 flops [15].
Les types de multiprocesseur
Il existe plusieurs types d’ordinateurs (ou de processeurs) parallèles, caractérisés, principalement, par différents modèles d’interconnexions entre les processeurs et la mémoire. La classification la plus populaire est la taxonomie de Flynn [19], qui catégorise les ordinateurs parallèles selon le type d’organisation du flot de données et du flot d’instructions. Elle distingue différents types de machines :
• SISD (single instruction single data): à flot d’instructions et de données unique,
• SIMD (single instruction multiple data) : à flot d’instructions uniques agissant sur des données multiples,
• MIMD (multiple instruction multiple data) : à flot d’instructions et de données multiples,
• MISD (multiple instruction single data): à flot d’instruction multiples agissant sur des données uniques.
L’informatique distribuée
La deuxième solution trouvée pour résoudre ces besoins en stockage, en calcul et en bande passante est l’informatique distribuée appelée système distribué ou calculdistribué.
Un système distribué ou reparti est composé de plusieurs systèmes calculatoires autonomes sans mémoire physique commune qui communiquent par l’intermédiaire d’un réseau.
Les principales architectures distribuées sont :
• Le cluster : appelé aussi grappe est une collection de machines interconnectées, utilisées comme une ressource de calcul unifiée.
Une grappe « Beowulf » se définit par les propriétés suivantes :
– composants à grande diffusion,
– composants réseau à faible coût,
– système d’exploitation « open source »,
– hardware non propriétaire,
– logiciel « open source ».
• Le centre de calcul : c’est un environnement distribué pouvant interconnecter des clusters, des multiprocesseurs.
Les inconvénients des supercalculateurs
Les supercalculateurs sont des monstres de puissance, mais ce sont aussi des gouffres à énergie et de véritables nids à chaleur. En effet, l’accroissement de la performance a aussi des conséquences de plus en plus préoccupantes : elle a conduit à une augmentation de la puissance consommée et de la chaleur dissipée. Un microprocesseur de dernière génération peut consommer jusqu’à 130 watts, ce qui se traduit par un dégagement de chaleur considérable. Cet accroissement de la consommation électrique et donc du dégagement de chaleur ne peuvent se poursuivre faute de dispositif d’évacuation de chaleur.
Aujourd’hui, les chercheurs se trouvent confrontés à de nombreux obstacles liés aux exigences énergétiques des supercalculateurs. Ces exigences ne font qu’augmenter si on se réfère à la loi de Moore [1]. En effet, la Loi de Moore est relative à la croissance des performances de nos ordinateurs. Énoncée il y a plus de trente ans, elle est toujours valable et stipule que : « Le nombre de transistors sur une puce de circuit intégré double tous les dix-huit mois ».
Un autre problème lié à ces supercalculateurs est d’ordre économique. En effet, ils coûtent très chers. Et à cela s’ajoutent des coûts liés à leur maintenance. Donc, il n’est pas facile de s’acquérir de ces types de machines. Seule les centres de recherche et les grandes industries ont le privilège d’en posséder.
En outre avec les projets actuels et ceux de l’avenir les puissances de calcul deviennent de plus en plus énormes. De plus en plus, un calculateur unique, une grappe d’ordinateurs normaux ou même un supercalculateur spécialisé, ne suffit pas pour les calculs que les scientifiques veulent effectivement faire.
La solution est donc de définir un nouveau concept de collaboration dans lequel il serait possible d’agréger la capacité de plusieurs ressources (ordinateurs, stations de travail, grappes, matériels spécifiques) afin de réaliser un seul et même service.
En plus, ces ressources doivent pouvoir être éparpillées sur des espaces géographiques différents et appartiennent à des institutions différentes. C’est cet «agrégat » qu’on appelle grille informatique.
Le concept de grilles informatiques a fait ses preuves, des grilles de production sont maintenant opérationnelles en entreprises et entre organismes. Au delà d’une solution pour les calculs intensifs, l’approche grille permet la constitution d’organisations virtuelles (VO) regroupant des communautés d’utilisateurs partageant des ressources globalisées de traitement, de stockage, des instruments et des services largement distribuées, quelles qu’en soient les organisations propriétaires. Le concept se veut une sur extension de l’informatique repartie et parallèle en allant au delà des performances et des services offerts par ces technologies. Donc, il est nécessaire d’adapter de nouvelles approches sur le plan algorithmique et applicatif afin de relever les défis de grilles dont les principaux sont la performance et les services offerts d’où l’utilisation d’un ensemble de logiciels appelés interlogiciel. Ce dernier unifie l’accès à des ressources informatiques hétérogènes.
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 sesressources,
• hétérogénéité des ressources : Les ressources dans une grille sont de naturesdiffé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 entout 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 informatiquesoffrent 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, lespourcentages d’utilisation indiquent un taux d’utilisation de 5% pour les machinesgrand public et 30% pour les machines en milieu académique et industriel. Ainsi, lesgrilles de calcul permettront d’utiliser les cycles processeurs (temps mis entre deuxtops d’horloges) pendant lesquelles les machines sont inactives pour faire tourner desapplications exigeantes en matière de puissance dont les machines dédiées neparviennent 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 del’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 uneseule machine plusieurs systèmes d’exploitation et/ou plusieurs applications, séparément les uns des autres, comme s’ils fonctionnaient sur des machines physiquesdistinctes. 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).
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 desalgorithmes 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édent mais 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.
Le calcul à la demande
Ce type d’applications utilise la grille afin de satisfaire des besoins à court terme en ressources, tels qu’ils ne peuvent être satisfaits en local pour des raisons pratiques ou de rentabilité. Ces ressources peuvent être du temps de calcul, des logiciels, des données, des capteurs spécialisés, etc.
Contrairement au calcul distribué, le but recherche ici est plutôt la rentabilité que les performances pures. Pour rendre cette nouvelle forme d’utilisation des ressources possible, il est primordial de développer des systèmes performants et sécurisés de facturation (établir le montant à imputer a l’utilisateur en fonction des différentes ressources qu’il a employées sur la grille) et de paiement.
Traitement massif de données
Dans ce type d’applications, le but est d’extraire de nouvelles informations à partir de grandes bases de données distribuées géographiquement. Généralement, ces types de traitement sont également de grands consommateurs de puissance de calcul et de bande passante.
L’expérience du LHC est sans doute la meilleure illustration de ce type de problème.
En effet il est indispensable de faire la distribution géographique des données (15 péta octets).
L’informatique collaborative
Le but des applications collaboratives est de permettre et favoriser les interactions entre les personnes. Elles sont souvent structurées sous forme d’espaces virtuels partagés entre les utilisateurs. La plupart de ces applications permettent de partager desressources comme parexemple des données ou des simulations. Elles partagent alorsbien souvent des caractéristiques avec les autres grands types d’applications décritesprécédemment. Les expériences du LHC sont ici encore une bonne illustration de cetype d’applications.
En effet, ce n’est pas moins de quelque 5000 chercheurs repartis dans plus de 500universités et instituts qui devront pouvoir accéder aux résultats des différentesexpériences [12].
Architecture d’une grille de calcul
La quantité importante de données à traiter et stocker, mais surtout la nature dynamique des ressources au niveau de la grille, montre que l’interopérabilité est un facteur très important que la grille doive tenir en compte. L’architecture de la grille, en plus de définir les composants fondamentaux de la grille et leurs fonctions, met aussi en place des mécanismes pour assurer cette interopérabilité. Ces mécanismes sont entre autres des protocoles, des services, des APIs. De ce fait, dans une architecture de grille on trouve différentes couches permettant :
• l’intégration des différents composants matériels et logiciels en une ressource globale à travers le réseau,
• l’implémentation d’interlogiciel offrant une vue transparente et consistante àcette ressource,
• le développement d’outils permettant le contrôle et la gestion de l’infrastructure et des applications,
• le développement d’applications exploitant cette infrastructure.
Ainsi, l’architecture d’une grille de calcul comprend trois couches (voir figure 1).