Il est possible de paramétrer des queues sous SGE avec la commande qconf. Lister les propriétés des queuesLister toutes les queues : # qconf -sql Détails d’une queue en particulier : # qconf -sq <nom_queue> Configurer une queueAjouter une nouvelle queueAjouter une nouvelle queue (l’éditeur de texte par defaut s’ouvrira pour modifier le modèle prédéfini) : # qconf -aq <nom_Queue> Ajouter une nouvelle queue à partir d’un fichier qui a déjà définie la queue (Le fichier de définition
[ TAG ] : Cluster
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
Parfois les clusters de calcul subissent de fortes charges, dûes à des résidus de calculs terminés qui peuvent toujours apparaître dans la liste des processus, SGE est censépourvoir gérer ce type de problème grâce au fichier prolog et/ou epilog, situés dans <$SGE_ROOT>/site/ mais les problèmes peuvent persister. Load AverageLe load_avg est une valeur fournie par la commande uptime ou celles du type top, htop, etc. et indique la charge processeur moyenne. La commande qstat affiche également
Pour limiter le nombre de calcul lancé par un utilisateur, il est possible de paramétrer un script dans le fichier prolog de SGE en appelant un autre fichier, ici nomé MaxJobs contenant les restrictions. Fichier de configurationFichier de limitationDans le fichier <$SGE_ROOT>/site/MaxJobs ont ajoute le nombre maximal de jobs qu’un utilisateur peut lancer suivi de son compte en précisant une valeur max par défaut. # cat <$SGE_ROOT>/site/MaxJobs#Nb_job:user8:defaut20:jerry20:jess10:mor
Le dossier <$SGE_ROOT>/site/ comporte un certain nombre de fichiers définissant le comportement de SGE, ce dossier contient également les fichiers prolog et epilog. Fichiers de configurationSi ces fichiers existent et sont définis, ils remplacent la configuration globale par défaut de SGE. Ces fichiers sont un moyen d’automatiser l’exécution des jobs. PrologLe prolog est un script qui est excétuté avant le lancement des jobs sous SGE. Ce fichier permet d’automatiser l’exécution des jobs, c
Parfois un script ne peut pas se lancer car la queue a été paramétrée avec une classe Les classesLes classes sous SGE ? A Job Class is :A set of jobs that are equivalent in some sense and treated similarly.In Sun Grid Engine, Enterprise Edition a job class is defined by the identical requirements of the corresponding jobs and the characteristics of the queues being suitable for those jobs. Manipuler les classesCréé une nouvelle classe en ouvrant un éditeur de texte : # qconf -ajc <job_class
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
SGE est l’ordonnanceur de taches qui permet aux utilisateurs de soumettre leurs jobs. Chaque noeud de calcul execute un daemon sgeexecd pour dialoguer avec le daemon qmaster. Ce dernier permet de tout orchestrer. Listes des commandesSeul le role des commandes est decrit, les options de celles-ci etant consultables avec man. Commandes d’administration Commande Explication # qconf Commande de configuration en mode texte # qmon Gestion complete du cluster en mode graphique # qmod Gestion d
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
La commande sinfo permets d’afficher des informations comme le statut des noeuds ou des partitions sous SLURM.Cette commande affiche à la fois l’état des noeuds et peut renseigner un complément d’information, le code d’état (*, +, %, etc.) Pour des informations plus détaillées (non troquées), il faut utiliser les options N (--Node), e (--exact) et l (--long), la commande est : # sinfo -Nel Flag d’états possibles des noeuds Flag Description * Le noeud ne répond pas actuellement et ne se ver
SGE est l’ordonnanceur de taches qui permet aux utilisateurs de soumettre leurs jobs. Chaque noeud de calcul execute un daemon sgeexecd pour dialoguer avec le daemon qmaster. Ce dernier permet de tout orchestrer. Daemons SGE Daemons and Other Définition sgeexecd Sur les noeuds qmaster Sur le master Documentationhttps://pmcs2i.ec-lyon.fr/documentation/run/commands.htmlhttps://hpc.llnl.gov/banks-jobs/running-jobs/slurm-commandshttps://slurm.schedmd.com/man_index.html
SLURM (Simple Linux Utility for Resource Management) est un planificateur de tâches gratuit et open source pour les noyaux de type Linux et Unix, utilisé par de nombreux superordinateurs et grappes d’ordinateurs dans le monde. Daemons SLURM Daemons and Other Définition slurmctld Contrôleur central (généralement un par cluster) - Sauvegarde facultative avec failover automatique - Surveille l’état et les ressources - Gère les queues et les jobs - Contrôleur central (génér
SLURM semble down ? Voici un récapitulatif des vérifications préliminaires. VérificationsSlurm répondExécutez scontrol ping pour vérifier que le serveur maître est joignable : # scontrol pingSlurmctld(primary) at <ServerName> is UP Si la commande indique qu’il répond, il peut s’agir d’un problème de mise en réseau ou de configuration spécifique à un utilisateur ou à un nœud du cluster. Slurm ne répond pasExécutez scontrol ping pour vérifier que le serveur maître est joignable : # scontrol
L’interface utilisateur de ligne de commande de Sun Grid Engine consiste en un jeu de programmes (commandes) auxiliaires qui vous permet de gérer des files d’attente, de soumettre et de supprimer des travaux, de vérifier l’état d’un travail et d’interrompre ou d’activer des files d’attente et des travaux. Le système Sun Grid Engine se sert du jeu de programmes auxilliaires suivant : Commandes Commande Définition qacct extrait des informations de comptabilité arbitraire du fichier journ
SLURM (Simple Linux Utility for Resource Management) est un planificateur de tâches gratuit et open source pour les noyaux de type Linux et Unix, utilisé par de nombreux superordinateurs et grappes d’ordinateurs dans le monde. Commandes de baseFile d’attente = queue = partition dans SLURM Commande Définition sinfo interrogation des files d’attente sbatch soumission d’un job dans une file d’attente (appelées partitions dans SLURM) salloc réservation de ressources en intera
Problème rencontrés avec des noeuds sous gestions SLURM. Etats possibles des noeuds2022/10/01/SLURM-Status-des-noeuds/ Commandes de baseVérifier l’état des noeudsAffiche uniquement la raison des noeuds en down, drained and draining : # sinfo -R Pour des informations plus détaillées (non troquées) : # sinfo -Nel Affiche le détail d’un noeud en particulier : # scontrol show nodes=<mynode> Equivalent à (sans le “s” à node) : # scontrol show node <mynode> Affiche tous les noeuds en
Dans un premier temps : s’assurer que les noeuds en questions sont bien gérés par SGE Etats des queuesStatuts d’erreur possibleSous SGE, les statuts possibles pour une queue sont : a : alarm c : configuration ambiguous d : disable o : ? (operator) s : Suspending u : unreachable A : Alarm - Quand le noeud est full ou a utilisé toutes ses ressources AU : Alarm - Unreachable AS : Alarm - Suspended - Si le noeud a atteint ses limites, SGE lui interdit de prendre un autre job et attent
Les quotas sour SGE permettent d’appliquer des limites à plusieurs types de ressources en fonctions des consommateurs. Types de ressources et types de consommateursRessourcesLes ressources peuvent être des : slots (coeurs) arch (architectures) mem_total (mémoire) num_proc (nombre de processeur) swap_total (mémoire swap) built-in resources (ressources interne) custom-defined resource (ressources ajoutées, comme un compilateur de licence) ConsommateursLes consommateurs de ressources peuvent être
Certains users ont besoin de plus de ressources pour réaliser des calculs et il est possible de leur allouer personnellement plus de coeurs sous SGE. Lister les quotasCommandesPour lister tous les quotas définis, on utilise la commande qconf avec les options s, r, q, s, et l : # qconf -srqsl Pour voir tous les quotas détaillés : # qconf -srqs Pour voir un quotas en particulier il suffit de préciser son nom : # qconf -srqs [nom] ExemplesLister tous les quotas définis : # qconf -srqslmax_slots
Créer des utilisateurs SLURM. Lister l’ensemble des utilisateurs et comptes SLURMLes comptes SLURM se différentient des utilisateurs SLURM. UtilisateursSur votre cluster : # sacctmgr list user Exemple de sortie : User Def Acct Admin------ ----------- ---------dustin ST Nonejim ST Noneeleven ST NoneErica ST Nonedartagn+ DG Noneroot Administ+mike ST Nonewill ST Nonebilly ST
Pour monter un volume calculs sur le point de montage /home/calculs pour les différents nœuds SLURM concernés Sur NetApp GUIVérifier la version de NFSNetApp propose aussi NFS version 4, pour le vérifier, aller dans l’interface Web NetApp. Récupérer les @IPRécupérer les “IP_ADDRESS_NFS“ : Dans > Volumes > vol_calculs > Déplier la flèche > Récupérer les @IP NFS @IP_A:/vol/vol_calculs @IP_B:/vol/vol_calculs Sur le clusterInformations sur les noeudsRécupérer les infos sur les noeuds : #
Principales différences entre une variable d’environnement et un module d’environnement. Variables d’environnementLes variables d’environnemt permettent de communiquer des informations entre différentes applications et sont fournies par l’OS. Manipuler les variablesPour lister les variables d’environnemt : # printenv# env# echo $NOM_VAR Pour définir une variable d’environnement : # export $NOM_VAR=valeur Pour supprimer une variable d’environnement : # unset $NOM_VAR Exemples les plus courants