Turing, IBM Blue Gene/Q

BlueGene picture

  • 98.304 cœurs PowerPC A2
  • 96 Tio de mémoire
  • 1,258 Pflop/s de performance crête totale
  • 2,2 Po de disques (partagés avec Ada)
  • 636 kW de consommation électrique

Pour plus de détails concernant l'utilisation des ressources de cette machine, cliquez ici

Description matérielle détaillée

Architecture

Turing est constituée de plusieurs machines ayant des fonctions bien précises :

  • Les nœuds interactifs, aussi appelés frontales ou nœuds de login
  • Les nœuds de service
  • La machine de calcul proprement dite (Blue Gene/Q)

La frontale est le point d'entrée sur Turing (turing1) et le seul endroit auquel un utilisateur a directement accès. C'est là que ce font la compilation, la soumission …

La frontale est constituée d'une machine tournant sous Linux (RedHat) ayant 32 cœurs Power7 cadencés à 3 GHz et 64 Gio de mémoire vive.

Les nœuds de service gèrent les ressources de Turing (jobs, bases de données …). ibm_bluegene_q_hierarchy

La machine de calcul est constituée, en allant de la configuration complète vers ses éléments de base, de :

  • 6 racks ou cabinets Blue Gene/Q,
  • chaque rack contient 32 node cards,
  • chaque rack est divisé en deux midplanes,
  • chaque midplane contient 16 node cards,
  • chaque node card possède 32 nœuds de calcul,
  • chaque nœud de calcul possède 16 cœurs,
  • chaque cœur peut exécuter 4 threads ou processus.

Chaque nœud de calcul a 16 Gio de mémoire et une puissance théorique de 204,1 Gflop/s (12,7 Gflop/s par cœur). Soit pour l'ensemble de la configuration (6.144 nœuds de calcul, 98.304 cœurs, 393.216 threads), une puissance crête de 1,258 Pflop/s et 96 Tio de mémoire vive.

Enfin, chaque rack possède 16 nœuds d'I/O, avec 2 liens chacun vers les nœuds de calcul.

Nœuds de calcul et cœurs

Les caractéristiques principales d'un nœud de calcul sont données dans le tableau suivant :

Cœur POWER A2 64-bit
Cœurs par nœud 16
Fréquence horloge 1,6 GHz
Cache L1 (privé par cœur) L1i : 16 kio + L1d : 16 kio
Cache L2 (partagé) 32 Mio
Mémoire 16 Gio DDR3
Puissance crête par nœud 204,1 Gflop/s
Bande passante mémoire 42,6 Go/s
Consommation électrique 55 W

La performance d'un cœur de calcul est relativement faible (fréquence d'horloge de seulement 1,6 GHz). Cela permet de limiter fortement la consommation de chaque cœur tout en multipliant leur nombre. Si l'on suppose que la consommation est de l'ordre du cube de la fréquence, diviser cette dernière par deux permet de multiplier la puissance de calcul par 2 à (en multipliant le nombre de cœur par 4) tout en divisant la consommation électrique par 2. La performance de la machine vient donc d'un très grand nombre d'unités de calcul de faible performance et à très basse consommation.

Pour pouvoir profiter de ce type d'architecture massivement parallèle (MPP), il est nécessaire d'avoir des applications pouvant s'exécuter avec un niveau de parallélisme très élevé (plusieurs milliers de processus).

Caches et mémoire

Les différents niveaux de cache et la mémoire sont détaillés dans une page séparée.

Réseaux

Turing possède 4 réseaux différents. En particulier, le Tore 5D, représenté par la figure ci-dessous, est spécialisé pour les communications entre nœuds de calcul. Il permet d'obtenir d'excellentes performances pour les communications de type MPI.

Tore 5D

tore 5D

Le tore 5D connecte chaque nœud de calcul à ses 10 voisins (2 dans chaque direction en 5 dimensions). Ses caractéristiques principales sont :

  • 10 liens bi-directionnels (20 x 2 Go/s = 40 Go/s)
  • Utilise un moteur DMA qui permet un très bon recouvrement des communications par les calculs

Ce réseau est utilisé par l'ensemble des communications MPI et des entrées-sorties.

Autres réseaux

  • 1 lien bi-directionnel, à 2 Go/s, qui relie un nœud de calcul sur 64 à un nœud d'I/O
  • JTAG : réseau de service
  • Clock : pour l'horloge

Entrées/sorties

Côté serveurs de fichiers GPFS

Les entrées-sorties sur Turing se font en utilisant des serveurs de fichiers ayant comme système de fichiers GPFS. Ces serveurs sont partagés avec la machine Ada.

La capacité disponible est d'environ 1 Po pour l'espace WORKDIR et 500 To pour l'espace TMPDIR. Le débit maximum est de 50 Go/s.

Côté Turing

Les entrées-sorties sont prises en charges par des nœuds spécialisés. Il y en a un pour 64 nœuds de calcul. Chaque nœud d'I/O est capable d'écrire (ou de lire) jusqu'à un débit de 3 Go/s. Cela signifie que, théoriquement, il est possible de saturer les serveurs de fichiers avec seulement 17 nœuds d'I/O (càd avec un peu plus d'un rack de Turing). Si le système de fichiers est sollicité par d'autres applications au même moment (il ne faut pas oublier qu'Ada l'utilise également), les performances seront réduites.