sge

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édentes Révision précédente
Prochaine révision
Révision précédente
sge [2011/07/06 10:08] – modification externe 127.0.0.1sge [2017/08/25 09:56] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
-**SGE: Sun Grid Engine**, est un gestionnaire de travaux (batch scheduler). Depuis 2011, est remplacé par 2 projets libres qui partent des sources de la dernière version publiÃe libre:+**SGE: Sun Grid Engine**, est un gestionnaire de travaux (batch scheduler). \\ 
 +Depuis 2011, est remplacé par 2 projets libres qui partent des sources de la dernière version publiée libre:
   *  [[https://arc.liv.ac.uk/trac/SGE/wiki|the Son of Grid Engine project]]   *  [[https://arc.liv.ac.uk/trac/SGE/wiki|the Son of Grid Engine project]]
   *  [[http://gridscheduler.sourceforge.net/|Open Grid Scheduler]]   *  [[http://gridscheduler.sourceforge.net/|Open Grid Scheduler]]
  
 +====== Installation ======
 +Tout est installé dans ///local/export/sge// (chemin utilisé sur les machines de l'IUSTI). Ce dossier est partagé sur toutes les machines de calcul, puisqu'il contient entre autres les spoolers.
  
-====== modifier les propriétes de la queue de soumission ====== +====== Configuration ====== 
-un seul job Ã  la fois:+ 
 + 
 +===== les files ===== 
 +  * [[http://wikis.sun.com/display/GridEngine/Configuring+Queues]] 
 +Les machines de calcul sont organisées en __files de travaux__. Le nom des files doit permettre de se faire une idée des caractéristiques de la file, en terme de ressources disponibles (le but étant de partager le maximum de ressources entre chaque utilisateur).\\ 
 +En cas de doute, utiliser la queue "small" par défaut 
 + 
 +^ queue ^ procs ^ memory/procs ^ slots ^ commentaires ^ 
 +| small | 8 | 3Go | 5 | machine octopus | 
 +| big | 8 | 3Go | 1 | machine octopus 
 +| long | 8 | 2Go | 8 | 2 machines, charybde et scylla, à réserver au parallèle MPI | 
 +| latp | 32 | 256Go | 30 | cette [[http://mmg.cnrs-mrs.fr/doku.php?id=bullx_reservation|queue]] est soumise à restriction | 
 + 
 + 
 +===== Soumettre un job ===== 
 +==== séquentiel ==== 
 + 
 +voir [[http://sites.univ-provence.fr/~iusti/doku.php?id=sge#script_d_un_code_sequentiel]] 
 +==== parallèle ==== 
 +Exemple simple sur holopherne (les homedir ne sont pas en réseau): 
 +<code shell> 
 +/usr/lib64/openmpi/bin/mpirun -np $NSLOTS /usr/bin/hostname</code> 
 +et on lance: 
 +<code> 
 +qsub -q latp -pe impi 4 -cwd -j y ./exemple2.sh 
 +Your job 18540 ("exemple2.sh") has been submitted 
 +</code> 
 + 
 + 
 +Voici un autre exemple de script plus complexe, pour lancer un job parallèle (limité à 8 instances) sur la queue long (autre serveur avec homedir en réseau) 
 +<code> 
 +#!/bin/sh 
 +
 +#$ -S /bin/sh 
 +#$ -N "calcul_qsub" 
 +#$ -j y 
 +#$ -M me@cmi.univ-mrs.fr 
 +#$ -m be 
 +#$ -cwd 
 +# queue Long 
 +#$ -q long 
 +#$ -pe mpi_labo 8 
 + 
 +PATHINIT=$PWD 
 +cd ~/pelicans/trunksource pel_env_new 
 +cd $PATHINIT 
 + 
 +module add mpi/sunhpc821c 
 +pel run -np $NSLOTS $EXE0 data.pel resu 
 + 
 +</code> 
 +  * on peut mettre moins que 8 pour la ligne -pe 
 +  * dans la commande mpirun (ou son équivalent), ne pas mettre le nombre de procs, mais la varaible $NSLOTS 
 +  * on peut tester si la soumission sera acceptée, en tapant: 
 +<code> 
 +qsub -w v ./script.sh 
 +</code> 
 + 
 +==== paramétrique ==== 
 +on veut lancer: 
 +<Code> 
 +monprog 100 
 +monprog 200 
 +monprog 400 
 +... 
 +</Code> 
 +Plutôt que d'ecrire autant de scripts que de valeurs différentes du paramètre, on va utiliser la variable **SGE_TASK_ID**: 
 +<Code> 
 +#!/bin/sh 
 +#$ -N mon_script_parametrique 
 +#$ -cwd 
 +#$ -j y 
 +#$ -S /bin/sh 
 +#$ -M moi@latp.univ-mrs.fr 
 +#$ -m be 
 +#$ -q small 
 +
 +num = $(10*(2**($SGE_TASK_ID) - 1)) 
 +/home/moi/mon_prog $num  
 +</Code> 
 +et on lance par la commande: 
 +<Code> 
 +qsub  -q small  -t 1-8 mon_script.sh 
 +</Code> 
 +plus d'infos, ''man qsub'', option ''-t'' 
 + 
 +avec un script matlab, il vaut mieux utiliser une fonction de matlab 
 +<Code> 
 +#!/bin/bash 
 +
 +#$ -cwd 
 +#$ -S /bin/bash 
 +#$ -N "optimisme_FB" 
 +##$ -o output 
 +##$ -e output 
 +#$ -M gerard.henry@univ-amu.fr 
 +#$ -m be 
 +
 +. /etc/profile.d/modules.sh 
 +module purge matlab 
 +module load matlab/8.1 
 + 
 +matlab -nodesktop -nosplash -r "FB_NbIt = str2num( getenv('SGE_TASK_ID') ); addpath(genpath('../Toolbox_optimism/'));params;exit" 
 +</Code> 
 +le fichier params.m contenant le code: 
 +<Code> 
 +if ~exist('FB_NbIt','var'
 +  FB.param.NbIt = 10; 
 +else 
 +  FB.param.NbIt = FB_NbIt; 
 +end 
 +</Code> 
 + 
 +====== modifier les propriétes de la queue de soumission ====== 
 +un seul job à la fois:
 <code> <code>
  qstat -f  qstat -f
Ligne 45: Ligne 162:
  
 ====== Fichiers ====== ====== Fichiers ======
-  * voir [[reserve:install_sge|installation]]+  * voir [[reserve:sge|installation]]
   * sur fury, voir /donnees/provisoire/logiciels/SGE   * sur fury, voir /donnees/provisoire/logiciels/SGE
-  * dernière version gratuite: 6u5 +  * dernière version gratuite: 6u5 
-  * version installée6u3 +  * depuis rachat par Oracle de SGE, plusieurs forks
-  * voir: Open Grid Scheduler, fork libre de SGE depuis rachat par Oracle+ 
 +^ Projet ^ mailing list ^ Site ^ 
 +| [[https://arc.liv.ac.uk/trac/SGE|Son of Grid Engine project]] | [[sge-discuss@liv.ac.uk]] | [[https://arc.liv.ac.uk/mailman/listinfo/sge-discuss]] | 
 +| [[http://gridengine.org|Open Source Grid Engine Community]] | [[users@gridengine.org]] | [[http://gridengine.org/mailman/listinfo/users]] | 
 +| [[http://gridscheduler.sourceforge.net/|Open Grid Scheduler]] | [[gridscheduler-users@lists.sourceforge.net]] | [[http://sourceforge.net/mailarchive/forum.php?forum_name=gridscheduler-users]] | 
 +| Oracle GridEngine (ex-SGE) | | [[http://forums.oracle.com/forums/forum.jspa?forumID=859|forum Oracle GridEngine]] |
  
 ====== Docs ====== ====== Docs ======
Ligne 55: Ligne 177:
   * http://wikis.sun.com/display/GridEngine/Monitoring+and+Controlling+Jobs   * http://wikis.sun.com/display/GridEngine/Monitoring+and+Controlling+Jobs
   * https://www.nbcr.net/pub/wiki/index.php?title=Understanding_SGE_job_status   * https://www.nbcr.net/pub/wiki/index.php?title=Understanding_SGE_job_status
- 
  • sge.1309939706.txt.gz
  • Dernière modification : 2017/08/25 09:55
  • (modification externe)