Le calcul distribué s'organise

Par CORINNE MANOURY.
915 mots
6 septembre 2000
(c) Le Monde, 2000.

Mis en réseau, de simples ordinateurs pourraient-ils un jour sérieusement concurrencer les supercalculateurs, ces machines capables d'effectuer jusqu'à plusieurs milliers de milliards d'opérations par seconde ? Incongrue au premier abord, la question prend une autre dimension une fois mesurée à l'aune de quelques récents exploits. Début juillet, une équipe de quatre chercheurs de l'université de l'Iowa et du Laboratoire national d'Argonne, près de Chicago, annonçait la résolution d'un problème mathématique complexe, le Nug 30, grâce à un millier d'ordinateurs reliés par Internet. Le calcul, qui aurait pris « dix ans sur un PC dernier cri », selon Jean-Pierre Goux, l'un des scientifiques impliqués, a ainsi pu être effectué en seulement sept jours.

Autre exemple, le projet SETIhome, dont l'objectif est de détecter une présence extraterrestre, dispose aujourd'hui d'un parc de plus de 2 millions de PC disséminés aux quatre coins de la planète pour analyser les quelque 50 billions d'octets collectés chaque jour par le radiotélescope d'Arecibo, à Porto Rico. L'ensemble représenterait une puissance de calcul de 12 téraflops, soit 12 000 milliards d'opérations par seconde. Or cette capacité de calcul est précisément celle d'un des supercalculateurs les plus performants, l'ASCI White d'IBM, dont l'implantation dans un laboratoire du ministère de l'énergie américain a débuté cet été.

Si la puissance est équivalente, qu'est-ce qui peut alors justifier l'achat d'une coûteuse et encombrante machine, surtout lorsque son plan de construction ne diffère pas vraiment de celui d'un système distribué ? « On n'oppose pas supercalculateur et calcul distribué », expliquent Ahmed Mouldahia et Jean-Marie Verdun, chez Compaq. Ils prennent pour exemple le supercalculateur que le constructeur vient de vendre au ministère de l'énergie américain. Ses 12 000 processeurs seront répartis sur 375 machines dites multiprocesseurs, elles-mêmes réunies en 32 machines « massivement parallèles ». Et, si les premières coopèrent en se répartissant le travail, les secondes effectuent de façon indépendante la part de calcul qui leur a été attribuée. Elles disposent en effet de leurs propres éléments et ne les partagent pas. Qu'elles soient côte à côte ou distantes et reliées par un réseau revient pratiquement au même.

Mais c'est bien la nature du réseau qu'il faut considérer: ouvert ou fermé, rapide ou au débit plus aléatoire. Si la confidentialité des données exclut l'utilisation d'Internet pour les applications stratégiques, militaires ou commerciales, la vitesse de communication entre les processeurs et la constance du temps de réponse ont également leur importance. « Les machines parallèles modernes ont des structures de communication très sophistiquées, qui permettent à chacun des processeurs de communiquer très vite avec les autres, explique Jean-Pierre Goux. Cet élément est fondamental dans de nombreuses applications. » Il cite celles qui consistent à résoudre des équations aux dérivées partielles comme les problèmes d'écoulement de fluide, qui interviennent dans des domaines aussi divers que le design de profils d'ailes d'avion et de voiture, l'analyse de turbulences ou la simulation d'explosions nucléaires.

« Les plates-formes de calcul distribué conviennent plus à l'analyse de données indépendantes ou aux applications qui ne réclament que des communications limitées entre les machines », poursuit Jean-Pierre Goux. Ce n'est pas le cas des simulations, qui font intervenir un grand nombre de variables, dépendants les uns des autres, et qui réclament un dialogue constant entre les différentes unités de calcul. Les algorithmes qui les gouvernent procéderaient en effet par division de la zone d'étude en cellules avant d'assigner le traitement de chacune à un processeur.
Le problème du temps de réponse se comprend aussi dans le cadre de la simulation. Il a besoin d'y être garanti. Un météorologue, par exemple, doit savoir dans quel délai il peut formuler ses prévisions et pouvoir compter sur la reproductibilité de ses calculs. Or, dans un système réparti et hétérogène, « c'est le maillon le plus faible qui dicte la performance », remarque Pascal Nicolle chez IBM, qui met l'accent sur la qualité du protocole de communication entre les machines élémentaires et la capacité de débit des canaux qui les relient dans les supercalculateurs. Jean-Pierre Goux note cependant que, sur ce terrain, certains parcs de machines administrés avec des systèmes comme Linux ou Windows NT commenceraient à concurrencer les calculateurs massivement parallèles.

Reste alors la question du stockage des données, qu'évoque Victor Allessandrini, directeur de l'Idris, l'Institut du développement et des ressources en informatique scientifique du CNRS. « Lorsqu'on ne produit pas ou [lorsqu'on produit] peu de données, comme dans le cas du calcul des nombres premiers, on peut répartir la tâche sur 200 à 300 PC, dit-il. Mais les quelque 500 projets scientifiques qui utilisent les ressources de l'Idris produisent jusqu'à plusieurs centaines de gigaoctets par jour. » Pour cette raison, il ne croit pas à une informatique totalement distribuée sur de petites machines. L'évolution, il la voit plutôt dans le sens d'un calcul réparti sur des ressources complémentaires, un mariage de machines douées pour la rapidité, la visualisation des données ou le stockage. « D'ailleurs, remarque-t-il, le problème n'est plus matériel, mais logiciel et humain. Les logiciels ne sont pas à la hauteur. Et, plus on répartit, plus il faut d'informaticiens pour faire tourner le système. »