Contacter l'auteur / Contact the author

Recherche dans ce site / Search in this site

 

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 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 processeur Intel i7 multicoeurs peut aujourd'hui traiter une unité en 1 heure comme cela peut durer... 20 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 système de plus de 3 GHz mettra entre 0.3 et 10 heures pour traiter la même unité.

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.

Aujourd'hui (2013), 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 de 300000 ordinateurs réellement actifs dont une majorité cadencés entre 2 et 3 GHz dépasse 637 teraFLOPS[1] !

Globalement, SETI@home est 4 fois plus rapide que le NEC SX-8R de 140 TFLOPS installé chez Météo-France en 2007 et à peine moitié moins rapide que le superordinateur PLEIADES de 1.24 PFLOPS de la NASA !

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.

Avec un processeur Intel Core-i7 à 12 coeurs (cores) cadencés à 3.6 GHz, un utilisateur peut analyser jusqu'à une centaine d'unités de travail par jour et renvoyer ses données à Berkeley en quelques secondes s'il dispose d'une connexion à haut débit (souvent en fibre optique).

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 !

En 2013, si on analyse le temps CPU global consacré à SETI@home par les quelque 11300 équipes actives (sur plus de 61800 inscrites), aux trois premières places du classement établi par BOINC se trouvent l'équipe internationale GPU User Group (73 membres dont beaucoup d'Américains et de Canadiens) dont les utilisateurs ont dédié leur(s) ordinateur(s) à SETI, suivi par SETI.USA (18000 membres) et SETI.Germany (près de 28000 membres). Déjà en 2003 l'équipe d'Allemagne traitait en moyenne dix fois plus d'unités par jour que l'équipe représentant la France !

 L'Alliance francophone (plus de 10000 membres) arrive en 6eme place. Parmi les autres équipes nous retrouvons de grands noms comme l'US NAVY (26eme), Intel (30eme), l'Association Carl Sagan (38eme), les opérateurs radioamateurs (43eme), l'US Air Force (47eme), l'US Army (55eme), Mensa (85eme), Microsoft (101eme), IBM (118eme), Apple (122eme), la NASA (247eme) et Sky & Telescope (316eme). Les pays les moins actifs sont évidemment ceux actuellement en guerre ou sous régime totalitaire (Sierra Leone, Lybie, Liberia, Grenade et Soudan).

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 machines les plus rapides tournent sous Windows et sont équipées d'un processeur Intel Core i-7 à 8 et 12 coeurs (core) de 3.2 à 3.6 GHz. 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 superordinateur NEC SX-8 ! Bravo Internet ! Mais sur les 1.4 millions d'inscrits au projet à peine 10% sont actifs en permanence. Un graphique similaire est disponible sur BOINCstats. Documents SETI bench et BOINC Synergy.

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 (hôtes) les plus rapides, on retrouve aux 15 premières place les Intel Core i7-X de 3.2 à 3.6 GHz à 8 et 12 processeurs. Les cartes graphiques les plus rapides (GPU) sont les Nvidia GeForce GTX 780, 690 et 570.

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 de l'ordinateur sur lequel vous lancez simultanément des applications lourdes, SETI@home et éventuellement plusieurs autres projets.

Lorsque vous utilisez des applications bureautiques (traitement de texte, messagerie, Internet par exemple) et sollicitez donc peu le processeur, selon les préférences définies dans l'interface BOINC (voir page suivante), SETI@home va s'en accaparer et utiliser le CPU et/ou le GPU au maximum de ses capacités comme on le voit sur cette image montrant les performances d'un système multiprocesseur (Intel i7). L'application utilisera également la mémoire proportionnellement au paramétrage défini dans BOINC.

Un ordinateur de dernière génération ayant en permanence une centaine de processus 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. Il faut donc trouver un juste équilibre en toutes les applications (accordez 25% à 50% des ressouces aux autres applications) que vous utilisez pour ne pas être pénalisé lorsque vous lancez un traitement, y compris un accès disque.

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), dites-vous que votre système manque de ressources et n'est pas assez puissant.

Vous pouvez soit réduire les ressources systèmes réservées à SETI@home soit réduire le nombre d'applications graphiques ou avides de processeur ouvertes simultanément. Si les lenteurs persistent et avez lancé d'autres projets sous BOINC Manager, suspendez ou retirez un ou plusieurs projets et n'abusez pas des graphiques, car toutes les 60 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 multicoeur de 3 ou 4 GHz, 8 à 16 GB RAM et au moins 1 TB d'espace disque... Rassurez-vous c'est devenu une configuration standard ! De toute façon, demain lui aussi sera dépassé !

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). Un ordinateur cadencé à 1 GHz et monoprocesseur 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. Cf. le palmarès du TOP500 des superordinateurs les plus rapides du monde.

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