GTC 2013 : Barcelone veut construire des clusters à base de puces ARM et de GPU

Une petite équipe s’active à Barcelone avec comme objectif de construire des supercalculateurs exploitant des GPU, contrôlés par des composants ARM.

De notre envoyé à San Jose – Le Barcelona Supercomputing Center (BSC) a profité du GTC 2013 pour faire le point sur ses efforts visant à mettre au point un supercalculateur architecturé autour de GPU et de puces ARM.

Un sujet on ne peut plus chaud. En effet, l’efficacité énergétique est la clé des supercalculateurs. Peu importe la puissance des puces utilisées, puisqu’il est possible de les associer à l’infini au sein de clusters. Ce qui compte, c’est le rapport performance par watt obtenu.

Mais aussi le coût. De fait, en utilisant des processeurs très communs, il est possible d’abaisser sensiblement le prix d’un supercalculateur. Un facteur clé, le rapport performance sur coût étant essentiel.

Quels sont les choix en lice pour créer un supercalculateur ? Alex Ramirez, research manager au BSC dresse une liste :

  • le multicœur avec des processeurs classiques ;
  • l’utilisation de cœurs basse consommation ;
  • la mise en place d’accélérateurs de calcul : Cell, Phi, Tesla, Radeon, etc.

ARM, pour la volumétrie

Côté processeurs, l’ARM est l’architecture la plus commune aujourd’hui. Sous l’impulsion des tablettes (100 millions de ventes en 2012) et des smartphones (750 millions), une montée en puissance en matière de nombre de cœurs et de fréquence s’est amorcée.

Les chercheurs du BSC ont ainsi mis au point un premier “proof of concept” de cluster ARM – le Tibidabo – comprenant 256 nœuds (512 cœurs) Tegra 2 (2 cœurs Cortex-A9 à 1 GHz). Au total, la puissance déployée est de 512 gigaflops, avec un rapport performance par watt de 150 mégaflops/watt (ce qui demeure correct).

Ce démonstrateur a permis de confirmer la faisabilité d’un cluster ARM. Il a également montré que « les applications HPC peuvent être portées avec un minimum d’efforts sur l’architecture ARM ».

ARM + GPU : un premier test

Afin d’augmenter l’efficacité énergétique, un second démonstrateur – le Pedraforca v1 – a associé une puce Tegra avec un GPU capable d’exécuter le code Cuda (ce que les GPU des Tegra 2, 3 et 4 ne peuvent faire).

La carte de développement Carma a ici été utilisée (Tegra 3 et Quadro 1000M). 16 cartes ont été reliées entre-elles (soit 64 cœurs ARM Cortex-A9 à 1,3 GHz et 16 GPU Quadro 1000M). Sur le papier, la puissance est bien là. Malheureusement, la lenteur du bus de la carte mère rend le cluster quasi impossible à exploiter.

Les GPU… en solo

Le Pedraforca v2 adopte une approche radicalement différente. Ici, les GPU des cartes Nvidia Tesla K20 (GPU Kepler), communiquent en direct via des liens Infiniband à 40 Gb/s.

Pedraforca v2

La carte mère ARM (toujours basée sur un Tegra 3) ne sert qu’à alimenter les cartes graphiques, les démarrer et lancer la première tâche. À partir de là, les GPU sont presque totalement autonomes et peuvent ainsi déployer toute leur puissance. « L’utilisation du GPU et du CPU est totalement découplée », indique Alex Ramirez.

À partir du moment où la vélocité du CPU n’entre plus en ligne de compte, l’utilisation d’un processeur basse consommation, comme le Tegra 3, permet de réduire les besoins du cluster et donc d’installer un plus grand nombre de GPU pour une enveloppe énergétique donnée.

Le démonstrateur Pedraforca v2 comprend 64 nœuds, soit autant de GPU et une puissance de calcul en double précision culminant à 74,88 téraflops.

Le futur : un équilibre CPU/GPU ou le GPU seul ?

En utilisant un SoC réseau dédié, il est possible d’imaginer faire fonctionner les GPU sur des fonds de panier ne comprenant aucun processeur central ‘réel’. Le SoC se chargerait alors d’apporter la gestion du PCI Express, la mise en place des liens réseau et le démarrage des GPU.

Toutefois, Alex Ramirez estime que certaines tâches ne sont pas adaptées aux GPU. « Il y a toujours des applications non 'scalables' qui nécessitent la présence d’un CPU puissant », constate-t-il.

Dans ce contexte, le couple Xeon + Tesla reste aujourd’hui très pertinent (sans surprise, il est aussi très commun au sein des supercalculateurs). Toutefois, l’utilisation d’une puce ARM basse consommation intégrant un GPU compatible Cuda pourrait avoir du sens, ne serait-ce que pour son ratio performance sur watt plus avantageux, ainsi que sa densité.

Le futur du HPC ARM, tel que vu par le BSC, pourrait donc être intimement lié aux prochaines puces Tegra, les Logan et Parker, qui ont été présentées par le CEO de Nvidia lors du GTC 2013 (voir « GTC 2013 : la roadmap Tegra comprend Cuda et Project Denver ! »).

Crédit photo : © Nmedia - Fotolia.com
___

Vous voulez participer à l’aventure du HPC ARM/CUDA ? Le BSC recrute des chercheurs et développeurs capables de l’aider dans ses travaux. Plus de détails se trouvent à cette adresse : https://www.bsc.es/about-bsc/employment/vacancies.


Voir aussi
GTC 2013 : ARM et Android supplantent x86 et Windows
GTC 2013 : Nvidia déporte calcul et visualisation vers le datacenter
GTC 2013 : Nvidia dévoile la roadmap des GeForce
GTC 2013 : la roadmap Tegra comprend Cuda et Project Denver !
GTC 2013 : un support professionnel de Cuda pour Python
GTC 2013 : Nvidia à l’assaut du ray tracing temps réel