Ceci est une ancienne révision du document !
Le gestionnaire de jobs (ou système de batch) actuellement utilisé par le PSMN est GridEngine (anciennement Sun Grid Engine, d'où SGE).
Pour utiliser au mieux les ressources, il convient de bien remplir les serveurs. Pour cela, nous disposons de deux moyens :
Remplir au mieux mène rapidement à un morcellement, entre les serveurs, des applications parallélisées via mpi.
Le remplissage au mieux n'est donc mis en place pour les applications parallèles que sur certaines queues; sur les autres le remplissage par multiple d'un serveur entier est utilisé.
Une priorité :
est appliqué par GridEngine. Ceci afin de répartir plus équitablement les ressources disponibles.
qsub programme <input >output
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)
Il est plus simple de soumettre un script à SGE, qui contiendra plus d'options. Voir la documentation complète pour soumettre un job, ainsi que la liste des files d'attente.
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
qconf -sql
(sql : show queues list)
qstatqueue c6100lin24ib
qstatall
qstat -j 87584 | less
qstat -j 87584 -g t | less
qstat -j 87584 -g t -s r | less
qmod -cj <job_id>
qacct -j 87584 | less
qdel 85903
qdel -f 109383
/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}'
Lister les noeuds d'une file d'attente :
qconf -sq E5-2670deb64A
* Show Group
qconf -shgrp @EquipatMeso64A
Lancer la commande suivante :
qstat -g c
et regarder les deux dernières colonnes :
#$
est réservé à SGE pour effectuer des transmissions de paramètres (ex: #$ -cwd
ou #$ -V
).