Du projet SETI@home à BOINC

Performances des ordinateurs (III)

Le logiciel client de SETI@home tourne aujourd'hui sur la plupart des plate-formes : BSD, Darwin, Linux, SunOS, Mac, Windows, etc. La première version tournait même sous MS-DOS.

A l'époque, SETI@home comparaissait les performances des ordinateurs sur base du nombre d'unités de travail par unité de temps. Ainsi un Pentium III prenait environ 18 heures pour traiter une unité de travail et se voyait gratifier d'un point. Aujourd'hui ce calcul n'est plus possible car les statistiques de tous les projets doivent être comparables sous BOINC. C'est pourquoi la nouvelle version SETI Enhanced exploite la notion de "crédit" plutôt que celle d'unité de travail. On y reviendra.

Contrairement au passé, il n'y a plus tellement de différence entre processeurs car le temps de traitement dépend du taux angulaire des unités de travail. On peut encore juste comparer les unités de travail avec le taux angulaire mais la durée de traitement n'est plus une base de référence pour établir un bon comparatif (benchmark). Ainsi le même Pentium III peut aujourd'hui traiter une unité en 18 heures comme cela peut durer... 120 heures !

En général, un système tournant entre 1-1.2 GHz mettra entre 1 heure et 65 heures pour traiter une unité de travail. Un système de 2.4 à 2.8 GHz mettra entre 0.5 et 20 heures tandis qu'un systsème de plus de 3 GHz mettra entre 0.3 et 10 heures pour traiter la même unité.

Aujourd'hui, la puissance de SETI@home est supérieure à celle de n'importe quel superordinateur. En effet, la capacité globale de calcul de son réseau constitué de plus d'un million d'ordinateurs dont une majorité cadencé à plus de 1 GHz dépasse 200 TeraFLOPS[1]

Globalement, en 2006 SETI@home était 3 fois plus rapide que le NEC SX-8 de 65 TFLOPS considéré comme le superordinateur le plus performant (il est utilisé dans les centres météo), et loin devant les 12.3 TeraFLOPS du fameux Asci White d'IBM (un RS/6000 SP qui sera porté à 100 TeraFLOPS en 2007) ! La puissance de calcul a atteint un niveau jamais égalé dans l'histoire de l'informatique et il est probable que son inventeur verra un jour son nom dans les livres d'histoire. Et pour cause.

L'informatique distribuée s'est avérée si performante que plusieurs dizaines d'autres projets ont vu le jour. On en reparlera page suivante.

A l'heure des processeurs Intel Pentium 6, Itanium (E8870) et autre G5 cadencés à quelques gigahertz, un utilisateur peut analyser plusieurs unités de travail par jour et renvoyer ses données à Berkeley en quelques secondes s'il dispose d'une connexion ADSL.

La puissance d'Internet réside notamment dans le fait qu'il est accessible à tous, bon marché et qu'à travers des logiciels clients installés en n'importe quel point du monde, le système permet d'utiliser toute l'infrastructure informatique connectée au réseau; c'est l'informatique distribuée. Ce partage des tâches a fait le succès de BOINC et des applications distribuées qui se comptent aujourd'hui par dizaines. Document Islight/Lombry.

Que vous coûte cette activité ? Un ordinateur bien sûr, le coût en électricité est dérisoire, quant à la ligne téléphonique, elle fait généralement partie d'un forfait à quelques dizaines d'euros par mois. Aussi le défi est-il oh combien passionnant si un jour votre logiciel découvre quelque chose de suspect !

Si on analyse le temps CPU global consacré à SETI@home par les différents pays, aux trois premières places du classement établi par BOINC se trouvent les Etats-Unis, l'Allemagne et l'Angleterre, du fait de leur grande population et leur intérêt pour Internet. Ce classement est inchangé depuis plusieurs années. Le Canada vient en 4eme place, suivi du Japon, de l'Australie et de la France. La Suisse est 18eme, la Belgique 20eme et le Luxembourg 54eme. La Chine a fait son entrée en 26eme place et a déjà gagné 15 places en 2 ans ! Les moins actifs sont évidemment les pays actuellement en guerre ou sous régime totalitaire (Sierra Leone, Lybie, Liberia, Grenade et Soudan).

