Ceci est une ancienne révision du document !
Under contruction…
The job scheduler (or batch-queuing system) used in PSMN cluster is SGE,-previously Sun Grid Engine and now Son of Grid Engine-; it manages the execution of non-interactive jobs.
● Infrastructure:
To make the best use of resources, it is important to fill up the servers. For this, they are two strategies:
Filling at best quickly leads to a fragmentation between the servers, of parallel applications via mpi.
Filling at best is therefore only implemented on a few queues for parallel applications. On other queues, the fill in with the multiple of n cores of an entire server is used.
Job priority is:
This is to distribute the available resources more equitably.
The normal way to submit jobs to the cluster is using the qsub
command. For example:
qsub myscript.sh
The many options to the qsub
command are described in the manpage, man qsub
.
For example a more complex submission:
qsub -V -m b -m e -e /path/to/workdir/ -o /path/to/workdir/ -q $QUEUE script -V : export environment variables -m b : mail @begin -m e : mail @end -e : where to put error files -o : where to put output files -q : queue (file d'attente)
Nevertheless, it is easier to directly submit to GridEngine a script containing the desired options. You can follow the documentation on how to submit a job (full documentation). Moreover take a look at the list of available queues for submission.
De par les achats successifs de nœuds de calcul avec des architectures de génération différente, il n'était pas possible de définir une seule file d'attente. Il est préférable d'avoir des files d'attentes différentes pour chaque architecture, afin d'atteindre des performances intéressantes pour chaque file d'attente.
Concrètement le choix de la file d'attente de “production” devrait se faire en fonction de l'objectif voulu :
qstat -g c
devraient être la base de ce choix. Évidemment, la commande ci-dessus et la liste des files d'attente devraient guider votre choix.
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.
qstat -u login
qstat -g c
qstat -u "*" -s r
qstat -u "*" -s p
qstat -j <job_id> | less
qstat -j <job_id> -g t | less
qstat -j <job_id> -g t -s r | less
qacct -j <job_id> -f /gridware/psmn/accounting | less
qdel <job_id>
qdel -f <job_id>
/gridware/psmn/accounting
qacct -f /gridware/psmn/accounting -d 30 -o <login> -j
qacct -f /gridware/psmn/accounting -d 30 -o <login> | tail -1 | awk '{print $3/3600}'
ou
qacct -f /gridware/psmn/accounting -q "*" -o <login> -d 30 | awk '{ SUM += $5} END {print SUM/3600}'
qacct -f /gridware/psmn/accounting -b 201201010000 -e 201212312359 -o <login> | tail -1 | awk '{print $3/3600}'
Lancer la commande suivante :
qstat -g c
et regarder les deux dernières colonnes :
#$
est réservé à GridEngine pour effectuer des transmissions de paramètres (ex: #$ -cwd
ou #$ -V
).