(c) LUXORION

 

Du projet SETI@home à BOINC

La plate-forme BOINC (IV)

Depuis l'an 2000, le projet SETI@home a couvert la plus grande partie du ciel visible d'Arecibo et démontré la validité de son approche dans l'analyse des données. Mais en l'espace de deux ans d'exploitation les caisses de l'institut se sont vidées et en 2002 SETI relança ses donateurs privés.

Mais comment pourrait-on arrêter SETI ? Etait-ce envisageable ? Vu le nombre de participants et la qualité des analyses, il n'en était pas question. Début 2002, David Anderson et Dan Werthimer pensaient que SETI@home pouvait renaître tel le Phoenix et traiter les signaux radios d'un autre radiotélescope, celui de Parkes installé en Australie par exemple, qui permettrait de couvrir un angle de 70° sur la voûte céleste. Les scientifiques étaient prêts, de même que les installations, restait à financer le projet.

Document L.Cook.

Le groupe de Berkeley pensait également améliorer l'analyse spectrale et étendre plus tard le projet aux données d'autres observatoires répartis autour du monde. Les idées ne manquaient pas et le planning était donc bouclé.

Mais il restait un problème technique à surmonter, et pas des moindres. Jusqu'en 2006 le client SETI@home reposait sur les seules données enregistrées à Arecibo et ce manque de flexibilité entravait le projet. En effet, le programme recherchait par exemple des signaux gaussiens qui durent environ 12 secondes, parce que c'est le temps qu'il faut à l'antenne d'Arecibo pour scanner n'importe quel point du ciel. Il n'était pas question de lui demander de rechercher des pulses d'une durée différente. Ce paramètre était en fait "hardcodé" dans l'application. 

De la même manière, l'analyse s'effectuait rapidement lorsqu'il s'agissait de traiter un signal de 2 bits, comme étaient alors formatées les unités de travail envoyées aux utilisateurs. Mais si on voulait augmenter la sensibilité du système et travailler sur 8 bits par exemple, l'unité de travail ne pouvait pas être traitée sur les PC car elles n'étaient pas reconnues par le logiciel client. En fait toute donnée déviant des paramètres définis dans l'application n'était tout simplement pas traitée. Il en résultait que le client SETI@home v3.08 ou v4 ne pouvait pas analyser de données provenant d'un autre observatoire ni utiliser d'autres instruments que ceux pour lesquels il était programmé.

Par exemple, SETI@home ne pouvait pas collecter les signaux SETI de l'observatoire australien de Parkes parce que les paramètres et les instruments utilisés sont très différents de ceux d'Arecibo. Pour les analyser, la communauté des utilisateurs de SETI@home devait télécharger une nouvelle version du client, spécialement conçue pour traiter les signaux de Parkes. Mais en faisant cela, on ne pouvait plus traiter les signaux d'Arecibo...

Arecibo. Document NAIC.

Il fallait donc améliorer le système et le rendre plus souple. C'est pourquoi David Anderson et son équipe ont développé BOINC, le "Berkeley Open Infrastructure for Networking Computing". Le produit fut distribué en 2003.

Comme l'ancienne version, cette interface fonctionne lorsque le processeur de votre ordinateur n'est pas utilisé et remplace optionnellement votre économiseur d'écran (screensaver).

BOINC est une plate-forme, un environnement multi-processeurs qui fonctionne en temps partagé; il est capable de gérer plusieurs projets simultanément, partageant le temps CPU entre plusieurs projets. Des variables sont attribuées à chaque unité de travail afin de déterminer le temps exact pris par chaque projet.

Chaque unité de travail est traitée trois fois avant que le système ne passe la main au process suivant, le projet en cours étant suspendu. Il ne s'agit pas donc pas de réel time-sharing, sauf si vous assignez physiquement un CPU par projet si votre ordinateur le permet.

La version BOINC de SETI@home appelée "SETI Enhanced" est paramétrée de telle sorte que la bande passante du signal analysé, le taux angulaire ou le niveau de sensibilité de l'enregistrement (2 ou 8 bits, etc) n'est plus encodé en dur dans l'application ce qui offre plus de souplesses aux les programmeurs de Berkeley. 

En effet, les paramètres font à présent partie de l'information fournie avec chaque unité de travail. 

Les données du radiotélescope de Parkes seront bientôt reconnues au même titre que celles d'Arecibo par le client SETI@home tournant sous BOINC.

Ainsi, une unité de travail provenant d'Arecibo dira au programme client qu'elle a été enregistrée avec une sensibilité étalée sur 2 bits et que la largeur du beam est de 12 secondes. Une unité de travail provenant de Parkes ou de tout autre observatoire et enregistrée à une plus haute résolution contiendra d'autres paramètres auxquels s'ajustera automatiquement SETI@home.

