Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
faq:sge [2014/02/25 08:56] – [SGE : Soumettre un job] ltaulellfaq:sge [2018/01/24 10:53] (Version actuelle) – supprimée ltaulell
Ligne 1: Ligne 1:
-====== FAQ : Sun Grid Engine ====== 
  
-{{INLINETOC}} 
-===== qstat: command not found ===== 
- 
-Il manque les variables suivantes dans votre environnement : 
- 
- 
-<file bash .bashrc> 
-# Override PATH wide 
-export PATH="/gridware/sge/bin/lx24-amd64:$PATH" 
- 
-# SGE exports 
-export SGE_ROOT="/gridware/sge" 
-export ARCH="lx24-amd64" 
-export SGE_QMASTER_PORT="6444" 
-export SGE_EXECD_PORT="6445" 
-export SGE_CELL="default" 
-export SGE_CLUSTER_NAME="psmn" 
-</file> 
- 
-pour le shell bash : <code>source /usr/local/modeles/sge.sh</code> 
- 
-et pour le shell tcsh : <code>source /usr/local/modeles/sge.csh</code> 
- 
-===== Comment choisir les queues/sous-queues de test et productions adaptés ? ===== 
- 
-Par les achats successifs de nœuds de calcul avec des architectures de générations différentes, il n'était pas possible de présenter une seule queue, il était préférable d'avoir des queues différentes pour chaque architecture, afin d'atteindre des performances intéressantes pour chaque queue. 
- 
-Concrètement le choix de la queue de "production" devrait se faire en fonction de l'objectif voulu : 
- 
-  * si le critère principal est la rapidité de l'exécution, il faut regarder quelles sont les queues disponibles pour recevoir le job. L'utilisation des commandes du type ''qstat -g c'' devraient être la base de ce choix.  
-  * si le critère principal est le grand nombre de ressources (p.ex. un job avec beaucoup de cœurs, un job avec beaucoup de mémoire RAM), alors il faut plutôt s'orienter vers les queues qui possèdent un grand nombre de ressources (au moins les ressources demandées par le job), même si le temps d'attente dans la queue est plus important.  
- 
-Évidemment, la commande ci-dessus et la [[documentation:clusters:batch#les_files_d_attente|page web qui détaille les ressources]] par queue devraient guider le choix de la queue. 
- 
-Et bien sur, pour la mise au point du code, il faut choisir une queue de test qui soit la plus proche de la queue de "production" envisagée (i.e. même type de nœuds de calcul). P.ex. ''r815lin128ib'' a été choisie pour la queue de production, il faut choisir ''r815_ib_test'' pour les tests. 
- 
-===== SGE : Soumettre un job ===== 
- 
-<code> 
-qsub programme <input >output 
-</code> 
- 
-<code bash> 
-qsub -V -m b -m e -e /path/to/workdir/ -o /path/to/workdir/ -q $QUEUE script 
- 
--V : verbose 
--m b : mail @begin 
--m e : mail @end 
--e : where to put error files 
--o : where to put output files 
--q : file d'attente 
-</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]]. 
- 
-===== SGE : Les autres commandes utiles ===== 
- 
-==== Surveiller les jobs ==== 
- 
-  * Voir tous les jobs d'un utilisateur :  
- 
-<code>qstat -u login </code> 
- 
-  * Voir tous les jobs en exécution par queue :  
- 
-<code>qstat -g c </code> 
- 
-  * Voir tous les jobs de tous les utilisateurs en exécution (running) :  
- 
-<code>qstat -u "*" -s r </code> 
- 
-  * Voir tous les jobs de tous les utilisateurs en attente (pending ou waiting) :  
- 
-<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 :  
- 
-<code>qstat -j 87584 </code> 
- 
-  * Voir l'état d'un job avec plus de détails :  
- 
-<code>qstat -j 87584 -g t </code> 
- 
-  * Voir l'état d'un job avec encore plus de détails :  
- 
-<code>qstat -j 87584 -g t -s r </code> 
- 
-  * Supprimer un job :  
- 
-<code>qdel 85903 </code> 
- 
-  * Supprimer un job (forcer) :  
- 
-<code>qdel -f 109383 </code> 
- 
-  * Consommation d'heures CPU (utime sur les 30 derniers jours) : 
- 
-<code>qacct -o login -d 30 | tail -1 | awk '{print $3/3600}'</code> 
- 
-ou 
- 
-<code>qacct -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) : 
- 
-<code>qacct -b 201201010000 -e 201212312359 -o login | tail -1 | awk '{print $3/3600}'</code> 
- 
-==== Jobs qui ont des problèmes : ==== 
- 
-Lancer la commande suivante : 
-<code>qstat -g c </code> 
- 
-et regarder les deux dernières colonnes : 
- 
-  * aoACD : Nombre de coeurs qui sont au moins dans un des états suivants :  
-    * a Load threshold alarm  
-    * o Orphaned  
-    * A Suspend threshold alarm  
-    * C Suspended by calendar  
-    * D Disabled by calendar 
- 
-  * cdsuE : Nombre de coeurs qui sont au moins dans un des états suivants :  
-    * c Configuration ambiguous  
-    * d Disabled  
-    * s Suspended  
-    * u Unknown  
-    * E Error 
- 
-==== Status (etats) de jobs possibles : ==== 
- 
-  * d(eletion), 
-  * E(rror), 
-  * h(old), 
-  * r(unning), 
-  * R(estarted), 
-  * s(uspended), 
-  * S(uspended), 
-  * t(ransfering), 
-  * T(hreshold), 
-  * w(aiting). 
- 
-===== SGE : Variables d'environnement ===== 
- 
-Voir http://www.blog.kubiak.co.uk/post/53 & https://wiki.duke.edu/display/SCSC/SGE+Env+Vars 
- 
- 
-===== Références : ===== 
- 
-  * http://wiki.gridengine.info/wiki/index.php/Utilities 
-  * http://www.cac.cornell.edu/Ranger/Environment/more_cmds.aspx 
-  * http://cc.in2p3.fr/docenligne/1007 
-  * http://www.blog.kubiak.co.uk/post/53 
-  * https://wiki.duke.edu/display/SCSC/SGE+Env+Vars 
faq/sge.1393318619.txt.gz · Dernière modification : 2020/08/25 15:58 (modification externe)