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

 

Adresse

Université de Nice Sophia-Antipolis
D.S.I.
28 Avenue de Valrose
B.P. 2135
06103 NICE Cedex 02