Accueil » Actualité » Penser petaflop : du Cell au GPU en passant par le x86

Penser petaflop : du Cell au GPU en passant par le x86

Image 1 : Penser petaflop : du Cell au GPU en passant par le x86
La semaine dernière, nous étions à la conférence « Penser petaflop » organisée à l’Institu Pasteur. Elle était destinée à montrer l’état des infrastructures de calcul en France et en Europe et à montrer ce que les programmes GENCI (Grand Équipement National de Calcul Intensif) et PRACE (Partnership for Advanced Computing in Europe) pourront faire pour aider les chercheurs qui ont besoin de faire des calculs intensifs.

Supercalculateurs : CPU mais aussi GPU

Quand on pense supercalculateurs, on pense Cray ou IBM BlueGene, par exemple. Mais en fait, pas besoin d’aller si loin, une machine équipée de (beaucoup) de processeurs x86 (Opteron ou Xeon) est aussi un supercalculateur. Et le programme PRACE, encore en phase de test, étudie sérieusement l’idée d’utiliser des systèmes à base de Cell (une technologie utilisée dans les consoles de jeux ou les télévisions) et même de GPU (un supercalculateur à base de cartes Tesla – nVidia – est à l’étude en France). Il faut bien se rendre compte, et les intervenants nous l’ont bien expliqué, que les technologies présentes dans les supercalculateurs se retrouveront dans les serveurs (placé en clusters) d’ici 5 ans et que nos machines devraient offrir la même puissance de calcul dans une dizaine d’années.

Pour quoi faire ?

Image 2 : Penser petaflop : du Cell au GPU en passant par le x86Un supercalculateur, ça sert à quoi ? À la recherche, évidemment, mais aussi à des applications plus concrètes, comme la prédiction météorologique. En pratique, alors qu’on travaille en météo sur des unités de 10 km de côté actuellement, des supercalculateurs de l’ordre de la centaine de téraflops (ou qui atteindraient le petaflop dans quelques années) devraient permettre de travailler avec une précision de 2,5 km voire 1 km. La puissance de calcul nécessaire est bien plus élevée, mais la précision aussi. Un autre domaine important, c’est la biologie. Actuellement, on peut simuler l’effet de certains processus internes à une cellule, mais à terme les chercheurs aimeraient simuler entièrement un organisme vivant. On nous a expliqué que d’ici 2050, une bactérie simple pourrait être entièrement simulée de façon informatique. À quand un humain ? Plus tard, beaucoup plus tard : une bactérie comme Mycobacterium tuberculosis a un génome de 4,4 Mo (une fois stocké) et un humain nécessite 2,9 Go pour stocker son génome, on comprend rapidement la différence de complexité. Notons que le plus petit génome connu se stocke sur une disquette : il fait seulement 0,6 Mo (Mycoplasma genitalium).

Une question de programmation

Image 3 : Penser petaflop : du Cell au GPU en passant par le x86Un des problèmes des supercalculateurs vient de la programmation. Un des exemples cités est intéressant : un programme de simulation très utilisé pour les turbines et autres moteurs voyait ses performances diminuer quand on utilisait beaucoup de processeurs. Jusqu’à environ 10 000 CPU, le scaling (augmentation des performances en fonction du nombre de CPU) était intéressant puis se tassait progressivement. Après quelques recherches, les chercheurs se sont rendu compte que la gestion maître/esclave pour la synchronisation de certaines données posait problème : si un seul CPU devait envoyer les messages aux autres CPU, à partir d’un certain moment il saturait et ralentissait la machine dans son ensemble. En répartissant les envois avec une structure en arbre, les performances ont augmenté. Globalement, cette optimisation simple a permis de passer d’une augmentation de 12 000 (avec 16 000 CPU) à une augmentation de 15 000, ce qui n’est pas négligeable.

Au final, même si le domaine des supercalculateurs est encore émergent en Europe (et en France), les initiatives GENCI et PRACE devraient permettre de rattraper le retard que nous avons sur les États-Unis.