[ CATEGORIE ] : SGE

[ TITLE    ] : SGE - Proprietes des queues
[ CATEGORY ] : //
[ DATE     ] :

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

[ TITLE    ] : Bascule de noeuds sous SGE vers SLURM
[ CATEGORY ] : //
[ DATE     ] :

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-----------------------------

[ TITLE    ] : SGE - Observer des jobs
[ CATEGORY ] : //
[ DATE     ] :

Pour observer de plus près le comportement d’un job, on peut utiliser la commandes qstat. Extrait du manL’aide de la commande précise : # qstat --helpusage: qstat [options] [-ext] view additional attributes [-f] full output [-F [resource_attributes]] full output and show (selected) resources of queue(s) [-g c] display cluster queue summary [-g d]

[ TITLE    ] : SGE - Status des jobs
[ CATEGORY ] : //
[ DATE     ] :

Les commandes qstat et qmod affichent les informations des jobs dans la file d’attente. Les jobs passent généralement par plusieurs statuts au cours de leur exécution. Les statuts typiques sont pending, running, suspending, hold et queue wait : p : pending r : running s : suspending z : zombie qw : queue wait Rq : Re-queue h : hold et h = |hu|ho|hs|hd|hj|h|a| hu : user hold, ho : operator hold hs : system hold hj : job hold a : alarm t : transfering d : deletion z : finished normally

[ TITLE    ] : SGE - Surcharge des noeuds
[ CATEGORY ] : //
[ DATE     ] :

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

[ TITLE    ] : SGE - Limiter le nombre de job
[ CATEGORY ] : //
[ DATE     ] :

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

[ TITLE    ] : SGE - Prolog et Epilog
[ CATEGORY ] : //
[ DATE     ] :

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

[ TITLE    ] : SGE - Les classes
[ CATEGORY ] : //
[ DATE     ] :

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

[ TITLE    ] : SLURM/SGE Cheat Sheet
[ CATEGORY ] : //
[ DATE     ] :

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

[ TITLE    ] : SGE - Commandes Utiles
[ CATEGORY ] : //
[ DATE     ] :

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

[ TITLE    ] : SGE et ACL
[ CATEGORY ] : //
[ DATE     ] :

SGE est capable de gérer les ACl en interne. Les ACL sont utilisées pour définir des projets auxquels des utilisateurs peuvent avoir accès (ou pas) pour exécuter des tâches. Il est possible de définir ces ACL en fonction des ressources du cluster Pricipe de baseCes ACL contiennent des noms d’utilisateur et de groupes UNIX et sont ajoutées aux listes access-allowed ou access-denied dans les files d’attente (queues) ou dans les environnement parallèle. Les utilisateurs appartenant aux ACL acces

[ TITLE    ] : SGE - Fichiers de config et logs
[ CATEGORY ] : //
[ DATE     ] :

Fichiers principaux de SGE Fichiers de logsLes fichiers de logs sous SGE se trouvent : $SGE_ROOT/default/spool/qmaster/messages$SGE_ROOT/default/spool/qmaster/schedd/messages$SGE_ROOT/default/spool/<node>/messages Exemple : /opt/sge/default/spool/qmaster/messages Les panicLogs se trouvent dans : /var/spool/var/tmp/spool Les sorties standards STDOUT/STDERR des jobs utilisateurs sont une bonne ressource pour debug Documentationhttps://linux.die.net/man/8/sge_execdhttps://bioteam.net/wp-c

[ TITLE    ] : SGE - Daemons
[ CATEGORY ] : //
[ DATE     ] :

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

[ TITLE    ] : SGE - Commandes de base
[ CATEGORY ] : //
[ DATE     ] :

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

[ TITLE    ] : SGE - Statut des queues
[ CATEGORY ] : //
[ DATE     ] :

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

[ TITLE    ] : SGE - Attribuer des quotas
[ CATEGORY ] : //
[ DATE     ] :

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

[ TITLE    ] : SGE - Allouer des coeurs
[ CATEGORY ] : //
[ DATE     ] :

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