Aller au contenu

TechniquePratique

Architecture d'un cluster HPC IA

Pour : ingénieurs et SRE · architectesPrérequis : Notions de base sur le HPC : nœud, ordonnanceur, interconnect.

flowchart TB
  SCHED["Ordonnanceur Slurm / PBS"]
  subgraph N1["Nœud GPU 1"]
    direction LR
    G0["GPU 0<br/>80 Go HBM"] --- G1["GPU 1"] --- G2["GPU 2"] --- G3["GPU 3"]
  end
  subgraph N2["Nœud GPU 2"]
    direction LR
    G4["GPU 4"] --- G5["GPU 5"] --- G6["GPU 6"] --- G7["GPU 7"]
  end
  IB["InfiniBand / RoCE<br/>latence de l'ordre de la microseconde"]
  FS["Stockage parallèle<br/>Lustre / IBM Storage Scale / BeeGFS"]
  SCHED --> N1
  SCHED --> N2
  N1 <--> IB
  N2 <--> IB
  IB <--> FS

Dans un nœud, les GPU communiquent par NVLink ; entre nœuds, par InfiniBand ou RoCE. Le stockage parallèle alimente tout le monde, l’ordonnanceur décide qui tourne où.

CoucheCe qu’elle contientCe qu’on observeCe qu’on protège
L1. Nœuds GPU4 à 8 GPU par nœud reliés par NVLink (600 Go/s sur A100, 900 Go/s sur H100, 1,8 To/s sur Blackwell), 80 Go de HBM par GPU sur A100 et H100, davantage sur les générations suivantes (141 Go sur H200), 2 CPU d’orchestration, plusieurs centaines de Go de RAM, NVMe local de transitdcgm-exporter : occupation des SM, bande passante HBM, erreurs ECC, bridage, énergiefirmware, mémoire GPU entre jobs
L2. InterconnectInfiniBand HDR (200 Gb/s), NDR (400 Gb/s) ou XDR (800 Gb/s, génération Blackwell), ou RoCE ; topologie fat tree non bloquante ; les gradients y circulent pendant l’AllReduce NCCLibstat, perfquery, compteurs de ports, retransmissionsl’angle mort RDMA
L3. Stockage parallèleLustre ou IBM Storage Scale (anciennement Spectrum Scale, ou GPFS), fichiers répartis sur des dizaines de serveurs, débit agrégé de quelques dizaines de Go/s à plusieurs To/s selon la taille du système ; les GPU ne doivent jamais attendre les donnéesdébit Lustre, latence des métadonnéesintégrité des données d’entraînement
L4. OrdonnanceurSlurm ou PBS : files d’attente, allocation des GPU, isolation entre jobs ; scripts prolog et epilog pour injecter de l’instrumentationslurm-exporter : jobs, files, temps d’attenteisolation entre jobs et entre clients
L5. Pile logicielle MLpilote CUDA ou ROCm, PyTorch ou JAX, NCCL pour les communications collectives, conteneurs Docker ou Apptainer (ex-Singularity)profileur PyTorch, journaux NCCLchaîne d’approvisionnement logicielle
FamilleExemples
GPUutilisation des SM, bande passante HBM, erreurs ECC, bridage d’horloge
Réseaucompteurs de ports InfiniBand, taux de retransmission, débit par lien
Stockagedébit Lustre, latence des métadonnées
Modèleperte (loss), norme des gradients, durée de pas, latence AllReduce

La quatrième famille est la plus souvent oubliée, alors que c’est elle qui dit si l’entraînement progresse. Elle doit être rattachée au job et au compte, comme les trois autres.

Révisé le 2 octobre 2026 : ajout de la génération Blackwell (NVLink 5, InfiniBand XDR), IBM Storage Scale à la place de Spectrum Scale, débits de stockage harmonisés avec la formation d’initiation, latence de l’interconnect ramenée à l’ordre de la microseconde.