Utilisation des clusters de calcul¶
Avertissement
L’utilisation de SLURM est obligatoire sur les clusters de la Plateforme DISC
Introduction¶
Vous souhaitez lancer un calcul (séquentiel ou parallèle) nécessitant une certaine quantité de ressources (coeurs, noeuds …) et de mémoire. Il faut vous connecter en SSH sur un des clusters de calcul de DISC, et utiliser SLURM
ssh user@10.36.1.135
C’est Quoi SLURM ? <<<<<<< HEAD —————- ======= —————— >>>>>>> Commit new docx SLURM est un « JOB SCHEDULER » ou un gestionnaire de ressources
il sert à gérer les ressources d’une machine multi-utilisateurs multi-taches en permettant:
de choisir les ressources physiques à utiliser
de planifier le lancement des calculs (heure de départ, durée limite …)
de réserver les ressources nécessaire au bon déroulement d’un calcul
d’ordonnancer les « JOB » lancés par les utilisateurs
SLURM est un outil indispensable
Lancer un travail sur le cluster¶
Que faire ?¶
Sur le frontal du cluster, lancer votre calcul dans un environnement SLURM en précisant vos besoins en termes de ressources (coeurs, noeuds …), d’heure de démarrage et de durée.
Cela vous garantie notamment que votre calcul sera seul sur les ressources allouées et donne plus de sens au temps de calcul observés.
Comment le faire ?¶
avec SLURM
Deux modes principaux de fonctionnement sont possibles :
interactif, l’appel à srun réserve les ressources demandées et ouvre une session sur un noeud du cluster. L’utilisateur a ensuite la main pour lancer son application ou tout autre commande. Dès lors que l’utilisateur quitte sa « session » il libère automatiquement les ressources.
Voir les nombreux exemples du paragraphe « Lancement d’un job en interactif ».
batch, les ressources requises, la durée du calcul, le(s) job(s) à lancer sont décrits dans un script, lancé en tâche de fond. Les ressources seront libérés à la fin du « walltime » fixé ou par la suppression du job (scancel).
Le mode batch utilize la même notation que le mode interactif à ceci près qu’il faut renseigner les ressources dans le script.
Voici les commandes de bases necessaire pour utiliser SLURM.
A T T E N T I O N: il faut indiquer le projet pour lequel vous travaillez (option -A [nom du projet] )
Lancement d’un job en interactif : srun –pty bash -i¶
par defaut un seul coeur, n’importe ou
srun --pty bash -i
<<<<<<< HEAD Demander un noeud en entier (l’ensemble des coeurs et de la mémoire)
srun --exclusive --pty bash -i
Demander 4 coeurs
srun -n4 --pty bash -i
Demander 4 coeurs sur le même noeud
srun -N1 -n4 --pty bash -i
>>>>>>> Commit new docx
Demander quatre coeurs sur un même processeur (sur un seul noeud)
- <<<<<<< HEAD
srun -n4 –cores-per-socket=4 –pty bash -i
Demander quatre coeurs, répartis sur deux processeurs du même noeud
srun -N1 -n4 --sockets-per-node=2 --cores-per-socket=2 --pty bash -i
<<<<<<< HEAD Demander la machine node005 en entier
srun --exclusive -w node005 --pty bash -i
Demander les machine node005 et node010 en entier
srun --exclusive -w node005,node010 --pty bash -i
srun -w node005 --pty bash -i
Demander lun coeur sur chaque machine node005 et node010 .. code-block:: none
srun -w node005,node010 –pty bash -i
>>>>>>> Commit new docx
ou
- <<<<<<< HEAD
srun –exclusive -w node0[05,10] –pty bash -i
demander les machine node005 a node010 en entier
- <<<<<<< HEAD
srun –exclusive -w node0[05-10] –pty bash -i
Lancement d’un travail en batch : sbatch¶
Dans ce cas, les ressources requises sont décrites dans un script. à l’aide de la directive #SBATCH
Lancer un travail
sbatch ./slurmscript.sh
Etre raisonnable: le walltime¶
Par défaut, le walltime dun job est à 2 heures dans le format suivant: 02:00:00
Il est également possible de fixer le walltime en passant en paramètre la valeur souhaitée:
--time=05:00:00
Pour le mode batch, en modifiant la ligne du script suivante
#SBATCH --time=05:00:00
Gérer ses travaux lancés sur le cluster¶
Obtenir la liste des jobs tournant sur la machine¶
squeue:
JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON)
19125 short test10 chetrit R 0:02 2 node[005,010]
Séquence de calcul « standard »¶
pour soumette un travail en mode BATCH sur le cluster il faut au minimum:
écrire le script de soumission monscript.sbatch
soumettre le batch: sbatch monscript.sbatch
vérifier le fichier d’erreur .err
Suivre son déroulement (squeue, ….)
vérifier les résultats
nettoyer impérativement l’espace de travail (suppression fichier de travail et intermediares, l’espace disque n’est pas infini, pensez au autres ..)
<<<<<<< HEAD Pour tout renseignement vous pouvez contacter l’équipe :email:`DISC (meso.crcm@inserm.fr)`. ======= Pour tout renseignement vous pouvez contacter l’équipe DISC . >>>>>>> Commit new docx