Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

[HPC] Quelles pistes pour les superordinateurs d'un exaflops ?
Un ingénieur du DoE propose trois pistes pour limiter la consommation d'énergie

Le , par dourouc05

0PARTAGES

8  0 
En 1964 a été construit le premier superordinateur, nommé Control Data 6600, avec une puissance de calcul d’un mégaflops, c’est-à-dire un million d’opérations en virgule flottante chaque seconde (comme additionner deux nombres à virgule). Il a été conçu par Seymour Cray, qui a lancé la société Cray, connue pour son activité dans les supercalculateurs.

Vingt et un ans plus tard, en 1985, la barre du gigaflops a été franchie par Cray-2. Actuellement, un processeur haut de gamme (comme un Intel i7 de dernière génération) fournit approximativement cent gigaflops.
Une dizaine d’années plus tard, en 1997, ASCI Red explose le téraflops, mille milliards d’opérations en virgule flottante par seconde  ; dans cette série de records, c’est le premier à ne pas être associé au nom de Cray. Un processeur graphique moderne haut de gamme (comme la GeForce GTX Titan X) dépasse maintenant quelques téraflops.

Il y a presque dix ans, Roadrunner atteignant le pétaflops, en combinant une série de processeurs similaires à ceux utilisés dans les PlayStation 3. Aujourd’hui, le plus puissant est Tianhe-2, installé en Chine (alors que les précédents sont américains), avec une cinquantaine de pétaflops. La route semble encore longue jusqu’à l’exaflops, c’est-à-dire un milliard de milliards d’opérations en virgule flottante par seconde. À nouveau, les États-Unis ont lancé un projet pour atteindre cette puissance de calcul à l’horizon 2020 — plus particulièrement, le Département de l’Énergie, le même à investir massivement dans un compilateur Fortran moderne libre.

Ces nombres paraissent énormissimes : un milliard de milliards d’opérations par seconde. Outre les aspects purement informatiques, ce genre de projets a une grande importance pour la recherche scientifique : les laboratoires américains de l’Énergie étudient notamment l’arme nucléaire et la destruction en toute sécurité d’ogives ; en Europe, le Human Brain Project vise à simuler toute l’activité cérébrale d’un cerveau humain au niveau neuronal, ce qui nécessiterait une puissance de calcul de cet ordre de grandeur.

Comment y arriver ?

Le département de l’Énergie estime que, actuellement, toutes les technologies nécessaires pour construire un tel superordinateur sont réunies. Cependant, il serait extrêmement difficile de l’alimenter : il faudrait un réacteur nucléaire complet pour y arriver ! Même si la construction de réacteurs fait partie de ses compétences, l’objectif de l’administration est de proposer une machine qui ne consomme « que » vingt mégawatts (un réacteur nucléaire produit généralement mille mégawatts). Erik DeBenedictis voit trois technologies pour réduire la consommation du facteur cinquante demandé : des transistors qui opèrent à une tension d’un millivolt, la mémoire 3D et les processeurs spécialisés.

En théorie, un transistor peut fonctionner avec des tensions bien plus faibles qu’actuellement, en passant d’un volt à quelques millivolts à peine, ce qui augmenterait l’efficacité énergétique des processeurs d’un facteur dix à cent à court terme (jusqu’à dix mille à plus long terme !). La diminution de tension a jusqu’à présent suivi la loi de Moore, suivant la taille des transistors ; cependant, elle est bloquée depuis une décennie au niveau du volt… mais personne ne sait comment y arriver. Plusieurs technologies pourraient néanmoins passer cette barre :



Les mémoires empilées (aussi dites « en trois dimensions ») sont d’ores et déjà en cours de déploiement, sous des noms comme HBM ou HMC, dans les processeurs graphiques haut de gamme ou des accélérateurs spécifiquement prévus pour le calcul scientifique. Ils permettent une grande réduction de la consommation énergétique, d’autant plus enviable que l’objectif de vingt mégawatts réserve un tiers de la consommation à la mémoire. Une autre piste serait d’abandonner autant que possible la mémoire non volatile, pour passer par exemple à la mémoire résistive, comme la technologie Octane d’Intel.

Le troisième axe de recherche propose d’exploiter des architectures beaucoup plus spécifiques aux problèmes à résoudre. Elle est déjà exploitée, puisqu’une bonne partie des superordinateurs les plus puissants utilisent des processeurs graphiques. Cependant, Erik DeBenedictis propose de pousser l’idée plus loin encore : installer des processeurs extrêmement spécifiques aux tâches à réaliser, qui seraient activés seulement quand ils sont nécessaires. Pour effectuer d’autres types de calculs sur l’ordinateur, il faudrait alors installer d’autres processeurs spécialisés, ce qui n’est plus déraisonnable actuellement, au vu du prix des puces spécialisées.

Des compromis à réaliser

