Soumission de tableau de jobs avec OAR
Soit test.oar le script OAR suivant :
#!/bin/bash #OAR -n TEST_ARRAY #OAR -l nodes=1,walltime=48:00:00 #OAR -p nbcores=16 AND visu = 'NO' #OAR -O test_array.%jobid%.log #OAR -E test_array.%jobid%.log ulimit -s unlimited echo "$1" hostname exit $?
On veut lancer ce script 5 fois, on peut alors utiliser les tableaux de jobs d'OAR
Via la commande :
oarsub --array 5 -S "./test.oar toto"
OAR lancera 5 fois le script test.oar avec l'option toto
[user@cicada2 OAR]$ oarsub --array 5 -S "./test.oar toto" [ADMISSION RULE] Modify resource description with type constraints OAR_JOB_ID=12716 OAR_JOB_ID=12717 OAR_JOB_ID=12718 OAR_JOB_ID=12719 OAR_JOB_ID=12720 OAR_ARRAY_ID=12716 [user@cicada2 OAR]$ oarstat Job id Name User Submission Date S Queue ---------- -------------- -------------- ------------------- - ---------- 12716 TEST_ARRAY user 2013-05-06 14:17:48 L default 12717 TEST_ARRAY user 2013-05-06 14:17:48 L default 12718 TEST_ARRAY user 2013-05-06 14:17:48 L default 12719 TEST_ARRAY user 2013-05-06 14:17:48 L default 12720 TEST_ARRAY user 2013-05-06 14:17:48 L default
Certaines variables OAR sont accessibles :
- OAR_ARRAY_ID : c'est l'identifiant unique du tableau de jobs dans l'univers OAR
- OAR_JOB_ID : c'est l'identifiant d'un job dans le tableau de jobs considéré
On peut aussi lancer 5 fois test.oar avec des options différentes
Via la commande :
oarsub -S ./test.oar --array-param-file param_file
On peut lancer test.oar avec des options différentes contenues dans le fichier param_file
[user@cicada2 OAR]$ more param_file tutu toto "super turlututu"
Les lignes commençnat par # sont considérées comme des commentaires, en cas d'espace, il faut mettre des " ".
[user@cicada2 OAR]$ oarsub -S ./test.oar --array-param-file param_file [ADMISSION RULE] Modify resource description with type constraints OAR_JOB_ID=12724 OAR_JOB_ID=12725 OAR_JOB_ID=12726 OAR_ARRAY_ID=12724 [user@cicada2 OAR]$ oarstat Job id Name User Submission Date S Queue ---------- -------------- -------------- ------------------- - ---------- 12724 TEST_ARRAY user 2013-05-06 14:23:47 L default 12725 TEST_ARRAY user 2013-05-06 14:23:47 L default 12726 TEST_ARRAY user 2013-05-06 14:23:47 L default
Le fichier param_file ne possédant que 3 entrées, le script test.oar ne sera lancé que 3 fois, on obtiendra les résultats suivants :
[user@cicada2 OAR]$ more *.log :::::::::::::: test_array.12724.log :::::::::::::: tutu node001 :::::::::::::: test_array.12725.log :::::::::::::: toto node004 :::::::::::::: test_array.12726.log :::::::::::::: super turlututu node005