Si nous établissons à présent un classement par utilisateur, l'équipe SETI.Germany qui a commencé timidement en 2000 est N° 1 depuis quelques années. Déjà en 2003 elle traitait en moyenne plus de 20000 unités par jour, dix fois plus que la France ! L'Alliance francophone, une émanation de BOINC France, est aujourd'hui en 5eme position devant la Planetary Society, HP, l'USAF, Microsoft ou IBM.

A gauche, les CPU les plus performants sont situés au-dessus à droite du graphe. Ils sont équipés de cache de second niveau de 1 ou 2 MB et d'un bus très rapide. Par ailleurs un processeur ayant trop de cycles d'attente sera peu performant car il perdra son temps à attendre la réponse de la mémoire. Actuellement les PC les plus rapides sont les AMD Athlon 64, Intel Pentium 6, Sun Enterprise 5500, Sun Ultra 80 et PowerMac G5. A droite, en 2006, soit après 7 ans d'exploitation, SETI@home avait atteint près de 10 milliards de crédits et équivaut à un superordinateur de 200 TFLOPS, trois fois plus rapide que le NEC SX-8 ! Bravo Internet ! Mais sur les 500000 inscrits au projet à peine 160000 sont actifs en permanence. Un graphique similaire est disponible sur BOINCstats. Documents SETI bench et BOINC Synergy.

Mais si on effectue un tri sur la vitesse de traitement, étonnemment ce sont souvent les petits pays (Pitcairn, Niger, Tuvalu, Mongolie, Antarctique, etc) qui viennent en tête avec une moyenne de 4 heures de traitement par unité de travail du fait que les quelques dizaines d'amateurs de ces pays utilisent des ordinateurs récents cadencés à plus de 1 GHz.

Quant aux processeurs les plus rapides, on retrouve à la première place l'AMD Athlon 64 3200+ suivi de l'Intel Pentium 4 de 3 GHz, tout deux fonctionnant dans l'environnement Windows et en troisième place le Silicon Graphics IP35 pour l'environnement IRIX64. Le processeur i86PCAMD64 pour SunOS est en 9eme place, l'AMD Opteron pour Linux en 11eme place et le G5 (multicore PPC970MP de l'Apple Macintosh) pour Darwin est en 13eme place.

Le logiciel et les données ont dû être protégés en 2003 car quelques utilisateurs ont cru bon d'envoyer de fausses données signalant des émissions SETI à Berkeley ou ont amélioré certaines routines afin que le logiciel traite les transformées de Fourier plus rapidement. Mais en agissant de la sorte, ces utilisateurs pirates, parfois bien intentionnés, ne respectaient pas le protocole mis en place et bafouaient l'éthique même du projet qui reste, il ne faut pas l'oublier, un programme scientifique à part entière qui se doit de respecter un environnement de travail déterminé qui ne souffre aucune exception.

Jusqu'à la version BOINC, des utilitaires se greffaient sur SETI@home donnant des statistiques complémentaires. Aujourd'hui ces outils sont inutilisables et ont été repris par différents produits exploitant l'interface BOINC sur laquelle nous reviendrons dans un instant.

A consulter :  Statistics and leaderboards - Boing Combined Stats - Boing Stats

Si on réalise une FFT inverse d'une unité de travail (work unit) grâce à l'utilitaire WU2WAV de Jan Knutar, du temps de SETI@home "classic" (v3.08) on pouvait convertir les données numériques en son. Aujourd'hui, la plupart du temps vous n'entendez que le fond de bruit galactique mais qui sait, un jour, vous entendrez peut-être un WOAW ! Ci-dessus deux analyses spectrales d'une unité de travail traitées avec WU2WAV dont voici le fichier son. A gauche sous Skysweeper Pro, à droite sous Spectran. Beaucoup de bruit, quelques parasites, rien de suspect cette fois-ci.

Ressources système

Si en théorie le client SETI@home est transparent et n'affecte pas votre travail bureautique, infographique ou multimédia, ainsi que nous l'avons expliqué, le traitement des FFT est intensif et peut affecter le temps de réponse des ordinateurs peu performants sur lesquels vous avez installé des applications en même temps que la nouvelle version BOINC de SETI@home et éventuellement plusieurs autres projets que nous décrirons en dernière page.