Aujourd'hui vous ne pouvez plus utiliser l'ancienne version 4 du client SETI@home, elle a été abandonnée au profit de la nouvelle interface SETI Enhanced. Comme toutes les applications distribuées vous pouvez l'installer directement à travers l'interface BOINC manager que vous pouvez télécharger chez BOINC.

Télécharger le client BOINC

La convergence des applications distribuées vers BOINC

Depuis 2006, SETI@home fonctionne exclusivement sous BOINC et les deux systèmes y ont gagné : SETI@home tire avantage de la flexibilité de l'environnement BOINC, cette interface devenant un noyau de plus en plus prisé pour la gestion des "grid applications" comme on les appelle, les applications distribuées.

En effet, parmi tous les projets actuellement supportés par BOINC citons notamment :

- Astronomie : SETI@home

- Physique : Einstein@home, LHC@home, Quantum Monte Carlo@home (QMC), uFluids, Nano-Hive@Home

- Sciences de la Terre : Climateprediction.net, Seasonal Attribution Project, BBC Climate Change Experiment

- Biologie et Médecine : Predictor, Tanpaku, SIMAP, Malariacontrol.net, Rosetta@home

- Chimie : Spinhenge@home

- Mathématiques : PrimeGrid, Riesel Sieve, SZTAKI Desktop Grid, Rectilinear Crossing Number

- Jeux de statégies : Chess960@Home.

Il faut y ajouter des analyseurs de performances de l'interface BOINC et des applications-tests.

A lire : Le projet PlanetQuest

Trois grid applications tournant dans l'environnement BOINC sous Windows. De gauche à droite Climateprediction, Einstein et Spinhenge. Documents T.Lombry.

Certains parmi ces projets n'acceptent plus d'utilisateurs par manque de ressources système. Lorsque les problèmes seront résolus, les nouvelles inscriptions seront à nouveaux acceptées. Consultez les sites respectifs pour en savoir plus.

Enfin, IBM a également développé un concept équivalent à BOINC avec son "World Community Grid" à vocation humanitaire dont GRID est le fer de lance. On peut toutefois regretter qu'il n'ait pas été intégré à BOINC.

Paramétrage de BOINC

