FLASH INFORMATIQUE FI



Des petits hommes verts au numéro 1 du top500




Vincent KELLER

Michela THIEMARD


Le projet Seti@Home

Le projet Seti@Home (Search for Extra-Terrestrial Intelligence) a débuté officiellement le 17 mai 1999. Il s’agit ni plus ni moins que de découvrir le premier signal extraterrestre intelligent . Ce projet est la continuation logique du projet OZMA [1] du NRAO (National Radio Astronomy Observatory) débuté en 1960. Le radiotélescope d’Arecibo sur l’île de Puerto Rico (voir figure 1) enregistre toutes les ondes émises par l’univers sur une plage de fréquence de ± 2.5 MHz autour de la raie de l’hydrogène (1420 MHz). Cette plage de fréquence a été choisie, car elle représente une trouée dans la brume radio de l’univers, on dit qu’elle constitue le trou d’eau (waterhole) [1]. En 3 ans, la durée du projet, le radiotélescope d’Arecibo a couvert trois fois la partie du ciel qui lui est visible, représentant 39 Tbytes de données.

JPEG - 11.1 ko
fig. 1
Radiotélescope d’Arecibo (Puerto Rico)

Des données parfaitement indépendantes

Les observations recueillies par le radiotélescope peuvent être séparées en bandes de fréquences indépendantes et chacune d’entre elles décomposées en petits paquets à traiter, indépendants les uns des autres. Le traitement consiste en une décomposition FFT (Fast Fourrier Transform) suivie par une transformée inverse. On peut donc très facilement créer une application qui se chargera de traiter un paquet de données de façon indépendante. On appelle ce type d’application embarassingly parallel (parallélisme indépendant).

Une architecture adaptée

La quantité de données étant gigantesque, mais chaque paquet de données étant indépendant d’un autre, on peut très bien diviser en petits paquets l’intégralité des mesures d’un jour (la granularité choisie est de 10 KHz), de manière à ce que ces paquets soient traitables par un ordinateur personnel. Une architecture client-serveur est donc parfaitement adaptée : le serveur distribue les paquets aux clients, ces derniers les analysent et renvoient les résultats au serveur. Ceci correspond donc à faire du calcul distribué.

Le plus grand supercalculateur du monde

JPEG - 5.6 ko
fig. 2
BlueGene/L numéro 1 du top 500 ... vraiment ?

Un des nombreux rêves des informaticiens dans le domaine du HPC est de récupérer à bas prix la puissance dormante des millions d’ordinateurs connectés à Internet. Évidemment, si l’on additionne trivialement chaque Flop à disposition, on obtient ni plus ni moins que l’ordinateur le plus puissant de la planète, pour autant que les applications soient adaptées à l’architecture. De ces deux constatations - données totalement indépendantes et puissance dormante - est né le projet Seti@Home .
Au début 1997, le projet Seti@Home n’était qu’un simple client à télécharger (un économiseur d’écran pour les machines à base de Microsoft Windows et un petit utilitaire console sous Linux). L’utilisateur désirant participer au projet laissait le programme utiliser la puissance de sa machine, lorsqu’il ne s’en servait pas, pour la recherche d’un signal extraterrestre. En 3 ans (la durée du projet initial), le nombre d’utilisateurs a dépassé les 2 millions.

De Seti@Home à BOINC

Après 3 ans de collecte d’informations à Arecibo et suite à des problèmes financiers, la question s’est posée de savoir si le projet devait continuer, à savoir enregistrer des données dans une autre portion du ciel. Ayant répondu par l’affirmative, le plus grand radiotélescope de l’hémisphère austral a été mis à disposition pour recueillir de nouvelles données (toujours sur la même plage de fréquence) à Parkes en Australie.
Malheureusement, la version de Seti@Home n’était capable d’analyser que les données enregistrées à Arecibo. Berkeley a donc fait table rase de son ancienne architecture et a développé une base beaucoup plus modulaire, plus généraliste : BOINC (Berkeley Open Infrastructure for Network Computing). Seti@Home tel qu’on peut l’utiliser aujourd’hui n’est qu’une couche supplémentaire à BOINC.

