OAR¶
Introduction au gestionnaire de jobs¶
Notion de cluster¶
Un cluster est un ensemble de machines qui se compose d’une tête de calcul, aussi appelée frontale, (pour nous il s’agit de legendre) et de serveurs de calcul, appelés noeuds de calcul.
Une frontale est la machine sur laquelle l’utilisateur se connecte en ssh, tandis que les noeuds sont les machines sur lesquelles l’utilisateur fait tourner ses programmes.
Tous les programmes que l’utilisateur lance se font depuis la frontale en utilisant un gestionnaire de ressources chargé de trouver et d’allouer les ressources requises parmis les noeuds.
Le gestionnaire de ressources utilisé est OAR .
Notion de job¶
Le job est ce que l’utilisateur soumet au gestionnaire de ressources pour exécuter un programme.
Il est composé d’une description des ressources nécessaires à l’exécution du programme et les commandes permettant cette exécution, généralement fournies dans un script.
Parmi les ressources requises par le gestionnaire de ressources pour la soumission d’un job, on a le nombre de noeuds, de coeurs par noeud, et le temps de calcul maximal.
Si l’utilisateur omet ces informations, le gestionnaire applique des valeurs par défaut.
Les défauts sont 1 noeud, 1 coeur et 2h maximum.
Un job a un cycle de vie, il est :
Soumis au gestionnaire
En attente de ressources libres (Waiting)
En exécution (Running)
Terminé (Terminated)
Gestion des jobs oarsub
¶
Soumettre un job oarsub
¶
La commande pour soumettre un job est oarsub
. Cette commande a de nombreuses options que
l’on peut trouver en utilisant l’option −−help
.
Soumettre un job interactif - oarsub
¶
Une pratique courante pour bien appréhender le calcul sur un cluster est de soumettre un job interactif.
En bref, vous demandez des ressources, et le gestionnaire de ressources va vous connecter sur l’une d’entre elle ( un noeud sur lequel elle vous a alloué un coeur) à partir duquel vous pourrez lancez vos commandes/scripts/programmes en interactif.
A la fin du walltime, votre session est automatiquement tuée.
Si vous la quittez avant, le gestionnaire libérera vos ressources.
Commandes |
Utilité |
|
Soumission basique de job en interactif: |
|
Soumission de job en interactif sur un noeud spécifique avec son hostname : |
|
Soumission de job en interactif sur un noeud spécifique avec son IP: |
|
Soumission de job en interactif avec ressources et nom de projet spécifiés : |
Soumission de base oarsub
¶
Commandes |
Utilité |
|
La forme la plus basique d’utilisation est celle où on précise uniquement le projet et la commande à lancer : |
|
Un exemple de soumission de la commande |
Soumission avec un script oarsub
¶
Commandes |
Utilité |
|
Pour réaliser une soumission avec un script il suffit de réaliser la commande en pointant vers son script : |
Suivie de job - oarstat
¶
Pour connaître l’état et les caractéristiques d’un job soumis , nous allons utiliser la commande oarstat
dont voici quelques exemples :
Caractéristiques des jobs soumis par l’ensemble des utilisateurs sur le cluster :
Commandes |
Utilité |
|
Caractéristiques des jobs soumis par l’ensemble des utilisateurs sur le cluster : |
|
Caractéristiques des jobs soumis par l’utilisateur « fred » : |
|
Caractéristiques spécifique du job identifié par son numéro « jobid » : |
|
Caractéristiques complet full spécifique du job identifié par son numéro « jobid »: |
|
Statut du job identifié par son numéro « jobid » ( W - Waiting, R - Running): |
Suppression de jobs - oardel
¶
La commande pour supprimer un job en cours est oardel
:
Commandes |
Utilité |
|
Suppression du job en cours identifié par son numéro « jobid »: |
|
Suppression des jobs en cours identifié par son numéro « jobid1 » et « jobid2 » : |
|
Suppression de l’ensemble des jobs en cours de l’utilisateur fred : |