Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédenteDernière révisionLes deux révisions suivantes |
documentation:tools:sge [2017/12/26 20:43] – [Accounting] ltaulell | documentation:tools:sge [2020/08/25 15:58] – modification externe 127.0.0.1 |
---|
====== GridEngine ====== | ====== GridEngine ====== |
| |
{{INLINETOC}} | |
| |
| |
est appliqué par GridEngine. Ceci afin de répartir plus équitablement les ressources disponibles. | est appliqué par GridEngine. Ceci afin de répartir plus équitablement les ressources disponibles. |
| |
===== SGE : Soumettre un job ===== | ===== GridEngine : Soumettre un job ===== |
| |
<code> | <code> |
| |
<code bash> | <code bash> |
qsub -V -m b -m e -e /path/to/workdir/ -o /path/to/workdir/ -q $QUEUE script | qsub -V -e /path/to/workdir/ -o /path/to/workdir/ -q $QUEUE script |
| |
-V : export environment variables | -V : export environment variables |
-m b : mail @begin | |
-m e : mail @end | |
-e : where to put error files | -e : where to put error files |
-o : where to put output files | -o : where to put output files |
</code> | </code> |
| |
**Il est plus simple de soumettre un script à SGE, qui contiendra plus d'options**. Voir [[documentation:tutorials:submit|la documentation complète pour soumettre un job]], ainsi que [[documentation:clusters:batch&#les_files_d_attente|la liste des files d'attente]]. | **Il est plus simple de soumettre un script à GridEngine, qui contiendra plus d'options**. |
| |
| <note important>Certaines options ne fonctionnent pas directement en CLI, il faut passer par un script (exemple : envoie des mails début et fin)</note> |
| |
| Voir [[documentation:tutorials:submit:accueil|la documentation complète pour soumettre un job]], ainsi que [[documentation:clusters:batch&#les_files_d_attente|la liste des files d'attente]]. |
| |
==== Comment choisir les files d'attente, de test ou de productions, adaptées ? ==== | ==== Comment choisir les files d'attente, de test ou de productions, adaptées ? ==== |
| |
Et bien sur, pour la mise au point du code, il faut choisir une file d'attente de test qui soit la plus proche de la file d'attente de "production" envisagée (i.e. même type de nœuds de calcul). P.ex. ''r815lin128ib'' a été choisie pour la file d'attente de production, il faut choisir ''r815_ib_test'' pour les tests. | Et bien sur, pour la mise au point du code, il faut choisir une file d'attente de test qui soit la plus proche de la file d'attente de "production" envisagée (i.e. même type de nœuds de calcul). P.ex. ''r815lin128ib'' a été choisie pour la file d'attente de production, il faut choisir ''r815_ib_test'' pour les tests. |
===== SGE : Les autres commandes utiles ===== | ===== GridEngine : Les autres commandes utiles ===== |
| |
==== Surveiller les jobs ==== | ==== Surveiller les jobs ==== |
<code>qstat -u login </code> | <code>qstat -u login </code> |
| |
* Voir l'état des files d'attente : | * Voir l'état des files d'attente (et la liste des files d'attente) : |
| |
<code>qstat -g c </code> | <code>qstat -g c </code> |
| |
| * Voir l'état des machines d'une queue |
| |
| <code>qstat -q <queue_name> -f</code> |
| |
* Voir tous les jobs de tous les utilisateurs en exécution (running) : | * Voir tous les jobs de tous les utilisateurs en exécution (running) : |
<code>qstat -u "*" -s p </code> | <code>qstat -u "*" -s p </code> |
| |
* Voir toutes les queues : | |
| |
<code>qconf -sql </code> | |
| |
(sql : show queues list) | |
| |
* Voir l'état d'une queue (commande interne PSMN) : | |
| |
<code>qstatqueue c6100lin24ib </code> | |
| |
* Voir l'état de toutes les queues (commande interne PSMN) : | |
| |
<code>qstatall </code> | |
| |
* Voir l'état d'un job en cours : | * Voir l'état d'un job en cours : |
<code>qstat -j 87584 -g t -s r | less </code> | <code>qstat -j 87584 -g t -s r | less </code> |
| |
* Enlever (clear) l'état Error d'un job : | |
| |
<code>qmod -cj <job_id> </code> | |
| |
* Voir les informations d'un job après son achévement (long) : | * Voir les informations d'un job après son achévement (long) : |
| |
<code>qacct -j 87584 | less</code> | <code>qacct -j 87584 -f /gridware/psmn/accounting | less</code> |
| |
* Supprimer un job : | * Supprimer un job : |
| |
<code>qdel -f 109383 </code> | <code>qdel -f 109383 </code> |
| |
| |
| |
| <hidden> |
| Ces commandes ne fonctionnent plus depuis la migration 2018! |
| |
| * <del>Voir l'état d'une queue (commande interne PSMN) : </del> ne fonctionne plus |
| |
| <code>qstatqueue c6100lin24ib </code> |
| |
| * <del>Voir l'état de toutes les queues (commande interne PSMN) :</del> ne fonctionne plus |
| |
| <code>qstatall </code> |
| |
| * Voir l'état d'un job en cours : |
| |
| <code>qstat -j 87584 | less </code> |
| |
| * <del>Enlever (clear) l'état Error d'un job :</del> ne fonctionne plus |
| |
| <code>qmod -cj <job_id> </code> |
| |
| |
| |
| </hidden> |
| |
==== Accounting ==== | ==== Accounting ==== |
| |
<note important>La nouvelle configuration de SGE nous empêche actuellement de diffuser l'accounting</note> | <note important>Le fichier d'accounting est diffusé sur ''/gridware/psmn/accounting''</note> |
| |
| |
* Détails des jobs sur les 30 derniers jours : | * Détails des jobs sur les 30 derniers jours : |
| |
<code>qacct -d 30 -o <login> -j </code> | <code>qacct -f /gridware/psmn/accounting -d 30 -o <login> -j </code> |
| |
* Consommation d'heures CPU (utime sur les 30 derniers jours) : | * Consommation d'heures CPU (utime sur les 30 derniers jours) : |
| |
<code>qacct -d 30 -o <login> | tail -1 | awk '{print $3/3600}'</code> | <code>qacct -f /gridware/psmn/accounting -d 30 -o <login> | tail -1 | awk '{print $3/3600}'</code> |
| |
ou | ou |
| |
<code>qacct -q "*" -o <login> -d 30 | awk '{ SUM += $5} END {print SUM/3600}'</code> | <code>qacct -f /gridware/psmn/accounting -q "*" -o <login> -d 30 | awk '{ SUM += $5} END {print SUM/3600}'</code> |
| |
* Consommation d'heures CPU (utime de date à date, dans cet exemple, l'année 2012) : | * Consommation d'heures CPU (utime de date à date, dans cet exemple, l'année 2012) : |
| |
<code>qacct -b 201201010000 -e 201212312359 -o <login> | tail -1 | awk '{print $3/3600}'</code> | <code>qacct -f /gridware/psmn/accounting -b 201201010000 -e 201212312359 -o <login> | tail -1 | awk '{print $3/3600}'</code> |
| |
==== Divers ==== | |
| |
* lister les noeuds d'une queue | |
* Show Queue | |
<code> | |
qconf -sq E5-2670deb64A | |
</code> | |
| |
* Show Group | |
<code> | |
qconf -shgrp @EquipatMeso64A | |
</code> | |
| |
==== Jobs qui ont des problèmes : ==== | ==== Jobs qui ont des problèmes : ==== |
* w(aiting). | * w(aiting). |
| |
===== SGE : Variables d'environnement ===== | ===== GridEngine : Variables d'environnement ===== |
| |
<note important>''#$'' est réservé à SGE pour effectuer des transmissions de paramètres (ex: ''#$ -cwd'' ou ''#$ -V'').</note> | <note important>''#$'' est réservé à GridEngine pour effectuer des transmissions de paramètres (ex: ''#$ -cwd'' ou ''#$ -V'').</note> |
| |
* SGE_O_WORKDIR : répertoire d'où à été soumis le job, utilisable dans les scripts | * SGE_O_WORKDIR : répertoire d'où à été soumis le job, utilisable dans les scripts |
* NSLOTS : nombre de coeurs demandé | * NSLOTS : nombre de coeurs demandé |
* JOB_ID : ID du job (unique) assigné par SGE | * JOB_ID : ID du job (unique) assigné par GridEngine |
* JOB_NAME : nom du job (-N) | * JOB_NAME : nom du job (-N) |
* PE_HOSTFILE : fichier de hosts | * PE_HOSTFILE : fichier de hosts |
| |
| |
==== Refs ==== | |
| |
* http://www.blog.kubiak.co.uk/post/53 | |
* https://wiki.duke.edu/display/SCSC/SGE+Env+Vars | |
* http://gridscheduler.sourceforge.net/htmlman/htmlman1/qsub.html?pathrev=V62u5_TAG (ENVIRONMENTAL VARIABLES) | |
| |
===== Références : ===== | ===== Références : ===== |
* http://wiki.ibest.uidaho.edu/index.php/Tutorial:_Creating_dependent_jobs :!: | * http://wiki.ibest.uidaho.edu/index.php/Tutorial:_Creating_dependent_jobs :!: |
* https://sites.google.com/site/anshulkundaje/inotes/programming/clustersubmit/sun-grid-engine :!: | * https://sites.google.com/site/anshulkundaje/inotes/programming/clustersubmit/sun-grid-engine :!: |
| * http://gridscheduler.sourceforge.net/htmlman/htmlman1/qsub.html?pathrev=V62u5_TAG (ENVIRONMENTAL VARIABLES) |
| |