Les grilles, des infrastructures collectives pour calculer à très grande échelle

au sommaire


    Réaliser des prévisions météorologiquesprévisions météorologiques ou climatiques, calculer le comportement aérodynamique d'un nouveau modèle d'avion, décrypter le génomegénome d'un organisme vivant, détecter des particules élémentairesparticules élémentaires produites par un accélérateur, etc. : de telles tâches, qui nécessitent d'énormes calculs ou le traitement de quantités colossales de données, sont aujourd'hui nombreuses et variées. Elles sont aussi de plus en plus ambitieuses, donc de plus en plus exigeantes en puissance de calcul, en flux de données ou en capacité de mémoire. Comment les infrastructures informatiques vont-elles répondre à ces besoins sans cesse croissants ?

    Une globalisation et dématérialisation des ressources informatiques

    Les performances des matériels et des logiciels dont dispose chaque centre de calcul ou chaque utilisateur individuel augmentent très rapidement. Pourtant, cette évolution est insuffisante pour relever de nombreux défis posés aux mondes scientifique, technologique ou industriel. En moyenne, la puissance de calcul des matériels double tous les 18 mois environ, la capacité de stockage double tous les 12 mois, tandis que celle des connexions en réseau doublent tous les 9 mois seulement. Les performances des ordinateurs s'améliorent donc moins vite que celles des réseaux. Aussi, depuis six ou sept ans, un concept potentiellement révolutionnaire se développe : relier entre eux -via Internet en particulier - des équipements géographiquement dispersés et constituer un réseau qui cumule les capacités de calcul, de stockage, etc., de tous ses membres. Chacun de ceux-ci pourra alors disposer de la somme des ressources - puissance de calcul, mémoire, logiciels, données - apportées par tous les autres participants au réseau. Telle est l'idée de base des " grilles informatiques ", idée qui signifie une globalisation et une dématérialisation des ressources informatiques.

    Pourquoi le terme de " grille " ? Parce que l'idée revient, en quelque sorte, à distribuer des moyens informatiques de la même façon que l'on distribue le courant électriquecourant électrique dans les foyers : l'énergieénergie électrique est fournie au consommateur sans que celui-ci se préoccupe de savoir où et par qui elle est produite. Un réseau de distribution de l'électricité se disant " power grid " en anglais, les chercheurs ont commencé à parler de " grid computing ". Et comme " grid " se traduit habituellement par " grille ", on s'est mis à employer en français le terme de " grilles de calcul ", de " grilles de données ", ou, plus généralement, de " grilles informatiques ".

    Surmonter des obstacles techniques mais aussi sociologiques

    L'idée de connecter et partager des ressources informatiques dispersées était déjà présente dans les années 1960. Mais ce n'est que récemment que les avancées technologiques lui ont donné des perspectives relativement concrètes. La réalisation de grilles informatiques se heurte à de nombreuses difficultés. Des difficultés d'ordre technique d'abord, car il s'agit de faire communiquer et coopérer des matériels distants et hétérogènes par leurs modes de fonctionnement comme par leurs performances, de créer les logiciels permettant de gérer et distribuer efficacement les ressources cumulées du réseau, de mettre au point des outils de programmation adaptés au caractère diffusdiffus et parallèle de l'exécution des tâches confiées à la grille, etc. Mais on est aussi face à des difficultés de nature sociologique, voire économique ou politique, dans la mesure où la constitution d'une grille suppose de convaincre des entités individuelles - organismes publics, entreprises privées ou individus - de mettre leurs propres ressources à disposition d'une entité collective. Cela rejaillit sur les aspects techniques. Par exemple, chacun des noeuds d'une grille peut posséder des données ou des logiciels qu'il juge confidentiels et ne souhaite pas communiquer à autrui, d'où la nécessité de garantir, par des techniques appropriées, la sécurité des échanges au sein d'une grille.

    Des grilles encore embryonnaires

    De véritables grilles informatiques, faisant coopérer leurs différents nœudsnœuds de façon transparente, commode et sur un pied d'égalité, n'existent que sous forme de prototypes et sont encore loin d'être utilisées en production. Un bon nombre d'initiatives expérimentales et de recherches sont déjà lancées. Aux États-Unis, par exemple, le système Globus relie les supercalculateurssupercalculateurs américains de façon à obtenir un hypercalculateur parallèle et virtuel, qui doit offrir la possibilité à chaque centre de soumettre des calculs en utilisant la puissance de tous les autres. Des infrastructures de grille sont en train d'être créées par diverses communautés de scientifiques. C'est notamment le cas pour la physiquephysique des particules en Europe (dans le cadre du projet European Data Grid), qui doit se préparer à stocker et analyser les nombreux péta-octetsoctets (1 péta-octet = 1015 octets, l'équivalent d'environ 100 milliards de pages de livres) de données que produira annuellement le collisionneur LHCLHC du CernCern, dont le démarrage est prévu pour 2007.

    Par ailleurs, sont apparus des réseaux effectuant du calcul dit global ou « pair à pairpair à pair » dévolus à des problèmes jouissant d'une certaine popularité. L'un d'eux est l'initiative SETISETI@home, consacrée à la recherche d'éventuels indices de civilisations extra-terrestres parmi les signaux captés par le radio-télescopetélescope d'AreciboArecibo, à Porto Rico. Actuellement, ce projet distribue le travail d'analyse des signaux à plus d'un demi-million de volontaires, chacun acceptant de faire travailler pour SETI@home son ordinateur personnel aux moments où celui-ci est inoccupé. D'autres exemples analogues, où l'on répartit des calculs assez simples mais très volumineux sur un grand nombre d'ordinateurs personnels volontaires, sont le projet Great Internet MersenneMersenne Prime Search, à la recherche de très grands nombres premiersnombres premiers, ou, en France, le Décrypthon qui a mobilisé pour quelques mois, jusqu'en mai 2002, environ 75 000 internautes volontaires afin de comparer les séquences des quelque 500 000 protéinesprotéines connues du monde vivant.

    Bien que ces réseaux de calcul distribué ne constituent pas des grilles à proprement parler - le calcul est réparti par une autorité centrale, les ordinateurs participants sont de simples exécutants et n'ont pas la possibilité d'utiliser le réseau pour leurs propres besoins - ils illustrent la grande puissance informatique et les bénéfices que l'on peut attendre des grilles. Des puissances de plusieurs dizaines de téraflopstéraflops (1 téraflops = 1012 flops ou 1012 opérations en virgule flottante par seconde) ont ainsi été obtenues dans le cadre de ces initiatives, chose inimaginable il y a seulement une dizaine d'années.

    La recherche française et l'INRIA

    La mise au point et la standardisation des infrastructures de grille nécessitent de nombreux efforts de la part de la communauté informatique mondiale. En France, une part importante des recherches sur les grilles informatiques sont menées au sein de l'INRIA. Au moins cinq équipes de cet institut sont fortement impliquées (projets APACHEAPACHE, OASIS, PARIS, ReMaP et RESO), en collaboration avec divers partenaires du monde scientifique ou industriel. Mais beaucoup d'autres équipes de l'INRIA ont des activités concernant de près ou de loin le domaine des grilles, que ce soit dans le cadre de projets propres à l'institut, dans le cadre de l'action concertée incitative GRID (Globalisation des ressources informatiques et des données) lancée en 2001 par le ministère de la Recherche, dans le cadre du réseau national de recherche en télécommunications (RNRT, mis en place en 1997) ou dans le cadre du réseau national de recherche et d'innovation en technologies logicielles (RNTL, mis en place en 1999