Introduction

La figure suivante présente l'architecture du Cluster SLURM (Simple Linux Utility for Resource Management) sur la plateforme OSIRIM :

Le cluster est constitué :

D'un nœud interactif (osirim-slurm.irit.fr)  

C'est le nœud sur lequel vous devez vous connecter pour accéder au cluster de calcul. Ce nœud (sous système Linux Centos7) peut être utilisé pour valider les programmes avant de les lancer sur le cluster de calcul. Ce nœud étant partagé entre tous les utilisateurs, il ne doit pas être utilisé pour l\'exécution de jobs longs.

De nœuds de calcul  

Ces nœuds (sous système Linux Centos7) sont des serveurs dédiés aux calculs. Le gestionnaire de jobs SLURM gère sur les nœuds de calcul la répartition et l'exécution des traitements que vous lancez à partir du nœud interactif. Un processus qui tourne sur un nœud de calcul accède à des données hébergées sur la baie de stockage, effectue un traitement et enregistre le résultat sur la baie.

Les nœuds de calcul sont répartis en 4 catégories :

  • 12 nœuds de calcul bi processeurs Intel Xeon Gold 6136 à 3 Ghz, de 24 processeurs et 192 Go de RAM chacun. Ces nœuds sont regroupés dans une partition Slurm que nous avons nommée "24CPUNodes".
    Cette partition sera adaptée dans la majorité des cas d'utilisation. Chaque processus sera cependant limité à 24 threads et/ou 180 Go de RAM. En revanche, le nombre de processus créés par un Job, un Job Step ou une Task n\'est limité que par la taille totale de la partition (et la disponibilité des ressources) : par exemple un unique Job pourra exécuter, en parallèle, 3 Steps de 2 Tasks chacun, avec chaque Task créant 24 threads. Ce Job utilisera 144 CPUs et sera distribué sur 6 nœuds.
    Il s'agit de la partition par défaut.
  • 4 nœuds de calcul bi processeurs AMD EPYC 7402 à 2,8 Ghz, de 48 processeurs et 512 Go de RAM chacun. Ces nœuds sont regroupés dans une partition Slurm que nous avons nommée "48CPUNodes". Cette partition sera adaptée aux Jobs nécessitant plus de 24 threads et/ou 192 Go de RAM pour un même processus.
  • 7 nœuds de calcul dotés chacun de 4 de cartes graphiques Nvidia Geforce GTX 1080TI. Ces nœuds sont regroupés dans une partition Slurm que nous avons nommée "GPUNodes". Cette partition est destinée aux traitements tirant parti de la puissance de calcul fournie par les processeurs des GPUs. Les frameworks de Deep Learning (TensorFlow, Theano, Pytorch, ...) en sont le parfait exemple.
  • 1 nœud de calcul doté de 3 cartes graphiques Nvidia Quadro RTX6000 (24 Go RAM). Ce nœud est regroupé dans une partition Slurm que nous avons nommée "RTX6000Node". Cette partition est destinée aux traitements tirant parti de la puissance de calcul fournie par les processeurs des GPUs et une quantité de mémoire importante.

D'une baie de stockage

D'une capacité d\'environ 1 Po, ce stockage est assuré par une baie Isilon composée de 11 nœuds. Les données sont accessibles depuis le nœud interactif et les nœuds de calcul via le protocole NFS.