Description générale SLURM

L’architecture logicielle SLURM déployée sur OSIRIM  est composée de :

  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.

  des noeuds 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 2 catégories de dimensionnement :

 - des nœuds de calcul 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 192 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 donc exécuter, en parallèle, 3 Steps de 2 Tasks chacun, 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.

- des nœuds de calcul de 64 processeurs et 512 Go de RAM chacun. Ces nœuds sont regroupés dans une partition Slurm que nous avons nommée « 64CPUNodes ». 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 partie de la puissance de calcul fournie par les processeurs des GPUs. Les frameworks de Deep Learning (TensorFlow, Theano, Pytorch, …) en sont le parfait exemple.

  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.

Pour connaître la procédure permettant de se connecter à cette plateforme, vous pouvez consulter la rubrique « Comment se connecter ».