| Actualités | Documentation | Liens | Nous Contacter | Rechercher | Accès réservé |
  • French
Accueil arrow Support technique arrow Utilisation du Cluster ClimServ arrow Le cluster de calcul

Accueil
- - - - - - - - - - - - - - - - - - - -
Catalogue de données
- - - - - - - - - - - - - - - - - - - -
Accéder à ClimServ
- - - - - - - - - - - - - - - - - - - -
Support technique
Etat du Cluster
- - - - - - - - - - - - - - - - - - - -
Orbitographie (Ixion)

Le cluster de calcul Version imprimable
Index de l'article
Le cluster de calcul
Les commandes utilisateur
 

Les commandes utilisateur

 La liste des commandes utilisateurs est disponible ici. Vous pouvez également consulter le Guide de l'utilisateur Torque. Pour se familiariser avec la soumission de job sur le cluster, il est également possible d'utiliser l'interface graphique xpbs. Enfin toutes les commandes de soumission et de gestion des jobs disposent d'une aide en ligne accessible par la commande man.

Soumission d'un job

La soumission d'un job se fait grâce à la commande qsub. Cette commande peut prendre différents paramètres permettant de spécifier la queue que l'on veut utiliser, les ressources nécessaires pour l'exécution du job, et l'environnement d'exécution du job. Seul un shell-script peut être soumis au gestionnaire de batch (sauf en mode interactif), il est donc nécessaire d'inclure l'appel au programme que l'on souhaite exécuter dans un script (sh ou csh).

Options de qsub

Le tableau suivant liste certaines des options disponibles pour la soumission de jobs :

> qsub  -q  nom_de_la_file

> qsub  -N  nom_job



> qsub  -S  shell_path 

> qsub  -j  eo

> qsub -l <ressource = XX>

> qsub -l mem=128mb

précise la file batch; sans option -q : file std

déclare un nom pour le job; en absence de -N :
nom du job = nom du script
nom_job limité à 15 caractères

déclare le shell qui interprète le script

joint les fichiers erreur et sortie std en un seul

requiert une ressource particulière, par exemple

requiert 128 mb de mémoire disponibles

La liste des ressources pouvant être demandées est donnée dans le Guide de l'utilisateur Torque ou dans le man de pbs_resources.

Variables d'environnement PBS

Il est également possible de préciser les options de qsub directement dans le shell-script, en ajoutant les directives PBS comme :

#PBS -S /bin/sh
#PBS -j eo
#PBS -q week

Quand un job est soumis au gestionnaire de batch, un certain nombre de variables sont introduites dans l'environnement d'exécution du job, et peuvent être utilisées dans le shell-script. Ces variables sont :

 

Variable Description
PBS_JOBNAME user specified jobname
PBS_O_WORKDIR job’s submission directory
PBS_ENVIRONMENT N/A
PBS_TASKNUM number of tasks requested
PBS_O_HOME home directory of submitting user
PBS_MOMPORT active port for mom daemon
PBS_O_LOGNAME name of submitting user
PBS_O_LANG language variable for job
PBS_JOBCOOKIE job cookie
PBS_NODENUM node offset number
PBS_O_SHELL script shell
PBS_JOBID unique pbs job id
PBS_O_HOST host on which job script is currently running
PBS_QUEUE job queue
PBS_NODEFILE file containing line delimited list on nodes allocated to the job
PBS_O_PATH path variable used to locate executables within job script

 

Il est également possible de passer des variables au script en utilisant l'option "-v" avec la commande qsub :

> qsub  -v  var="toto"

définit la variable var et l'initialise à la valeur toto.

Exemple de soumission de job au gestionnaire de batch

- Contenu du shell-script example.pbs :

#!/bin/sh

# To start this job : qsub example.pbs

# Job description
#PBS -N example

# Resources used
#PBS -l nodes=1:ppn=1
#PBS -l walltime=10:00
#PBS -l mem=1gb

# Standard error & standard output are merged in example.out
#PBS -j oe
#PBS -o example.out

# Sends a mail when the job ends
#PBS -m e

# Use the following command to go in your working directory (default is home)
cd $PBS_O_WORKDIR

# Example for a job
a.out $filename

# Example for a Matlab job :
/opt/matlab/bin/matlab -nojvm -nodisplay -r 'programme ; exit'

 

# Example for an IDL job :
echo ".r programme.pro" | /opt/rsi/idl/bin/idl

 # Example for a GRADS job :
grads -bc programme.gs

 # Example for a Python job :
export PATH=/opt/epd_py25-4.3.0/bin:$PATH
python programme.py

- soumission du job :

> qsub -v filename="data.dat"

- fichier de sortie : Un seul fichier example.out est créé dans le répertoire $HOME de l'utilisateur, contenant les sorties standards et les erreurs éventuelles du programme a.out.

Lancer un job interactif

L'option -I indique à qsub de commencer un job interactif. L'option -X permet de transmettre l'environnement graphique ou "forwarder le DISPLAY". Par exemple la commande : 

> qsub -IX -l walltime=00:30:00,nodes=1:ppn=1
ou
> qsub -X -W interactive=true -l walltime=00:30:00,nodes=1:ppn=1

exécutera un job interactif avec un walltime de 30 minutes, en utilisant 2 noeuds et deux processeurs par noeud. Après cette commande, il faut attendre que Torque démarre le job. Comme pour tout job géré par Torque, un job interactif doit attendre qu'une queue comprenant le nombre de noeuds requis se libère. Une fois que le job est démarré, qsub retourne les informations suivantes :

qsub: waiting for job NN.merlin-c.climserv to start

qsub: job NN.merlin-c.climserv ready 

Vous êtes alors logué sur un des noeuds de calcul, et vous pouvez lancer vos programmes en mode interactif. Une fois que vos travaux sont finis, vous pouvez utiliser la commande exit pour terminer votre session qsub.

> exit

    logout

    qsub: job NN.merlin-c.climserv completed

Le mode interactif reste disponible tant que vous ne dépassez pas le walltime de la queue d'exécution ou celui que vous avez indiqué au lancement de qsub.

Les fichiers de données

Les différents systèmes de fichiers sont accessibles du serveur maître comme des noeuds de calcul.
Pour un gain de performances, il est recommandé de stocker les fichiers de données de vos programmes (en entrée comme en sortie) sur l'espace temporaire /tmp disponible localement sur chaque noeud de calcul. Il vous suffit d'y créer votre répertoire personnel.
En fin de calcul, ne pas oublier de recopier les fichiers de sortie sur les systèmes de fichiers habituels et de faire le ménage sur /tmp (ces répertoires temporaires seront régulièrement purgés).
Les transferts de fichiers d'entrée et de sortie peuvent être intégrés au script soumis à la procédure qsub.

Suivi d'un job

Torque permet de suivre l'exécution d'un job grâce à la commande qstat et l'interface graphique xpbs.

> qstat 

> qstat -a

> qstat -f   

> showq 

liste de tous les jobs

informations étendues

infos très étendues sur les jobs

liste de tous les jobs


Estimation du temps d'attente pour l'exécution d'un job 

> showstart no_job  

no_job est renvoyé par qstat

Suppression / modification d'un job

La gestion des jobs en cours d'exécution est assurée par les commandes :

> qdel no_job

> qalter no_job  

no_job est renvoyé par qstat

no_job est renvoyé par qstat

 



Dernière mise à jour : ( 07-04-2016 )
 
< Précédent