BOINC

Depuis 2003, l’architecture BOINC est utilisée par divers projets du type calcul distribué : de Seti@Home à LHC@Home (analyse des Tbytes du Large Hadron Colider du CERN) en passant par Folding@Home (pliage des protéines), Predictor@Home (biologie moléculaire), ClimatePrediction (déterminer le climat de la Terre pour les 100 prochaines années), Einstein@Home (détection de pulsars) et d’autres en devenir. Cette architecture autorise l’utilisateur à partager son temps CPU inutilisé entre plusieurs projets BOINC. Elle permet également d’offrir une partie de son espace de stockage (disque dur) à la communauté. Le nombre d’utilisateurs de BOINC croît en moyenne de 20 % tous les 6 mois.
Vous pouvez vous aussi créer un projet BOINC afin de récupérer les ressources inutilisées de votre parc informatique. Cependant, votre application doit avoir certains critères : parallélisme indépendant, tolérance aux fautes (gérer la redondance des calculs), intérêt pour le reste du monde (intéresser des clients). BOINC offre l’API C/C++ ainsi que toute la partie serveur, y compris le serveur Web de votre projet (voir fig. 3). À noter qu’il est également possible d’interfacer une application écrite en Fortran.

JPEG - 8.5 ko
fig. 3
BOINC schématiquement : serveur et client

BOINC est sous LGPL [2].
BOINC a introduit un nouveau terme dans la jungle du calcul scientifique : le public computing. Mais que le lecteur ne s’y méprenne pas, il s’agit simplement d’une architecture clients-serveur, BOINC ne peut aucunement être assimilé à une architecture pair-à-pair.

Peer-to-peer or not ?

Dans le cadre du calcul distribué, calcul parallèle particulier consistant à répartir un ensemble de données à traiter sur divers sites, généralement diverses machines de type hétérogène, on distingue deux types d’architecture : l’architecture clients-serveur et l’architecture pair-à-pair (peer-to-peer, p2p) (voir fig. 5).

JPEG - 9.5 ko
fig. 5
deux architectures pour le calcul distribué
  • L’architecture clients-serveur est centralisée. Elle est constituée d’un serveur et de multiples clients. Les clients ne connaissent que le serveur et s’y connectent pour récupérer une partie du travail à exécuter. BOINC en est un exemple.
  • L’architecture pair-à-pair est une extension de l’architecture clients-serveur. Chaque nœud de l’architecture est à la fois client et serveur, c’est une paire (client, serveur) communément appelée servent. Il s’agit d’une architecture décentralisée. Chaque servent ne connaît qu’une partie du système (ses plus proches voisins) jusqu’à un niveau donné. Les spécifications GNUTella sont un exemple de réseau pair-à-pair. Actuellement, les infrastructures de calcul basées sur cette technologie n’existent pratiquement pas. On a comme exemple de projets qui tentent de s’en approcher, Jalapeno ou encore XtremWeb-CH (lire aussi dans ce numéro). L’application la plus connue du pair-à-pair reste bien évidemment le partage de fichiers : les réseaux E-mule ou KaZaa sont bien connus des plus jeunes d’entre nous.

Vers le grid...

De l’idée de récupération des cycles dormants ou de la mise à disposition d’une partie de son espace de stockage privé au Grid computing il n’y a qu’un pas. On ne saurait être complet dans cet article sans mentionner le projet Lattice.
Le projet Lattice, de l’université du Maryland, préfigure l’architecture du Grid computing de demain (voir fig. 4). Il comprend dans une même grille de calcul des machines parallèles (SX-5, BlueGene, etc.), des clusters de PC (comme Pleiades ou Mizar) et finalement des machines connectées à Internet utilisant l’architecture BOINC. Il est construit autour du middleware Globus Toolkit ainsi que du scheduler Condor-G.

