Torque

De Wiki de Calcul Québec
Aller à : Navigation, rechercher
Autres langues :anglais 100% • ‎français 100%

Torque est un logiciel de soumission de tâches en code source ouvert maintenu par Adaptive Computing. C'est une incarnation de PBS (Portable Batch System) qui dérive d'OpenPBS. Il interagit avec un ordonnanceur (typiquement Maui ou Moab) qui lui indique selon des politiques locales quelle tâche peut s'exécuter et sur quels nœuds. Tous les serveurs de Calcul Québec utilisent Torque.

Sommaire

Principe de fonctionnement

Le logiciel Torque fonctionne selon le modèle client-serveur. Il comporte plusieurs programmes :

  • « pbs_server », le serveur proprement dit, roulant en permanence pour répondre aux requêtes des clients;
  • l'ordonnanceur mentionné ci-dessus, roulant aussi en permanence;
  • « pbs_mom », roulant en tout temps sur chaque nœud de calcul, qui obéit aux instructions du serveur et est responsable de l'exécution de la tâche sur les nœuds ainsi que de la comptabilité des ressources utilisées;
  • les commandes clientes, qui envoient des requêtes au serveur.

Principales commandes

En ordre approximatif de pertinence pour les utilisateurs, les principales commandes de Torque sont les suivantes :

qsub 
soumet une tâche
qstat 
affiche la liste des tâches
qselect 
liste le numéro des tâches qui correspondent à certains critères de recherche
qdel 
efface une tâche en attente ou en exécution
qalter 
modifie une tâche en queue
qmove 
déplace une ou plusieurs tâches dans une autre file d'attente
pbsnodes 
affiche la liste des nœuds et leurs propriétés et ressources
qhold 
retient une tâche
qrls 
relâche une tâche retenue
qsig 
envoie un signal à une tâche
qrerun 
tue une tâche et la remet en queue
qchkpt 
écrit un point de contrôle de la tâche
pbsdsh 
lance une commande en plusieurs instances à l'intérieur d'une tâche de Torque
tracejob 
affiche les entrées concernant une tâche dans les journaux de Torque
momctl 
gère et diagnostique les démons sur les nœuds de calcul (pbs_mom) (administrateur seulement)
qmgr 
gère les politiques locales et autres configurations de Torque (administrateur seulement)
qrun 
démarre immédiatement une tâche (administrateur seulement)
qterm 
arrête le serveur de Torque (pbs_server) (administrateur seulement)

Variables d'environnement

Torque ajoute à l'environnement de la tâche un certain nombre de variables d'environnement. Vous pouvez y faire référence dans votre script de soumission. Ainsi, les variables d'environnement HOME, LANG, LOGNAME, PATH, MAIL, SHELL et TZ telles que définies sur la machine de soumission deviennent PBS_O_HOME, PBS_O_LANG, PBS_O_LOGNAME, PBS_O_PATH, PBS_O_MAIL, PBS_O_SHELL et PBS_O_TZ, respectivement, pour ne pas entrer en conflit avec les variables du même nom dans l'environnement des nœuds de calcul. Le tableau ci-dessous liste les autres variables définies par Torque d'après la documentation :

Nom de la variable Description Exemple
PBS_ENVIRONMENT Prend une des deux valeurs « PBS_INTERACTIVE » ou « PBS_BATCH » selon la présence ou non de l'option « -I » à la soumission. PBS_BATCH
PBS_JOBID Numéro de la tâche 12345.egeon2
PBS_JOBNAME Nom de la tâche tel que spécifié par l'option « -N » ma_tache
PBS_NODEFILE Nom d'un fichier contenant la liste des nœuds accordés à la tâche, chaque nœud apparaissant autant de fois que la tâche a de processeurs sur le nœud /var/spool/pbs/aux/12345.egeon2
PBS_O_HOST Nom de la machine où on a roulé la commande qsub colosse1
PBS_O_QUEUE Nom de la queue où la tâche a été soumise soumet
PBS_O_WORKDIR Répertoire d'où on a soumis la tâche /home/utilisateur/scripts_pbs
PBS_QUEUE Nom de la queue dans laquelle s'exécute la tâche qtest
PBS_SERVER Nom de la machine où tourne le serveur (pbs_server) de Torque egeon2
PBS_VERSION Version de PBS TORQUE-2.5.3

Torque définit aussi les variables non documentées suivantes :

Nom de la variable Description Exemple
PBS_JOBCOOKIE 05C7098F5411BD5042ED0FAC7B2D139A
PBS_MOMPORT Numéro du port utilisé par « pbs_mom » 15003
PBS_NODENUM Numéro du nœud (exemple avec « -l nodes=20:ppn=8 »);

disponible pour les processus lancés avec pbsdsh et mpiexec

0 à 19
PBS_NUM_NODES Nombre de nœuds demandé par la tâche (exemple avec « -l nodes=20:ppn=8 »);

ne fonctionne pas sur Cottos

20
PBS_NUM_PPN Nombre de cœurs par nœud demandé par la tâche (exemple avec « -l nodes=20:ppn=8 »);

ne fonctionne pas sur Cottos

8
PBS_TASKNUM Disponible pour les processus lancés avec pbsdsh et mpiexec 1
PBS_VNODENUM Numéro du nœud virtuel (exemple avec « -l nodes=20:ppn=8 »);

disponible pour les processus lancés avec pbsdsh et mpiexec

0 à 159

Autres références

Exécuter une tâche sur les ordinateurs de Calcul Québec

Exemple de script avec documentation des options de qsub

Exemples de scripts pour simulations séquentielles multiples, tâches OpenMP, tâches hybrides

Index de Documentation d'Adaptive Computing

Documentation complète de Torque

Annexes de Torque

Annexes des commandes de Torque


Outils personnels
Espaces de noms

Variantes
Actions
Navigation
Ressources de Calcul Québec
Outils
Partager