dimanche 30 décembre 2012

Histoires de FLOPS


Qu'est-ce qu'un FLOPS ? C'est un acronyme. Souvenez-vous, j'adore les acronymes.

Il signifie "FLoating-point Operations Per Second", ou en français « opérations à virgule flottante par seconde ». Notons que le S final est là pour Second, ce n'est pas un pluriel, on dit donc un flops, des flops.
(Je vais laisser tomber tout de suite les majuscules, c'est plus intime).

A quoi ça sert ? Beaucoup savent déjà que le flops est une unité de mesure de la puissance d'un ordinateur, ou pour être plus précis de sa capacité de calcul.

Pour faire très simple, une opération à virgule flottante est une opération au sens commun du terme (addition, soustraction, etc.) qui porte sur des nombres qui ne sont pas entiers, et qui donc tendent à posséder une virgule. En informatique, un nombre à virgule fixe se code 22,5, et c'est tout.
Un nombre à virgule flottante se code d'un coté 225, et à part la position de la virgule.
Ca prend un petit plus de place, mais ça permet de coder des tas de nombres différents : 2,25 ou 22,5 ou 0,00225 ou 25500 etc.
Pour les plus accros, voir la définition de wikipédia, dans laquelle personnellement je suis larguée dès la deuxième ligne.

En résumé un flops est, comme son nom l'indique, une opération mathématique par seconde.
Cette unité trouve son utilité pour les mesures de puissance des bien nommés super-calculateurs, des ordinateurs qui servent à résoudre des équations très compliquées, en et avec de très grands nombres, dans le domaine de la recherche scientifique.

Ceci pour dire que dans l'usage dit domestique d'un ordinateur, lorsque vous et moi vérifions l'addition sur le ticket de Carrefour, nous ne faisons jamais qu'une seule opération à la fois. Un temps de réponse inférieur à un dixième de seconde étant considéré par un (désespérément limité) opérateur humain comme instantané, une calculette simple n'a besoin que d'une dizaine de flops pour être considérée comme fonctionnelle.

C'est là que je voulais en venir avec ma nuance subtile entre puissance et capacité de calcul d'un ordinateur : les flops ne sont pas la panacée, et s'ils sont un sujet de préoccupation au CERN, par exemple, un architecte ou un designer s'en battent l'oeil et feraient mieux de se pencher sur leur carte graphique.

Ces réserves étant posées, les ingénieurs, informaticiens et chercheurs qui comme chacun sait sont de grands enfants, adorent jouer à qui a le plus gros, et adorent inventer des nouveaux mots, ont donné à la civilisation le Top 500 des super-calculateurs les plus puissants du monde, lequel ne saurait être pleinement apprécié sans ceci :

Faisons un peu de grec : kilo signifie "mille" en grec, ça tombe bien.
Mega signifie "grand", c'est mille fois mille, c'est à dire un million.
Giga signifie "géant", et égale un milliard, jusque là ça va.

Téra vient du grec teras, qui veut dire "monstre", comme dans "tératologie".
Il a été choisi en 1960 pour désigner mille milliards dans le système international d'unités.

En 1975, la communauté scientifique a décidé qu'elle avait besoin d'un plus grand multiplicateur et qu'elle était à bout de superlatifs grecs. Elle a donc adopté un système relativement plus rationnel pour inventer des préfixes : péta veut dire cinq, parce qu'un million de milliards est égal à mille à la puissance cinq.

Sur cette lancée ont été adoptés en 1991 exa (six) : un milliard de milliards, zetta (sept) : mille milliards de milliards, et yotta (huit) (à ne surtout pas confondre avec iota), un million de milliards de milliards.

Ces préfixes peuvent vous sembler abstraits mais ils sont très faciles à placer dans une conversation, surtout entre astronomes, il faut reconnaître. Vous pouvez par exemple remarquer négligemment que l'univers visible a un rayon d'une centaine de yottamètres, ou que l'énergie reçue du soleil par la terre est estimée à 174 pétawatts.

Cray II
Mais pour en revenir aux ordinateurs, c'est communément en gigaflops que se mesure leur capacité, c'est à dire en milliards d'opérations par seconde.

Quand j'étais petite, l'ambition des ingénieurs était de passer la barre du gigaflops. La course a duré longtemps, suffisamment pour que l'événement en 1985 reste dans les annales et le nom du vainqueur aussi : le Cray II.
Il était encore assez encombrant mais son design était plutôt étudié par rapport à ce qu'on avait vu avant. Le système d'exploitation était UNIX, ha la la les souvenirs du siècle dernier...

Les ordinateurs Cray portent le nom de leur créateur et fondateur de la société Cray research, Seymour Cray (1925-1996).

Le Top500 des super-calculateurs est publié deux fois par an depuis 1993, en juin à l'International Supercomputing Conference, née en même temps que le Top500 à l'Université de Mannheim en Allemagne, et en novembre à la ACM/IEE supercomputing conference, l'ACM étant la vénérable Association for Computing Machinery, fondée en 1947, et l'IEE l'Institute of Electrical and Electronics Ingeneers, toutes ces institutions étant, il faut le noter, sans but lucratif.

Le premier ordinateur à surpasser le téraflops (souvenons-nous, mille milliards de flops) en 1997 s'appelle ASCI Red, du nom du programme du gouvernement américain Advanced Strategic Computer Initiative, which you don't really want to know too much about, et Red, well, parce qu'il est rouge. La technologie était fournie par Intel Corp.

Comme dans les jeux vidéo, aussitôt franchie la barre du téraflops les ingénieurs se lancèrent à l'assaut du niveau supérieur, qui porte même un nom, celui de petascale, c'est à dire capable d'une performance supérieure à un pétaflops, c'est à dire encore un million de milliards de flops.

And the winner is : Roadrunner, d'IBM, en 2008. Le Jaguar, de Cray, a passé le petaflops la même année en seconde position, ce qui prouve que les ingénieurs n'y connaissent rien en éthologie, car le guépard est bien plus rapide que le jaguar, mais il s'appelle cheetah en anglais, ce qui prête à confusion, enfn bref, le voici, et il est beaucoup plus photogénique que le Roadrunner.

Cray a dominé le Top500 dans les années 90, avant de laisser la prééminence à IBM dans les années 2000, avec Deep Blue, célèbre pour sa partie d'échec avec Gary Kasparov, et la génération des Blue Gene. Roadrunner est aussi un ordinateur IBM, il aligne 12.690 processeurs et coûte 133 millions de dollars.

Aux dernières nouvelles, qui datent de novembre 2012, Cray a repris la main avec le Titan du Oak Ridge National Laboratory, mesuré à 17,59 pétaflops. Son système d'exploitation est Linux. Il fait de la recherche nucléaire.


A l'occasion du 20ème anniversaire du Top500, le site éponyme top500.org a publié un diaporama présentant tous les N°1 depuis la création du classement :


TOP500 - 20th Anniversary from top500

Les données du Top500 montrent que la progression en puissance des supercalculateurs suit un tracé qui rappelle la loi de Moore ; en fait, elle est plus rapide. L'échelle de gauche est en gigaflops. En rouge la performance du premier du classement, en jaune celle du dernier du classement (n°500) et en bleu la performance additionnée des 500 classés.



Tout ceci est bel et bon, mais on s'est rendu compte que plus on multiplie les processeurs, plus ça bouffe de l'électricité, et plus ça chauffe. C'est une des raisons pour lesquelles les supercalculateurs ne se miniaturisent pas mais au contraire prennent de plus en plus de place. Les circuits de refroidissements par eau ou par air sont l'un des principaux casse-tête des ingénieurs.

Autrefois la fierté des universités scientifiques, ces monstres ne peuvent plus être utilisés que par des laboratoires gouvernementaux parce qu'ils coûtent des millions de dollars par an en électricité. Il existe d'ailleurs un classement en fonction de la performance énergétique, en gigaflops par watt, qui s'appelle Green500, dans lequel IBM se défend aussi très bien.
Le Oak Ridge National Laboratory est installé dans le Tennessee à cause du faible coût de l'électricité dans la région. Le Beacon, qui a remporté cette année le Green500, se trouve également à l'Université du Tennessee.

De plus, pour atteindre le prochain niveau qui est l'exascale, si vous m'avez suivie, les ingénieurs s'accordent à penser qu'il faudra d'une part repenser en grande partie les systèmes d'exploitation actuels, mais aussi améliorer drastiquement la performance énergétique, faute de quoi ils voient se profiler le bout de la belle courbe ascendante de la loi de Moore, aussi appelé le Mur. C'est pour ça qu'on dit : "aller dans le mur" (non je plaisante).

Mais pendant ce temps, avec les progrès techniques dans le domaine des réseaux informatiques, les chercheurs fauchés se sont vite rendu compte qu'ils pouvaient aligner un certain nombre de PC tout à fait ordinaires et obtenir des performances très honorables pour une fraction du prix d'un supercomputer. L'objet qui en résulte est en général assez moche et a reçu le nom de Beowulf à la NASA en 1994. Ici le Beowulf de l'Université MacGill de Toronto, qui étudie les pulsars. Cette technique s'appelle cluster computing.

Avec le développement d'internet, l'idée est apparue de former des structures entièrement virtuelles en mettant en réseau de nombreux ordinateurs qui n'avaient plus à se trouver au même endroit, c'est le grid computing.

De là naturellement a découlé l'initiative de mettre à profit la puissance inutilisée du PC de tout un chacun, où qu'il se trouve, ou même des consoles de jeux et des smartphones. Cette forme d'informatique collaborative, ou bénévole, volunteer computing en anglais, a pris son essor dans les années 90, et trouve aujourd'hui sa principale réalisation dans le Berkeley Open Infrastructure for Network Computing, fondé en 2002 à l'Université de Californie du même nom (Berkeley), dont l'acronyme délicieux est BOINC.

Or la puissance totale de BOINC annoncée par lui-même au 24 décembre 2012 était de 7279 pétaflops, c'est-à-dire plus de 7 exaflops, si je ne m'abuse. Bien sûr le réseau n'est pas dédié à une seule tâche puisqu'il a des millions d'utilisateurs pour 49 projets en activité ouverts au grand public à l'instant où je vous écris. Mais enfin il est rassurant de savoir que nous avons déjà un BOINC dans l'exascale, au cas où il faudrait donner un grand coup de collier pour résoudre un gros problème urgent...

Vous aussi vous pouvez prêter votre laptop pour aider à faire des calculs hyper-longs et compliqués pour faire progresser la science ! Les projets en cours incluent par exemple la lutte contre le paludisme, l'exploration de la voie lactée, ou le déchiffrage de deux messages codés avec Enigma en 1942. N'est-ce pas fascinant ?

Il n'y a pas que les (relativement) fauchés qui ont opté pour cette solution. Le CERN, home sweet home du Grand Accélérateur de Hadrons, a des besoins conséquents en informatique, vu qu'il a pas mal de données à analyser : les détecteurs de particules balancent 100 térabytes de données par seconde à l'ordinateur chargé de les trier et de ne garder que cent événements par seconde, ce qui fait encore beaucoup : environ 300.000 milliards de collisions entre protons analysées depuis son démarrage, ou 300 téracollisions, si vous préférez...

Le CERN a mis en réseau quelques PC sur place, comme on le voit sur la photo, pour opérer le premier tri, les données étant ensuite analysées par le Worldwide LHC Computing Grid, WLCG*, ou pour les intimes : The Grid, le plus grand réseau du monde dédié à un projet unique.
Pas donné non plus remarquez : lors de son inauguration en 2008 le CERN annonçait que le Grid avait coûté 500 millions d'euros en développement, et prévoyait 14 millions par an de frais de maintenance...

And, guess what ? The Grid utilise en partie les ressources des volontaires de BOINC. On peut donc (presque) traquer les bosons de Higgs depuis chez soi ! En tous cas on peut participer à cette vaste entreprise. Ca s'appelle LHC@home.
Come on people ! Il n'y a pas qu'un boson de Higgs, il y en a plusieurs ! Mark my words !

Conclusion, les superordinateurs c'est pas mal mais un peu surfait, les gigaflops c'est utile quand on a des particules subatomiques à identifier ou des génomes à séquencer, mais avouons-le c'est pas donné à tout le monde tous les jours, en règle générale on a toujours beaucoup plus de flops chez soi que ce dont on a vraiment besoin, MAIS on peut en faire cadeau à la science, et ça c'est cool !

Enfin, si vous voulez savoir combien de gigaflops fait votre ordinateur ou tout au moins celui sur lequel vous êtes en train de lire ces lignes fascinantes, vous pouvez regarder sur http://whohasthefastestcomputer.com/flopsmeter/, sans inscription ni téléchargement ni obligation d'achat. Médor II mon nouveau laptop est à 15,80, modeste mais encore environ le double de la moyenne des ordinateurs reçus pour Noël par les particuliers, d'après le site.


P.S. : La première photo en haut n'est pas seulement un tas de détritus pour faire rire, c'est un "supercomputer" construit par un étudiant en 2007 pour 1256 dollars et baptisé Microwulf, en référence à Beowulf évidemment.

Mise à jour 18 juin 2013 : la performance a presque doublé depuis novembre dernier : le nouveau champion des super-ordinateurs est chinois, avec 33,86 petaflops ; il s'appelle Tianhe-2. http://www.leparisien.fr/high-tech/un-super-ordinateur-chinois-n-1-mondial-18-06-2013-2907233.php


* Un acronyme à l'intérieur d'un autre acronyme, hooo !

Sources :

Wikipédia
http://www.ohgizmo.com/2007/09/03/1256-microwulf-supercomputer-smaller-than-bread-box-runs-at-2625-gigaflops/
http://www.zdnet.fr/actualites/la-barre-mythique-du-petaflop-depassee-39601782.htm
http://royal.pingdom.com/2009/06/11/10-of-the-coolest-and-most-powerful-supercomputers-of-all-time/
http://www.extremetech.com : Exascale supercomputer hardware is easy ; it's the software that's holding us back
http://www.msnbc.msn.com : Next generation supercomputers have huge energy cost.
http://www.swissinfo.ch : Le_CERN_inaugure_son_superordinateur_planetaire.
Aidez les physiciens du CERN à traquer le boson de Higgs. LeTemps.ch

1 commentaire:

  1. en 2012 boinc était à 7 petaflops et non a 7 exaflop aujourd'hui il est proche des 20 petaflop ce qui le situerait tout de même 3ème au top 500 derrière les 2 supercalculateurs chinois

    RépondreSupprimer