JPEG - 4.2 ko
fig. 4
Architecture du projet Lattice

Conclusion

Nous l’avons vu, dans le domaine des applications totalement distribuées, BOINC offre une plate-forme intéressante et permet de récupérer les cycles non utilisés des machines d’un parc. Les divers projets à base de BOINC sont là pour le prouver. Malheureusement, le calcul scientifique ne se résume pas à ce type d’applications. Pour une grosse application, par exemple CFD (Computational Fluid Dynamics), vous aurez toujours besoin d’une imposante machine parallèle avec un réseau d’interconnexion rapide, peut-être même d’une mémoire partagée pour obtenir des résultats en un temps décent.
Le projet Lattice est en ce sens le plus avancé. Il tente d’offrir sur une même grille tous les types de machines pour du calcul scientifique. Le point faible réside dans le scheduling des différentes applications : Condor-G ne connaissant pas leur comportement, comment savoir si une application donnée doit s’exécuter sur le pool BOINC ou sur le SX-5 ? Le projet ISS (Intelligent grid Scheduling System) [2]) mené actuellement entre l’EPFL, le CSCS et l’EIA de Fribourg tente de combler ce manque.

Références

[1] Frank Drake. Project Ozma the search for extraterrestrial life. Proceedings of the NRAO Workshop held at the National Radio Astronomy Observatory, Green Bank, West Virginia, Workshop No. 11, pages 17 - 26, 1985.
[2] Ralf Gruber, Marie-Christine Sawley, et Pierre Kuonen. Le Grid EPFL, déploiement et évolution. EPFL - FI4/2003, dit.epfl.ch/publications-spip/article.php3 ?id_article=138
[3] Eric Kopela, Dan Wertheimer, David Anderson, Jefl Cobb, and Matt Lebofsky. Seti@home - massively distributed computing for seti. Computing in Science & Engineering, 3(1):78 - 83, Jan-Feb 2001.

[1] La bande de fréquence radio située entre la raie de l’hydrogène (H) à 1420 MHz et celle de l’hydroxyle (OH) à 1662 MHz est appelée trou d’eau. Cette bande se trouve dans le spectre radio dans lequel il y a relativement peu de bruit provenant des sources stellaires naturelles, de façon à ce qu’une exocivilisation puisse émettre à moindre puissance en direction de la Terre, tout au moins réussir une communication interstellaire directionnelle.

[2] Lesser GNU Public License



Cherchez ...

- dans tous les Flash informatique
(entre 1986 et 2001: seulement sur les titres et auteurs)
- par mot-clé

Avertissement

Cette page est un article d'une publication de l'EPFL.
Le contenu et certains liens ne sont peut-être plus d'actualité.

Responsabilité

Les articles n'engagent que leurs auteurs, sauf ceux qui concernent de façon évidente des prestations officielles (sous la responsabilité du DIT ou d'autres entités). Toute reproduction, même partielle, n'est autorisée qu'avec l'accord de la rédaction et des auteurs.


Archives sur clé USB

Le Flash informatique ne paraîtra plus. Le dernier numéro est daté de décembre 2013.

Taguage des articles

Depuis 2010, pour aider le lecteur, les articles sont taggués:
  •   tout public
    que vous soyiez utilisateur occasionnel du PC familial, ou bien simplement propriétaire d'un iPhone, lisez l'article marqué tout public, vous y apprendrez plein de choses qui vous permettront de mieux appréhender ces technologies qui envahissent votre quotidien
  •   public averti
    l'article parle de concepts techniques, mais à la portée de toute personne intéressée par les dessous des nouvelles technologies
  •   expert
    le sujet abordé n'intéresse que peu de lecteurs, mais ceux-là seront ravis d'approfondir un thème, d'en savoir plus sur un nouveau langage.