211service.com
Supercalculateurs plus froids
Grâce aux progrès de la vitesse des simulations de superordinateurs, des phénomènes complexes tels que les systèmes météorologiques, le repliement des protéines et les explosions nucléaires deviennent plus faciles à modéliser et à comprendre. Mais seule une petite partie de cette accélération est due à des processeurs plus rapides. Au lieu de cela, le moyen le plus courant d'atteindre des capacités de supercalcul consiste à assembler des centaines ou des milliers de machines distinctes en clusters. Lorsqu'il est relié, un tel cluster partage une seule mémoire et peut effectuer des simulations massives en parallèle en divisant le travail en plusieurs petites parties.
Même cette approche, cependant, a ses limites. D'une part, plus la mémoire est grande, plus certaines parties de celle-ci risquent de tomber en panne lors d'un calcul. De plus, plus il y a de machines assemblées en grappe, plus elles produisent de chaleur. En effet, dans certains grands centres informatiques, les systèmes de ventilation et de climatisation, les ventilateurs et les systèmes de refroidissement liquide ont du mal à empêcher les machines de surchauffer.
Silicon Graphics, basé à Mountain View, en Californie, également connu sous le nom de SGI, construit certains des plus grands clusters de calcul intensif au monde. Le quatrième plus rapide au monde, par exemple, est Columbia, un système que SGI a construit pour le NASA Ames Research Center en 2004. Columbia comprend 20 superclusters SGI Altix, chacun avec 512 processeurs, pour un total de 10 240 processeurs qui partagent un 20 -mémoire de téraoctet. Refroidir ce monstre (que la NASA utilise pour modéliser des problèmes impliquant de grandes quantités de données, tels que le changement climatique, les orages magnétiques et les conceptions d'avions hypersoniques) est actuellement une affaire de très basse technologie : elle est accomplie principalement en soufflant de l'air devant les processeurs à haute vitesse.
Eng Lim Goh, informaticien et directeur technique chez SGI, dit qu'un administrateur de la NASA lui a dit : ' J'ai dépensé des millions de dollars sur votre superordinateur juste pour que nous puissions exécuter des simulations qui remplacent notre soufflerie - et vous nous avez donné une nouvelle soufflerie. .'
Goh est maintenant le chef de Projet Ultraviolet , les efforts de SGI pour développer sa prochaine génération de superamas. Les puces que SGI conçoit pour Ultraviolet exécuteront les applications plus rapidement, tout en utilisant moins d'électricité et en produisant moins de chaleur. Technology Review a interviewé Goh à propos du projet le 2 février.
Examen de la technologie : Quels sont les objectifs du Projet Ultraviolet ?
Anglais Lim Goh : L'ultraviolet est l'endroit où j'ai passé 80% de mon temps au cours des trois dernières années, dans le but d'avoir un système livré d'ici la fin de cette décennie. Nous construisons des ASIC [circuits intégrés spécifiques à l'application] pour accélérer certaines fonctions de la mémoire et rendre les applications plus froides ; et ceux-ci ont un long cycle de développement, généralement deux ans et demi.
Nous avons commencé avec ce que nous avons – en gros, un système capable d'une mémoire énorme. Nous construisons d'énormes systèmes, gérant jusqu'à 512 processeurs partageant jusqu'à des dizaines de téraoctets de mémoire. L'avantage de tels systèmes est que vous pouvez charger d'énormes bases de données en mémoire sans le ralentissement décuplé lorsque vous devez obtenir des données à partir d'un disque. Vous voulez pouvoir conserver toutes les données en mémoire et les parcourir à grande vitesse, ce qui est important pour l'analyse et l'intelligence commerciales avancées.
Nos ASIC se placent sous le processeur [Intel] Itanium, avec de la mémoire en dessous de chacun d'eux, et ils communiquent entre eux pour donner une vue virtuelle unique de toute la mémoire à l'utilisateur et au système d'exploitation. Nous nous assurons d'utiliser cette mémoire standard à faible coût. Cependant, cela s'est accompagné d'une fiabilité standard. Ainsi, dans Ultraviolet, nous mettons en place des fonctionnalités pour rendre la mémoire plus fiable. Par exemple, il y a des agents intelligents dans notre chipset qui peuvent sortir et nettoyer la mémoire inutilisée, pour forcer les parties qui étaient sur le point d'échouer à le faire pendant le processus de nettoyage, pas le processus d'application. Les agents désallouent rapidement cette mémoire, un peu comme un mauvais disque.
TR : Une partie de ce que vous faites, lorsque vous parlez d'agents, ressemble à ce qu'IBM appelle l'informatique autonome.
ÉLAN: Les gens utilisent des noms différents pour rendre l'informatique plus auto-réparatrice. Nous nous demandions si nous devions utiliser une mémoire autonome ou des systèmes d'auto-guérison, comme IBM et d'autres fournisseurs. Mais nous nous sommes un peu inquiétés parce que cela crée une attente très élevée.
TR : Et le problème de chaleur ? Je suppose que les systèmes que les gens construiront à l'aide de vos systèmes de nouvelle génération auront encore plus de 512 processeurs, tous dans une seule pièce, dégageant d'énormes quantités de chaleur.
ÉLAN: Nous pouvons forcer la chaleur hors des racks avec des ventilateurs plus rapides, mais la salle informatique devient alors très difficile à refroidir. La seule façon de gérer plus de chaleur est de déplacer la chaleur plus rapidement. Il y a des salles informatiques où si vous ouvrez un plancher, ils vous disent « N'y mettez pas le pied », car l'air en bas se déplace à 100 kilomètres à l'heure.
Donc, l'autre partie de ce que nous voulons explorer avec Ultraviolet est de savoir comment réduire cette chaleur et comment gérer les applications qui ne sont pas évolutives [c'est-à-dire ne s'exécutent pas aussi vite que prévu lors de l'exécution sur plusieurs processeurs en parallèle]. Ces deux sont liés. Disons qu'une application s'exécute pendant 100 secondes sur un seul processeur. Et disons que sur 100 processeurs, il s'exécute dix fois plus vite - il s'exécute pendant 10 secondes. C'est une grande amélioration - mais vous utilisez 100 fois plus de processeurs pour y arriver. En tant que tel, vous n'êtes efficace qu'à 10 % ; l'application consomme dix fois plus d'énergie et dégage dix fois plus de chaleur qu'elle n'en a besoin.
TR : Alors, comment rendre les applications plus cool ?
ÉLAN: Une grande partie est la façon dont nous décomposons les problèmes en morceaux et la façon dont nous les affectons aux processeurs. Nous avons analysé environ 50 applications clientes pour voir ce qui n'allait pas avec ces applications lorsqu'elles s'exécutaient en parallèle. Nous avons identifié quatre ou cinq domaines principaux.
L'un est la latence des communications [retards]. Le problème est que la plupart des applications nécessitent une synchronisation constante, pour s'assurer que chaque processus est prêt avant la prochaine étape du calcul. Cette synchronisation prend beaucoup de temps. C'est comme avoir six personnes essayant de se tenir en ligne droite - elles doivent vérifier les unes avec les autres. Avec 60, 600 ou 6 000 personnes, il faut exponentiellement plus de temps pour aller en ligne droite.
Le problème de la bande passante des communications vient ensuite après la latence. Parfois, vous voulez transférer beaucoup de données et l'épaisseur de la connexion entre les processeurs décidera alors du temps qu'il faudra pour que cet énorme morceau de données passe. Si vous attendez, vous ne calculez pas. C'est un autre domaine où l'efficacité diminue.
Le troisième domaine est le déséquilibre de charge, qui est un énorme problème. Supposons que vous vouliez modéliser la météo de votre région. Vous supposez que le volume d'air dans votre zone est un énorme cube, et vous le divisez en huit sous-cubes et vous distribuez ces sous-cubes à différents processeurs. Un jour où le temps est homogène sur le gros cube, la charge sur ces processeurs peut être équilibrée ; mais s'il y a des turbulences locales dans l'un des sous-cubes, il y aura des processeurs qui attendront pendant que d'autres processeurs finiront.
Le quatrième domaine est lorsqu'une application a besoin d'une donnée et que les données ne se trouvent pas dans le propre cache du processeur et qu'elles doivent sortir en mémoire. Quand il sort en mémoire, il y a un impact de latence énorme.
Ce seraient donc les principes de la conception Ultraviolet [mémoire plus fiable, moins de latence de communication, plus de bande passante de communication, meilleur équilibrage de charge et moins de latence de mémoire]. Supposons que vous ayez une application qui dépasse 128 processeurs, car elle limite la latence des communications. Cette puce que nous concevons va réduire considérablement la latence, ce qui permettra désormais à cette application de fonctionner sur plus de processeurs. Ou, si vous exécutez toujours la même application sur 128 processeurs, vous devriez être plus performant et créer moins de chaleur.
Légende de l'image de la page d'accueil : vue d'en haut : des ponts connectent les nœuds du supercalculateur SGI Altix à 20 nœuds hébergé dans l'installation de supercalcul avancé de la NASA.
Image de la page d'accueil avec l'aimable autorisation du NASA Ames Research Center/Tom Trower