[ ARTICLES CRÉÉS EN 2023 ]

Pour effectuer des diagnostics et sortir des statistiques sous SLURM, on peut utiliser 3 commandes : # sdiag# sacctmgr show stats# sacctmgr show problem Commande sdiagUtilitéLa commande sdiag permet d’obtenir de nombreuses informations sur : le nombre de jobs (lancés, annulés, terminés, échoués, etc.) les appels RCP et qui les exécute les temps des traitements ExempleExemple de sortie : # sdiagServer thread count: 3Agent queue size: 0Agent count: 0DBD Agent queue size: 0Jobs submitted: 523Jo

Parfois il arrive que des utilisateurs aient lancé des jobs sur une queue avec une QOS (de temps) trop courte et que leurs calculs ne puissent pas se finir dans le temps imparti. Pour leur accorder du temps supplémentaire, il faut modifier le TimeLimit à l’aide de la commande scontrol avec un update. Créer une limite de tempsNormalement on définie une QOS valable pour un groupe d’utilisateurs ou pour une queue/noeud mais il est possible de modifier une valeur (ici de temps) au cas par cas. Affic

[ ARTICLES CRÉÉS EN 2022 ]

Dans notre cas nous devons basculer 3 noeuds actuellement sous gestion SGE vers SLURM, les noeuds à basculer sont mynode05, mynode06, mynode07 et mynode08. Administration sous SGEAffichageOn affiche la liste des noeuds sous gestion SGE : # qstat -fqueuename qtype resv/used/tot. load_avg arch state-----------------------------------------------------------------------------allqueue.q@mynode01.hpc BIP 0/13/40 10.72 lx-amd64-----------------------------

La commande squeue affiche les informations des jobs dans la file d’attente sous forme de plusieurs colonnes dont ST et NODELIST (REASON). La colonne ST indique le statut du job et NODELIST (REASON) donne plus d’informations sur la raison pour laquelle le job n’a pas démarré. # squeueJOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON)10674 n01_25 particule emmetbrown R 17:00 4 n13-[01-04]10668 node quantique martymcfly R 17:45

Vous trouverez ci-dessous un certain nombre d’exemples de scripts pouvant être utilisés comme modèle pour créer vos propres scripts de soumission SLURM. Simple scripts de soumissionLes jobs nécessitent un fichier de script que SLURM interprète et exécute. Le fichier SBATCH contient à la fois des commandes spécifiques à SLURM à interpréter ainsi que des programmes à exécuter. Vous trouverez ci-dessous un exemple simple d’un job pour exécuter un fichier Stata do. ScriptCe fichier est nommé myscrip

Equivalences des commandes SLURM/SGE Commandes utilisateur Explications Commande Slurm Commande SGE Interactive login # srun --pty bash # qlogin # srun -p "part_name" --pty bash # sdev Job submission # sbatch [script file] # qsub [script file] Job deletion # scancel [job_ID] # qdel [job_ID] Job status all # squeue -all # qstat -f Job status # squeue [job_ID] # qstat -u \ * [-j job_ID] Job user status # squeue -u [user name] # qstat [-u user name] Job hold # sco

Il existe quatre composants principaux dans Slurm : le compte Unix, les groupes Unix, les comptes Slurm et les associations Slurm. Sous UnixCompte/utilisateur UnixTout utilisateur doit avoir un compte unix pour s’authentifier à un cluster. Certaines informations sont également associées à ce compte comme le shell par défaut, le $HOME, etc. La commande getent passwd $USER permet d’en savoir plus le compte unix. Groupes UnixChaque compte/utilisateur Unix appartient à au moins un groupe, du même no

Il est possible de spécifier une QOS (Quality Of Service) pour chaque jobs soumis dans Slurm, la commande sacctmgr permet de les gérer. Gérer les QOSManipulation des QOSAjoutAjouter une nouvelle QOS : # sacctmgr add qos ParticuleCalc Ajouter une QOS avec directement des paramètres : # sacctmgr -i add qos high set priority=1000# sacctmgr -i add qos medium set priority=500# sacctmgr -i add qos low set priority=100 AffichageAfficher la QOS ParticuleCalc : # sacctmgr show ParticuleCalc Afficher

Il est possible de spécifier une QOS (Quality Of Service) pour chaque job soumis dans Slurm, la QOS affectera le job de 3 façons : Priorité Préemption Limites C’est la commande sacctmgr permet de gérer la QOS. Quality Of ServicePour changer et activer la QOS, il faut activer le plug-in Multifactor Job Priority en changeant l’option PriorityType à priority/multifactor dans slurm.conf Fichier slurm.conf : # Activate the Multifactor Job Priority Plugin with decay# PriorityType=priority/basicPrio

Un script en bash pour surveiller vos noeuds sous SLURM, le script vérifie si les noeuds tombent en drain ou drng et les relance automatiquement, il récupère ensuite les logs d’erreurs de SLURM sur le noeud et les place dans LOG_EXPORT_REPOSITORY. Le script est à lancer avec la commande watch : # watch -n <IntervaleSecondes> <CheminScript> Ou dans un cron : # crontab –e*/5 * * * * /root/scripts/Watchnode_SLURM.sh >> /var/log/slurm/custom/nodes.log 2>> /var/log/slurm/cust

Créé à l’origine par l’équipe de développement système HPC Linux du CEA en France, ClusterShell est une bibliothèque de commandes qui permet d’administrer les principaux composants d’un centre de calcul : clusters de calcul, clusters de stockage et fermes de serveurs en fournissant principalement 3 outils d’administration qui, depuis le cluster principal, sont exécutés sur un ou plusieurs noeuds. Les 3 outils sont : nodeset: gérer les ensembles et les groupes de noeuds du cluster clush : exéc

Fichiers principaux de SLURM Fichiers de configuration Configuration Files Définition acct_gather.conf Slurm configuration file for the acct_gather plugins burst_buffer.conf Slurm burst buffer configuration cgroup.conf Slurm configuration file for the cgroup support ext_sensors.conf Slurm configuration file for the external sensor support gres.conf Slurm configuration file for generic resource management helpers.conf Slurm configuration f