Ces trois pistes ont l’air intéressantes, mais n’ont pas du tout les mêmes propriétés quant au modèle de programmation actuel : si la physique derrière les processeurs change complètement, ils restent programmables de la même manière ; par contre, pour exploiter efficacement de nouveaux processeurs spécialisés, il faudrait changer complètement sa manière de pensée. La mémoire est dans une situation intermédiaire : empilée sur le processeur, les délais d’accès changent radicalement, l’ancien code n’est donc plus aussi efficace s’il tirait parti de ces spécificités, mais continuera à fonctionner ; au contraire, pour la mémoire résistive, il n’y aurait plus de distinction entre la mémoire utilisée pour effectuer les calculs et celle pour le stockage à long terme.


Sources : Three paths to exascale supercomputing (paru en ligne sous le titre Power problems threaten to strangle exascale computing), FLOPS.
Ce contenu a été publié dans HPC et calcul scientifique, Matériel par dourouc05.

Et vous ?
Quelle utilité voyez-vous au développement de ces superordinateurs ?
Quelles technologies aimeriez-vous voir arriver dans votre ordinateur personnel ?

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de Iradrille
Expert confirmé https://www.developpez.com
Le 11/01/2016 à 2:25
Citation Envoyé par dourouc05 Voir le message
Le troisième axe de recherche propose d’exploiter des architectures beaucoup plus spécifiques aux problèmes à résoudre. Elle est déjà exploitée, puisqu’une bonne partie des superordinateurs les plus puissants utilisent des processeurs graphiques. Cependant, Erik DeBenedictis propose de pousser l’idée plus loin encore : installer des processeurs extrêmement spécifiques aux tâches à réaliser, qui seraient activés seulement quand ils sont nécessaires. Pour effectuer d’autres types de calculs sur l’ordinateur, il faudrait alors installer d’autres processeurs spécialisés, ce qui n’est plus déraisonnable actuellement, au vu du prix des puces spécialisées.
C'est IMO la meilleure solution.

De toute façon il n'y a que 3 possibilités :
*Continuer sur la voie des CPU : mais pour le moment on est limité par la physique. Le 10nm est en retard, la gravure par EUV est en retard ce qui va retarder le 7nm.. Et sans nouvelle technologies, l’efficacité énergétique est bloquée.

*Investir dans la recherche sur le refroidissement. Actuellement ~50% de la conso vient des systèmes de refroidissement, ya surement pas mal à gagner de ce coté.

*S'orienter vers processeurs de plus en plus spécialisés. On perd l'aspect généraliste d'un CPU classique, mais on gagne en efficacité énergétique. Il n'y a qu'a regarder l'efficacité énergétique d'un CPU / GPU / FPGA / ASIC pour le minage de bitcoin, ça donne une idée du gain possible (quand le problème s'y prête bien sur).

Les FPGA évoluent énormément en ce moment, ça pourrait être une transition viable (bien que niveau efficacité énergétique c'est pas la joie, il faut vraiment que le problème s'y prête pour avoir un gain). Les ASIC ont toujours le même problème : un time-to-market très élevé.

Citation Envoyé par dourouc05 Voir le message
Des compromis à réaliser
En informatique, que ce soit niveau soft ou hard, il n'y à jamais de bonne réponse. Pour un problème donné, il n'y a que des mauvaises réponses, des "moins mauvaises" et d'autres "plus mauvaises". C'est ce qui rend le domaine intéressant.

Citation Envoyé par dourouc05 Voir le message
Quelle utilité voyez-vous au développement de ces superordinateurs ?
Science ! Les résultats sont là, ils ne demandent qu'à être trouvés !

Citation Envoyé par dourouc05 Voir le message
Quelles technologies aimeriez-vous voir arriver dans votre ordinateur personnel ?
Une réduction de la latence de la RAM, bloqué depuis bien trop longtemps.
2  0 
Avatar de Traroth2
Membre chevronné https://www.developpez.com
Le 11/01/2016 à 11:44
Autre piste de recherche, en train d'aboutir, elle : le memristor. HP a indiqué il y a quelques temps voir développé un prototype de machine utilisant ce composant. Mais on en a plus entendu parler depuis...
1  0 
Avatar de Iradrille
Expert confirmé https://www.developpez.com
Le 11/01/2016 à 17:32
Citation Envoyé par Traroth2 Voir le message
Autre piste de recherche, en train d'aboutir, elle : le memristor. HP a indiqué il y a quelques temps voir développé un prototype de machine utilisant ce composant. Mais on en a plus entendu parler depuis...
C'est à priori plus dans une optique d'évolution de la mémoire (remplacement des SSD à terme), enfin je crois ?




Micron et Sony, qui avaient annoncé avoir produit une puce de 2 Go en février dernier (février 2014), ont donné quelques résultats obtenus en pratique sur leur puce. En pratique ils ont pu atteindre les 900 Mo /s en lecture avec une latence de 2,3 µs, là où le design permet en théorie d'atteindre 1 Go et 2 µs. En écriture la vitesse est de 180 Mo /s contre 11,7 µs, le design permettant au maximum d'atteindre 200 Mo /s et 10 µs.
source

Tant que le jeu de données tient en RAM, ça n'apporte rien pour le temps de calcul, mais ça peut être sacrément cool à la maison. Si c'est la même révolution que les SSD c'est génial.
1  0 
Avatar de DonQuiche
Expert confirmé https://www.developpez.com
Le 11/01/2016 à 17:46
En matières d'archis spécialisées on voit des choses intéressantes en ce moment. Deux choses m'attirent en particulier :

