Babel, IBM Blue Gene/P


BlueGene picture

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

Description matérielle détaillée

Architecture

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

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

La frontale est constituée d'une machine tournant sous Linux (Suse) ayant 16 cœurs Power5+ cadencés à 1850 MHz et 64 Go de mémoire vive.

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

cn2rack

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

Chaque nœud de calcul à 2 Go de mémoire et une puissance théorique de 13,6 Gflop/s (3,4 Gflop/s par cœur). Soit pour l'ensemble de la configuration (10.240 nœuds de calcul, 40.960 cœurs), une puissance crête de 139 Tflop/s et 20 To de mémoire vive.

De plus, toutes les 2 node cards (càd tous les 64 nœuds de calcul), il y a un nœud d'I/O qui gère l'ensemble des entrées-sorties de ces 64 nœuds de calcul. De ce fait, chaque job sur Babel doit s'exécuter sur un multiple de 64 nœuds de calcul (ou 256 cœurs).

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 PowerPC 450 32 bit
Cœurs par nœud 4
Fréquence horloge 850 MHz
Cache L1 (privé par cœur) L1i : 32 ko + L1d : 32 ko
Cache L2 (privé par cœur) unité de prefetching
Cache L3 (partagé) 2 x 4 Mo
Mémoire 2 Go
Puissance crête par nœud 13,6 Gflop/s
Bande passante mémoire 12,7 Go/s
Consommation électrique ca 30 W

La performance d'un cœur de calcul est relativement faible (fréquence d'horloge de seulement 850 MHz). 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 carré de la fréquence, diviser cette dernière par deux permet de multiplier la puissance de calcul par 2 à consommation électrique équivalente. 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 centaines, voire 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

Babel possède 6 réseaux différents. Trois d'entre-eux sont spécialisés pour les communications entre nœuds de calcul. Ils permettent d'obtenir d'excellentes performances pour les communications de type MPI.

La figure suivante représente les 3 réseaux principaux (tore 3D, réseau collectif et global interrupt).

reseaux

Tore 3D

tore 3D

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

Ce réseau est utilisé par l'ensemble des communications point-à-point, ainsi que pour toutes les communications collectives non-optimisées.

Réseau collectif

Le réseau collectif est un réseau en arbre. Ses propriétés sont :

Barrières (Global interrupt)

Le réseau Global interrupt permet une synchronisation très rapide et avec une faible latence d'un ensemble de processus. Il n'est utilisé (pour les applications MPI) qu'avec des barrières utilisant le communicateur MPI_Comm_world.

Autres réseaux

Entrées/sorties

Côté serveurs de fichiers GPFS

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

La capacité disponible est d'environ 350 To pour l'espace WORKDIR et 350 To pour l'espace TMPDIR. La débit maximum sur chacun de ces systèmes de fichiers est de 8 Go/s.

Côté Babel

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 400 Mo/s. Cela signifie que, théoriquement, il est possible de saturer les serveurs de fichiers avec seulement 20 nœuds d'I/O (càd avec un peu plus d'un rack de Babel). Si le système de fichiers est sollicité par d'autres applications au même moment (il ne faut pas oublier que Vargas l'utilise également), les performances seront réduites.


© CNRS - IDRIS, 13/01/2012