La conférence Supercomputing 2010 a été l'occasion d'annoncer la naissance d'un tout nouveau classement, le Graph500, qui ambitionne de compléter le Top500 dans le domaine du calcul sur les nombres entiers. Le classement biannuel du Top500 est devenu au fil du temps une référence pour évaluer la puissance de calcul des superordinateurs mondiaux. Cette légitimité s'explique par l'ancienneté du classement (il existe depuis juin 1993) et par le fait que la vitesse d'un ordinateur est exprimée avec un seul nombre propre à frapper les esprits.
Le Top500 se base sur le code Linpack qui concerne la résolution de systèmes d'équations linéaires. En dépit des critiques sur ce benchmark le code Linpack à l'avantage d'être très adapté aux machines multiprocesseurs (il est extrêmement parallélisable) et il donne une bonne idée de la puissance de pointe d'un ordinateur. Bien entendu on ne peut pas vraiment résumer les caractéristiques complexes d'un supercalculateur avec un seul nombre et, en fonction du problème à traiter, le choix de la machine la plus adaptée sera différent.
Une des critiques récurrentes à l'égard de Linpack porte sur le fait que ce code est parfait pour déterminer la puissance de calcul en virgule flottante d'une machine mais qu'il ne dit rien sur la puissance de calcul concernant les entiers.
À l'inverse de ce qui se fait déjà sur les benchmarks SPEC qui évaluent les performances de processeurs (avec des scores SPECint et SPECfp) il n'existe pas de classement des superordinateurs sur les calculs d'entiers. Traditionnellement les supercalculateurs sont employés dans le domaine de l'ingénierie et de la science où les nombres à virgule flottante règnent en maîtres. La communauté du High-performance computing privilégie clairement cette forme de calcul mais c'est en train de changer et les besoins de traitement sur les entiers explosent (c'est ce qu'appellent les "data-intensive applications").
Pour répondre à cette nouvelle problématique le classement du Top500 est inutile. Il ne permet pas d'évaluer la puissance de traitement sur ce genre de calcul et un autre type de benchmark est clairement nécessaire. Plusieurs membres de la communauté HPC, des universitaires et des ingénieurs, se sont donc mis au travail et le résultat de leurs cogitations est le classement Graph500.
Richard Murphy, qui est architecte système au Sandia National Laboratories, explique dans une interview donnée au site HPCWire les détails de cette nouvelle liste. Les chercheurs ont d'abord recensé quels étaient les problèmes typiques de traitement de données avec des nombres entiers et ils ont identifié cinq domaines majeurs.
Traduction extraite de l'article :
- Cybersecurité : des grandes entreprises qui génèrent 15 milliards de logs par jour et dont l'analyse nécessite un scan de toute la table.
- Informatique médicale : 50 millions de dossiers électroniques de patients, avec entre 20 et 200 enregistrements par personne, ce qui génère des milliards de données différentes dans lesquelles on doit effectuer des recherches.
- Enrichissement de données : des ensembles de données atteignant souvent l'échelle du pétaoctet et pour lesquels les types de données en entrée sont très différents. Un exemple est l'analyse du trafic maritime avec ses centaines de millions de transpondeurs, ses dizaines de milliers de navires et les dizaines de millions de containers transportés.
- Réseaux sociaux : ici les besoins semblent sans limite (Facebook est donné en exemple).
- Réseaux symboliques : là encore les tailles s'expriment en pétaoctets, un exemple étant le cortex humain avec ses 25 milliards de neurones ayant chacun environ 7000 connexions.
Dans cette spécification on apprend qu'il existe cinq niveaux de difficulté, en fonction de la taille des données à traiter, et que les instituts peuvent choisir la catégorie dans laquelle ils vont faire concourir leur machine :
- Toy : 17 Go
- Mini : 140 Go
- Small : 1 To
- Medium : 17 To
- Large : 140 To
- Huge : 1,1 Po
Selon les universitaires et les chercheurs impliqués dans ce projet c'est la première tentative sérieuse d'offrir un complément au Top500 qui concerne les "data intensive applications". Ils sont également en contact avec les responsables du benchmark SPEC afin d'inclure ces nouveaux tests dans la liste officielle des challenges SPEC.
Les résultats du benchmark Graph500 s'expriment en TEPS (Traversed Edges Per Second) puisque, pour résoudre le problème, il faut effectuer des recherches parallèles dans l'arbre de données et donc traverser les arêtes du graphe.
Bien entendu il faudra du temps pour voir si le classement Graph500 réussit à devenir une référence sur son domaine. Le manque actuel de notoriété explique que peu de laboratoires ou d'entreprises ont répondu à l'appel en soumettant les résultats de leurs machines. Ce sont essentiellement les laboratoires ou travaillent les chercheurs du projet qui ont participé à cette toute première édition qui regroupe à peine neuf résultats.
Le gagnant est donc le supercalculateur Intrepid du laboratoire national Argonne dans l'Illinois avec un score de 6,6 GigaTEPS sur le niveau Medium (17 To de données en entrée). Cette machine est un IBM BlueGene/P qui regroupe plus de 32 000 coeurs de calcul. Pour avoir un élément de comparaison le dernier de la liste est un simple petit cluster de 256 coeurs Intel Westmere X5670 cadencés à 2.93 GHz. Son score sur le niveau Toy (17 Go de données en entrée) est de 615.8 MegaTEPS.
Les données présentes sur le site Graph500 sont extrêmement succinctes et ne permettent pas de faire des statistiques comme celles du Top500. Pour en savoir plus il faut fouiller patiemment les sites des divers laboratoires et on finit par apprendre que Linux est utilisé sur les neuf machines de ce classement (en OS principal ou bien en OS dédié aux entrées/sorties).
Certes avec seulement neuf machines présentes dans le premier classement Graph500 on peut dire que le projet commence tout en bas de l'échelle...mais côté Linux c'est du 100% !
Aller plus loin
- Le site Graph500 (148 clics)
- Le premier classement (41 clics)
- Les spécifications du test (10 clics)
- Interview de Richard Murphy (4 clics)
# Combien ça coute (en heures ou en argent)
Posté par JGO . Évalué à 3.
[^] # Re: Combien ça coute (en heures ou en argent)
Posté par maxix . Évalué à 1.
[^] # Re: Combien ça coute (en heures ou en argent)
Posté par lasher . Évalué à 2.
Ensuite, ce genre de benchmark ne « coûte » rien dans le sens où il est effectué par les propriétaires du cluster.
[^] # Re: Combien ça coute (en heures ou en argent)
Posté par JGO . Évalué à 2.
Par exemple chez Amazon on peut louer des heures de calcul sur GPU Nvidia à 1,05 dollars par heure et par cœur ( source http://www.infosecurity-magazine.com/view/14059/sha1-crypto-(...) ). Le benchmark doit être lancé sur un nombre de cœurs significatif pour évaluer correctement l'effet des communications. Plus il y a de cœurs, plus ça va vite, mais ce n'est pas forcément linéaire. Bref je voulais connaitre une estimation réaliste pour faire un benchmark, du genre : 500 cœurs, 1 heure au total, serait facturé 1 euro/(cœur x heure) si loué à un labo (là j'invente les valeurs), ce qui conduit à un manque à gagner de 500 euros.
[^] # Re: Combien ça coute (en heures ou en argent)
Posté par lasher . Évalué à 3.
Justement, ce n'est pas le sysadmin qui décide de lancer le benchmark. Le plus souvent il s'agit du chef qui veut pouvoir crâner devant les petits camarades au top 500. Ensuite, la plupart des centres de calcul ne sont pas à louer. Ils sont achetés pour résoudre des problèmes de simulation liés à l'organisation qui a fait l'achat (en France on parlerait donc de Peugeot/Renault pour la simulation d'accidents sur leurs voitures, ou bien du CEA pour simuler tout un tas de machins liés au nucléaire, etc.).
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.