* les architectures orientées dataflow (visualisez le programme comme un immense graphe : à chaque noeud on calcule en parallèle les opérandes indépendantes). Mais à mon avis la seule façon de réaliser efficacement ça ce sont via des archis programmables type FPGA. Quant à savoir comment exposer efficacement ça au programmeur...

* les archis mélangeant stockage et calcul. Par exemple une content-adressable memory. Là encore un sacré bazar avant que le matériel et le logiciel soient tous deux efficaces.

* les archis analogiques.
1  0 
Avatar de pvincent
Membre confirmé https://www.developpez.com
Le 14/01/2016 à 10:56
Je me souviens de mon étonnement quand les Cray ont été supplantés par des machines à base de processeurs dont le développement était motivé plus par les jeux vidéos et la bureautique que par la recherche scientifique.
L'explication est simple: l'importance de ces marchés en termes financiers est bien plus grande que celle de la recherche scientifique, fut-elle militaire, ce qui a orienté les efforts vers ce type de machine.
Donc pour moi la technologie gagnante sera celle qui saura trouver des applications dans des marchés à large diffusion.
1  0 
Avatar de Iradrille
Expert confirmé https://www.developpez.com
Le 14/01/2016 à 15:24
Citation Envoyé par pvincent Voir le message
Donc pour moi la technologie gagnante sera celle qui saura trouver des applications dans des marchés à large diffusion.
Super-ordinateurs mobile avec un bouton "Like" ?
1  0 
Avatar de
https://www.developpez.com
Le 11/01/2016 à 20:40
Les trois ont déjà été tentées il y a de cela quelques décennies et complètement abandonnées compte tenu de leur inefficacité notoire. Je ne vois pas en quoi ces architectures reviendraient à la mode pour du calcul généraliste de nos jours alors que leurs défauts sont restés les mêmes et se sont même creusés face aux architectures habituelles.

Les architectures dataflow, notamment, ont étés utilisées comme architectures généralistes avant d'être rapidement abandonnées compte tenu de leur faible efficacité. C'est d'ailleurs de ces architectures que sont partiellement inspirées les architectures OOO à renommage de registres actuelles. Et vu les limitations en terme d'extraction d'LIP de ces dernières, on retrouvera la même problématique sur les dataflow, avec les problèmes de gestion de localité en plus.

Les mémoires adressables par contenus sont déjà utilisées, notamment dans les routeurs. Et c'est trop cher de fabriquer des mémoires de grosse capacité avec, ce qui explique leur faible utilisation.

Les architectures analogiques, faudrait déjà avoir des composants électroniques suffisamment précis.
0  0 
Avatar de DonQuiche
Expert confirmé https://www.developpez.com
Le 11/01/2016 à 22:33
a) J'ai parlé d'archis spécialisées, pas généralistes.

b) Pour les archis dataflow, j'ai précisé qu'à mon avis cela demanderait des circuits programmables, pour pré-câbler une bonne part de l'algo. Ensuite il était difficile à l'époque de déterminer quelles opérandes étaient indépendantes, mais l'analyse statique a fait des progrès et des langages comme Rust facilitent la vie du compilo. Bien d'autres choses ont également changé.

c) Pour les CAM nous voyons pointer de nouvelles technos comme les memristors, parfaites pour ça.

d) Pour les archis analogiques, la précision est relative au problème posé. Je ne crois pas en des archis programmables mais en des circuits analogues au problème à résoudre.
0  0 
Avatar de Traroth2
Membre chevronné https://www.developpez.com
Le 12/01/2016 à 14:49
Citation Envoyé par Iradrille Voir le message
C'est à priori plus dans une optique d'évolution de la mémoire (remplacement des SSD à terme), enfin je crois ?



source

Tant que le jeu de données tient en RAM, ça n'apporte rien pour le temps de calcul, mais ça peut être sacrément cool à la maison. Si c'est la même révolution que les SSD c'est génial.
En gros, ça permet d'avoir du stockage qui va à la même vitesse que la RAM. En d'autres termes, on peut fusionner les deux, avec l'impact algorithmique qu'on peut imaginer. HP appelle ça un système non-volatile.
0  0 
Avatar de DonQuiche
Expert confirmé https://www.developpez.com
Le 12/01/2016 à 19:08
Citation Envoyé par Traroth2 Voir le message
En gros, ça permet d'avoir du stockage qui va à la même vitesse que la RAM. En d'autres termes, on peut fusionner les deux, avec l'impact algorithmique qu'on peut imaginer. HP appelle ça un système non-volatile.
Ça permet surtout de faire réaliser des calculs au même endroit que là où tu stockes tes données puisque ces composants peuvent faire les deux. D'ailleurs le cerveau lui aussi réalise calculs et stockage au même endroit, dans une certaine mesure.

Quant à savoir si ce sera utilisable, c'est autre chose. Les content-adressable memory que j'ai déjà mentionnées sont une cible de choix.
0  0