En pratique, si vous avez déjà souscrit au client SETI@home, votre compte sera simplement transféré sous BOINC tout en restant actif sous l'ancienne application. Vous recevrez un nouvel account ID par email qui devra être mentionné ainsi que l'URL de Berkeley (http://setiathome.berkeley.edu) dans l'interface BOINC Manager (Menu "Tools", Attach to projet... ou pour la version française "Outils", Rejoindre un projet). 

La langue du logiciel dépendra des paramètres que vous aurez configurés dans votre Explorer Internet (sous IExplorer, via le menu "Tools", Internet Options, Languages, choisir French plutôt qu'English ou installer la langue qui convient).

Lorsque le projet sera activé, le nombre d'unités de travail SETI déjà traitées sera simplement réinitialisé à 0 sous BOINC sans affecter le compteur original.

L'interface SETI Enhanced sous BOINC vous propose des fonctions supplémentaires par rapport à l'ancien client SETI@home. Elle vous offre par exemple la possibilité de définir la capacité disque réservée à chaque application, la bande passante du réseau, la durée de téléchargement, le temps de travail, l'occupation mémoire ou les options d'affichage. Tous ces paramètres sont définis dès l'initialisation du programme que vous pouvez lancer dès le démarrage de l'ordinateur (sous Windows, en copiant un raccourci dans le répertoire "Startup" de l'utilisateur).

Si vous désirez modifier les paramètres de SETI Enhanced ou de BOINC par la suite, ne les cherchez pas sur votre ordinateur, ils n'y sont pas... Pour SETI@home vous devez aller sur le site de Berkeley et choisir "Your account". Procédez de même pour les autres projets.

A l'inverse de l'ancien client Windows de SETI@home, la fenêtre graphique n'apparaît pas au lancement de BOINC Manager, ce dernier ne faisant que gérer et traiter les données des différents projets installés. Pour afficher le graphique, vous devez tout d'abord attacher (charger) le projet SETI@home sous BOINC puis sélectionner l'onglet "Tasks", choisir le projet SETI@home et appuyer sur la commande "Show graphics" si elle est activée. La même procédure s'applique aux autres projet.

A gauche l'interface BOINC permet de gérer plusieurs projets distribués simultanément. A droite la nouvelle interface tridimensionnelle et customisée de SETI@home écrite en OpenGL pour BOINC.

Les personnes habituées à la version "classique" de SETI@home ne seront pas dépaysées par la version SETI Ehanced sous BOINC. Elle tire avantage du langage OpenGL et présente une interface en trois dimensions que vous pouvez agrandir et orienter dans toutes les directions grâce à la souris.

Le GUI est personnalisable et vaut assurément le détour. Les autres projets se paramétrisent de manière analogue dans la mesure où ces options ont été implémentées, ce qui n'est pas toujours le cas.

La version SETI Enhanced est environ 10 fois plus sensible que l'ancienne version 3 ou 4. Cette version améliorée est également très bien optimisée. Bien qu'elle paraisse plus lente dans l'absolu que la version précédente car les taux angulaires sont différents, la nouvelle version analyse réellement plus de données que la version antérieure, et à taux angulaire constant elle est deux fois plus rapide que l'ancienne version.

Unités de travail et crédits

Pour les statistiques, ainsi que nous l'avons évoqué, il a fallu remplacer le nombre d'"unités de travail" par les "crédits". Ceci parce que la plate-forme BOINC est un planificateur de tâches, un scheduler gérant différents projets. Chaque projet dispose de sa propre méthode de traitement et les durées de calcul sont très variables. Ainsi le projet "Climate prediction" doit tourner plus d'un mois non stop pour traiter une seule unité de travail alors que sur la même machine SETI requiert 8 heures et SIMAP à peine 1h30.

Afin que les performances puissent être comparables entre projets et qu'on puisse établir un comparatif (benchmark) entre les machines, le nouveau système tient compte des performances de calcul de l'ordinateur indépendamment du temps de traitement. Bien que les unités de travail aient toujours une taille de 354 KB sous Windows, elles se différencient par leur taux angulaire. De ce fait, une petite unité de travail (en terme de durée) recevra moins de crédits qu'une unité plus longue. En utilisant les crédits, produit du temps CPU par la puissance, on obtient une mesure réelle du temps de calcul du systèmeindépendamment du projet.

Ainsi le même Pentium III de 500 MHz qui présente une puissance de calcul de 0.4 TeraFLOPS (indice Whetstone) se voit dorénavant attribuer 65 crédits pour une unité de travail traitée en 32 heures alors qu'un ordinateur cadencé à plus de 3 GHz et présentant une puissance de calcul d'environ 3 TeraFLOPS reçoit au moins 200 crédits par unité traitée.

Le concept de crédit est en fait la seule solution pour établir des comparatifs objectifs dans un parc hétérogène de machines. Au début les crédits étaient basés sur un comparatif réalisé avec la version 4.x de SETI@home. La nouvelle interface SETI Enhanced utilise les fameux FLOPS : elle compte le nombre de FLOPS nécessaire au traitement d'une unité de travail tout en tenant compte du taux angulaire (AR) selon les relations suivantes dans lequelles TFLOPS s'exprime en teraFLOPS :

Si AR < 0.2255°,  TFLOPS = 3.54 (0.0327 * AR)

Si 0.2255°  £  AR  £  1.1274°, TFLOPS = 3.74 * AR -0.1075

Si AR > 1.1274°, TFLOPS = 3.37 * AR -0.0065

Sous BOINC Manager, le nombre de FLOPS de votre ordinateur s'affiche dans l'onglet "Messages" sous le message "Benchmark results". Ce calcul est établit une fois par session.

A partir de ce résultat le temps de calcul d'une unité de travail vaut :

Tcal = 278 (TFLOPS * CpF / MHz )

avec CpF le nombre de Cycle d'horloge Par FLOPS. Il tient compte de la vitesse du processeur et de la quantité de mémoire cache processeur de niveau 2 (L2). 

Pour chaque unité de travail renvoyée et validée, le système vous affiche le nombre de crédits et le temps total de traitement en secondes. Ce résultat est accessible via le bouton "Your results" de BOINC Manager qui vous transfert sur le site de SETI@home. A partir de ces données et de la formule précédente vous pouvez calculer la valeur de CpF.

A titre d'information, un ordinateur cadencé à 1100 MHz présente un CpF = 5.21. Une unité de travail représentant 4.10 TeraFLOPS correspond à un temps de calcul de 5h23m.

Avec ce nouveau système, les crédits sont mieux calculés qu'auparavant. Le système de comparaison présente toutefois quelques défauts; le résultat du benchmark est par exemple plus précis avec les systèmes disposant d'un petit cache processeur.

Dernier chapitre

Bénévolat et subsides

Page 1 - 2 - 3 - 4 - 5 -


Back to:

HOME

Copyright & FAQ