Lorsque vous utilisez des applications bureautiques (traitement de texte, messagerie, Internet par exemple) et sollicitez donc peu le processeur, SETI@home en revanche va s'en accaparer et s'arranger pour l'utiliser à plus 90% de ses capacités. Il remplira également entre un quart et plus de trois-quarts de la mémoire vive selon votre paramétrage. Un ordinateur ayant en permanence au moins 20 à 30 processes actifs dont plusieurs occupant plus de 25% de la mémoire, même si SETI libérera l'espace mémoire qu'il utilise, cela crée des goulots d'étranglement et laisse peu de place pour les applications concurrentes les plus gourmandes.

Si vous constatez des anomalies sur votre ordinateur (temps de réaction très lent, appel constant au disque virtuel, blocage temporaire lors du passage d'une application à l'autre, etc), je vous conseille tout d'abord de ne lancer qu'une seule application bureautique à la fois (les plus grosses en tout cas), et donc de fermer les autres. Si le problème subsiste, détachez tous les projets sauf SETI@home, tant pis pour les autres, et n'abusez pas des graphiques, car toutes les 60 ou 90 minutes chaque changement de process va solliciter votre ordinateur.

Bien sûr l'idéal serait de remplacer cet ordinateur par un plus puissant, et pourquoi pas de sauter quelques générations jusqu'au processeur de 3 GHz, cache L2 de 512 KB, 1 GB RAM et au moins 100 GB d'espace disque... Rassurez-vous c'est devenu une configuration standard ! De toute façon, demain lui aussi sera dépassé !

Aujourd'hui un processeur de 3.5 GHz associé à 1 GB de RAM, une carte vidéo fast AGP ou PCI Express et un disque dur de 100 GB revient à environ 1000 € sans écran. C'est un excellent premier choix pour des applications graphiques et multimédia. Cette installation sera encore performante, bien que démodée, dans 3 ou 4 ans, où plus tard, selon votre usage.

Si vous êtes connecté sur plusieurs projets simultanément sous l'interface BOINC et désirez afficher les graphiques 3D, tout se passera bien tant que votre système est cadencé à au moins 500 MHz, dispose d'au moins 256 MB RAM, 50 GB de disque et utilise un système d'exploitation récent. Mais c'est vraiment une configuration minimum. Notons qu'il s'agit de la configuration d'un ordinateur de...1999 !

Voyons à présent les avantages de la plate-forme BOINC.

Prochain chapitre

La plate-forme BOINC

Page 1 - 2 - 3 - 4 - 5 -


[1] 1 teraFLOPS = 1 milliard d'opérations en virgule flottante par seconde (ou 1000 Mips) = 2500 CPU Pentium cadencés à 450 MHz. Un PC cadencé à 1 GHz présente une capacité de calcul d'environ 1 GFLOPS mais la progression n'est pas strictement linéaire car elle dépend des performances des caches du processeur. Seuls des benchmarks peuvent déterminer les performances de calcul de votre ordinateur. Bien qu'on trouve dans la littérature "flop" au singulier - c'est devenu un néologisme - le terme devrait toujours s'écrire "FLOPS", avec "s", car c'est le diminutif de "seconde" (FLoating-point Operation Per Second) et en majuscule puisqu'il s'agit d'un acronyme. Le pluriel devrait s'écrire "FLOPSs" mais il est très peu répandu (et je ne l'utilise pas non plus).

Notons qu'une simple calculatrice de poche réalise en théorie une seule opération par seconde. Nous avons rarement besoin d'un temps de réponse plus rapide. Subjectivement, nous considérons que toute réponse affichée en moins de 0.1 seconde est instantanée. Cela permet d'attribuer aux calculatrices une performance d'environ 10 flops. Quant au méthodes de calculs manuelles (une division difficile), notre performance tombe en général à environ 1 milliflops. Ces performances sont bien sûr très différentes de celles de nos facultés neuromotrices.


Back to:

HOME

Copyright & FAQ