Il s'agit de la commande oarsub qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS
PROGRAMME:
Nom
oarsub - Commande de soumission de travail du planificateur de lots OAR.
SYNOPSIS
aviron [OPTIONS]
aviron [OPTIONS]
aviron [OPTIONS] " "
aviron [OPTIONS] -Je
aviron [OPTIONS] -C
DESCRIPTION
On utilise aviron soumettre un travail au OAR lot ordonnanceur gérer les ressources d'un HPC
Grappe. Un travail est défini par la description d'un ensemble de ressources nécessaires à l'exécution d'un
tâche et un script ou un exécutable à exécuter. Un travail peut également être exécuté de manière interactive, et l'on peut
utilisez également oarsub pour vous connecter à un travail soumis précédemment.
L'ordonnanceur est chargé de fournir un ensemble de ressources qui correspond à l'oarsub
demander. Une fois planifié et lancé, un job consiste en un processus exécuté le premier
nœud des ressources auxquelles il a été attribué, avec un ensemble de variables d'environnement définies, qui
décrire le travail. Cela signifie que l'exécutable du travail est chargé de connecter ces
ressources et répartir le travail entre eux.
OPTIONS
-JE, --interactif
Demandez un travail interactif. Ouvrez un shell de connexion sur le premier nœud du travail au lieu de
exécuter un script.
-Ç, --relier
Connectez-vous à une tâche en cours d'exécution.
-l, --Ressource
Définissez les ressources demandées pour le travail. Les paramètres sont des propriétés de ressource définies dans
base de données OAR, et un 'walltime' qui spécifie la durée maximale du travail avant
sa fin (le processus de travail peut se terminer plus tôt). Le format walltime est
[hour:mn:sec|hour:mn|hour]. Ex: nodes=4/cpu=1,walltime=2:00:00
Plusieurs options -l peuvent être données sur la même ligne. Cela définit un travail malléable : un travail
qui peut prendre différentes formes. Par exemple, pour une application très flexible, un
pourrait effectuer la soumission de travail suivante :
oarsub -l cpu=2,walltime=20:00:00 -l cpu=4,walltime=10:00:00 -l cpu=8,walltime=5:00:00 ./script.sh
L'OAR programmerait l'une des trois définitions de ressources proposées, selon le
charge du cluster, et en préférant celui qui démarre le plus tôt possible.
On peut aussi demander différents groupes de ressources, par exemple :
oarsub -l "{mem > 64}/host=1+{mem < 48}/host=3",walltime=1:00:00 -I
Le travail du planificateur aurait 1 hôte avec la propriété "mem" > 64 et 3 hôtes avec la propriété
"mem" < 48. La syntaxe entre accolades, {...}, est la même que celle utilisée pour "-p"
option.
--déployer
Soumettez une tâche de tableau contenant « NOMBRE » de sous-tâches. Tous les sous-jobs partagent le même
array_id mais chaque sous-job est indépendant et a son propre job_id. Tous les sous-jobs ont
les mêmes caractéristiques (script, exigences) et peut être identifié par un
variable d'environnement $OAR_ARRAY_INDEX.
Les travaux de tableau ne peuvent être ni interactifs (-I) ni une réservation (-r).
--array-param-fichier
Soumettez une tâche de tableau paramétrique. Chaque ligne non vide de "FILE" définit les paramètres
pour un sous-emploi. Tous les sous-jobs ont les mêmes caractéristiques (script, exigences) et
peut être identifié par une variable d'environnement $OAR_ARRAY_INDEX. '#' est le commentaire
signe.
Les travaux de tableaux paramétriques ne peuvent être ni interactifs (-I) ni une réservation (-r).
-S, --scanscript
Mode batch uniquement : demandez à oarsub de rechercher dans le script donné les directives OAR (#OAR -l ...)
-q, --file d'attente
Définissez la file d'attente à laquelle soumettre le travail.
-p, --biens " "
Ajoutez une liste de contraintes sur les propriétés de ressource pour le travail. Le format d'un
contrainte est celle d'une clause WHERE utilisant la syntaxe SQL.
-r, --réservation
Demande que le travail démarre à une heure spécifiée. Une création d'emploi utilisant cette option est
appelé un avancer réservation (par opposition à un Soumission).
--point de contrôle
Activez le mécanisme de point de contrôle pour le travail. Un signal sera envoyé DELAY secondes
avant le walltime au premier processus du job (sur le premier nœud du job
Ressources).
--signal <#SIG>
Spécifiez le signal à utiliser pour déclencher le point de contrôle. Utilisez des numéros de signal (voir kill
-l), la valeur par défaut est 12 (SIGUSR2).
-t, --taper
Spécifiez un type spécifique (meilleur effort, partage de temps, idempotent, écosystème, déployer, non,
CONTENANT, intérieur, jeton : xxx=yy,...)
Remarques :
- un travail avec le meilleur effort type sera programmé avec la priorité la plus basse et
être tué si un travail "normal" a besoin de ses ressources.
- un travail avec le idempotent type sera automatiquement resoumis si son code de sortie
est de 99 et sa durée > 60s.
- un travail avec le idempotent et meilleur effort les types seront automatiquement resoumis
chaque fois qu'il est tué par OAR avant sa fin normale pour exécuter des travaux non au mieux.
- un travail avec le non type ne fait rien d'autre que réserver les ressources. c'est fini
à la fin du walltime ou lors de l'utilisation de la commande oardel.
-ré, --annuaire
Spécifiez le répertoire où lancer la commande (la valeur par défaut est le répertoire courant)
--projet
Spécifiez le nom d'un projet auquel appartient le travail.
-n, --Nom
Spécifiez un nom arbitraire pour le travail.
-une, --antérieur
Travail soumis précédemment dont doit dépendre l'exécution du nouveau travail. Le nouvel emploi sera
ne commence qu'à la fin du précédent.
--notifier
Spécifiez une méthode de notification (email ou commande à exécuter). Ex:
--notify "mail :[email protected]"
--notify "exec:/path/to/script args"
Les arguments sont job_id, job_name, TAG, comment
L'ÉTIQUETTE peut être :
- RUNNING : lorsque le job est lancé
- FIN : lorsque le travail est terminé normalement
- ERREUR : lorsque le travail se termine anormalement
- INFO : utilisé lorsque oardel est appelé sur le tas
- SUSPENDU : lorsque le travail est suspendu
- REPRISE : lorsque le travail est repris
Par défaut, tous les TAG sont déclenchés. Il est possible de spécifier quels TAG doivent être
déclenché. Ex:
--notify "[END,ERROR]mail :[email protected]"
--notify "[RUNNING]mail :[email protected]"
--notify "[RUNNING,END,ERROR]exec:/path/to/script args"
--resoumettre
Soumettez à nouveau le travail donné en tant que nouveau.
-k, --use-job-key
Activez le mécanisme de clé de travail. Un job-key sera généré permettant de connecter le
travail en dehors de l'ensemble des ressources gérées par OAR. Le mécanisme de clé de travail peut être
activé par défaut dans votre environnement OAR. Dans ce cas, cette option est inutile.
-je, --import-job-key-from-file
Importez plutôt la clé de travail à utiliser à partir de fichiers existants (fichiers de clé publique et privée)
d'en générer un nouveau. On peut également utiliser la variable d'environnement OAR_JOB_KEY_FILE.
--import-job-key-inline
Importez la clé de travail pour l'utiliser en ligne (texte), au lieu d'en générer une nouvelle.
-e, --export-job-key-to-file
Exportez la clé de tâche dans un fichier. Avertissement: le fichier sera écrasé s'il est déjà
existe. (le motif %jobid% est automatiquement remplacé)
-O
Spécifiez le fichier qui stockera le flux de sortie standard du travail. Le %jobid%
et les motifs %jobname% sont automatiquement remplacés.
-E
Spécifiez le fichier qui stockera le flux d'erreurs standard du travail. Le %jobid% et
Les modèles %jobname% sont automatiquement remplacés.
--prise
Définissez l'état du travail sur Attente au lieu d'En attente, afin qu'il ne soit pas planifié tant que
pas repris (le reprendre permet de le remettre dans l'état d'attente).
-RÉ, --tombereau
Imprimez les résultats de la commande au format Perl's Data::Dumper.
-X, --xml
Imprimez les résultats de la commande au format XML.
-O, --yaml
Imprimez les résultats de la commande au format YAML.
-J, --json
Imprimez les résultats de la commande au format JSON.
-h, --Aidez-moi
Imprimez ce message d'aide.
-V, --version
Imprimez la version d'OAR.
ENVIRONNEMENT
OAR_FILE_NODES or OAR_NODE_FILE or OAR_NODEFILE
Chemin d'accès au fichier contenant la liste des nœuds attribués au travail.
OAR_JOB_NAME
Nom du travail tel qu'il est donné en utilisant le -n option.
OAR_JOB_ID or OAR_JOBID
Identifiant du travail. Chaque travail reçoit un identifiant de travail unique. Cet identifiant peut être utilisé pour
récupérer des informations sur le travail en utilisant oarstat, ou pour se connecter à une tâche en cours en utilisant
aviron -C or rameur par exemple.
OAR_ARRAY_ID or OAR_ARRAYID
Id de tableau du travail. Chaque tâche de baie obtient un identifiant de baie unique qui est partagé par
tous les sous-jobs du travail de tableau. Cet identifiant peut être utilisé pour identifier le
sous-jobs différents appartenant à un même job de tableau. Array Id peut également être utilisé pour traiter
avec tous les sous-jobs d'un tableau donné à la fois (au moyen de l'option --array dans le
cas de oarstat, oarhold, oarresume et oardel). NB : les jobs réguliers sont des jobs array avec
un seul sous-job.
OAR_JOB_INDEX or OAR_JOBINDEX
Array Index du job : au sein d'un array job, chaque sous-job obtient un unique (pour un
array) index, à partir de 0, qui peut être utilisé pour identifier le sous-job.
OAR_JOB_WALLTIME et OAR_JOB_WALLTIME_SECONDS
Heure d'affichage du travail au format hh:mm:ss et en secondes.
OAR_RESOURCE_PROPERTIES_FILE
Chemin d'accès au fichier contenant la liste de tous les attributs de ressources pour le travail, et
leur valeur. Voir empreinte aussi.
OAR_PROJECT_NAME
Nom du projet dont le travail fait partie, tel qu'il est donné en utilisant le --projet option.
OAR_STDOUT et OAR_STDERR
Chemin d'accès aux fichiers stockant la sortie standard et l'erreur standard du travail
exécutable, s'il n'est pas exécuté en mode interactif.
OAR_WORKING_DIRECTORY aka OAR_WORKDIR aka OAR_O_WORKDIR
Répertoire de travail pour le travail. L'exécutable du travail sera exécuté dans ce répertoire,
sur le premier nœud qui est alloué au travail.
OAR_JOB_KEY_FILE
Fichier clé à utiliser pour la soumission (ou rameur) si vous utilisez le mécanisme de clé de tâche (-k ou
--use-job-key). On peut fournir la clé de travail à importer en utilisant le -i ou
--import-job-key-from-file également.
SCÉNARIO
Lors de la soumission d'un travail à l'aide d'un shell de script, ce script peut contenir des options OAR, avec
lignes commençant par #RAME et en utilisant la même syntaxe d'options que celle décrite ci-dessus.
EXEMPLES
Emploi Soumission avec arguments
oarsub -l /noeuds=4 -I
oarsub -q default -l /nodes=10/cpu=3,walltime=50:30:00 -p "switch = 'sw1'" /home/username/path/to/my/prog
oarsub -r "2009-04-27 11:00:00" -l /nodes=12/cpu=2
sous-aviron -C 154
tableau JOB Soumission avec 10 identique sous-jobs
oarsub -l /nodes=4 /home/username/path/to/my/prog --array 10
Parametric tableau JOB Soumission
oarsub /home/users/toto/prog --array-param-file /home/username/path/to/params.txt
Avec /home/username/path/to/param.txt contenant par exemple :
# mon fichier param
# un sous-job avec un seul paramètre
p100
# un sous-job sans paramètre
""
# un sous-job avec deux chaînes comme paramètres
"arg1a arg1b arg1c" "arg2a arg2b"
Emploi Soumission avec a JOB scénario
oarsub -S /home/nom d'utilisateur/chemin/vers/mon/script.sh
Avec /home/username/path/to/my/script.sh contenant par exemple :
#!/ bin / bash
#OAR -l /nodes=4/cpu=1,walltime=3:15:00
#OAR -p switch = 'sw3' ou switch = 'sw5'
#OAR -t meilleur effort
#OAR -t type2
#OAR -k
#OAR -e /chemin/vers/travail/clé
#OAR --stdout fichierstdout.log
/home/nom d'utilisateur/chemin/vers/mon/prog
Utilisez oarsub en ligne en utilisant les services onworks.net