Changes between Version 68 and Version 69 of ColasPBS


Ignore:
Timestamp:
Jan 13, 2015 1:25:27 PM (7 years ago)
Author:
carlos
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ColasPBS

    v68 v69  
    263263}}}
    264264
    265 ===== Array de jobs =====
    266 La cola PBS permite hacer un conjunto de jobs tratados de manera vectorial. A cada uno de estos jobs la cola PBS le assigna un único valor determinado por las directrices del flag {{{-t [array]}}}. Esto nos puede resultar útil para ejecutar múltiples veces un programa/aplicación en la que va variando un parámetro. Un ejemplo muy sencillo se puede construir con la función [http://www.mathworks.com/help/techdoc/ref/getenv.html genenv] de Matlab que nos permite coger variables del entorno. Para ilustrarlo se crea el archivo de matlab attachment:imprimir_numero.m, el cuál imprime por pantalla unos valores del sistema. Este programa lo ejecutaremos cinco veces independientemente con la siguiente script de colas (llamado matlab_pruebas.pbs):
    267    {{{
    268 #!/bin/bash
    269 ### Job name
    270 #PBS -N MATprueba
    271 ### Max run time
    272 #PBS -l walltime=00:01:00
    273 ### Queue name
    274 #PBS -q grid
    275 ### Job mail
    276 #PBS -m ea
    277 #PBS -M user@unican.es
    278 ### Array request
    279 #PBS -t 1-5
    280 ### Number of nodes and processors per node
    281 #PBS -l nodes=1:ppn=1
    282 
    283 cd ${PBS_O_WORKDIR}
    284 
    285 export LD_ASSUME_KERNEL=2.6.18
    286 export PATH=/software/Matlab_R2009a/bin:$PATH
    287 matlab -logfile ${PBS_O_WORKDIR}/log_lluis.err -r "cd ${PBS_O_WORKDIR};imprimir_numero;" -nosplash -nodesktop
    288 }}}
    289 Lanzamos el job y aparecen:
    290    {{{
    291 [user@ui ~]$ qstat -n1 | grep MAT
    292 308635-1.encina user    grid     MATprueba-  19710     1  --    --  48:00 R   --    wn002
    293 308635-2.encina user    grid     MATprueba-  19731     1  --    --  48:00 R   --    wn002
    294 308635-3.encina user    grid     MATprueba-   1060     1  --    --  48:00 R   --    wn003
    295 308635-4.encina user    grid     MATprueba-   1079     1  --    --  48:00 R   --    wn003
    296 308635-5.encina user    grid     MATprueba-  23120     1  --    --  48:00 R   --    wn004
    297 }}}
    298 
    299 Una vez terminado aparecen los siguientes ficheros en el directorio de trabajo:
    300    {{{
    301 [user@ui ~]$ ls -l
    302 -rw-r--r-- 1 user gmeteo 1030 Dec 14 17:43 log_user.err
    303 -rwxr-xr-x 1 user gmeteo  526 Dec 14 17:42 matlab_prueba.pbs
    304 -rw------- 1 user gmeteo  374 Dec 14 17:43 MATprueba.e308635-1
    305 -rw------- 1 user gmeteo  374 Dec 14 17:43 MATprueba.e308635-2
    306 -rw------- 1 user gmeteo  374 Dec 14 17:43 MATprueba.e308635-3
    307 -rw------- 1 user gmeteo  374 Dec 14 17:43 MATprueba.e308635-4
    308 -rw------- 1 user gmeteo  374 Dec 14 17:43 MATprueba.e308635-5
    309 -rw------- 1 user gmeteo 1121 Dec 14 17:43 MATprueba.o308635-1
    310 -rw------- 1 user gmeteo 1121 Dec 14 17:43 MATprueba.o308635-2
    311 -rw------- 1 user gmeteo 1121 Dec 14 17:43 MATprueba.o308635-3
    312 -rw------- 1 user gmeteo 1121 Dec 14 17:43 MATprueba.o308635-4
    313 -rw------- 1 user gmeteo 1121 Dec 14 17:43 MATprueba.o308635-5
    314 }}}
    315 Aparecen los ficheros de salida de los cinco jobs. Miramos el contenido del tercero:
    316    {{{
    317 [user@ui ~]$ cat MATprueba.e308635-3
    318 which: no shopt in (/software/Matlab_R2009a/bin:/software/CentOS/5.2/netcdf/4.1.1/gcc-gfortran4.1.2/bin:/opt/d-ca
    319 che/srm/bin:/opt/d-cache/dcap/bin:/opt/edg/bin:/opt/glite/bin:/opt/globus/bin:/opt/lcg/bin:/bin:/usr/bin:/oceano/
    320 gmeteo/users/lluis/bin)
    321 [user@ui ~]$ cat MATprueba.o308635-3
    322 Warning: No display specified.  You will not be able to display graphics on the screen.
    323 Warning: No window system found.  Java option 'MWT' ignored
    324 
    325                             < M A T L A B (R) >
    326                   Copyright 1984-2009 The MathWorks, Inc.
    327                 Version 7.8.0.347 (R2009a) 64-bit (glnxa64)
    328                              February 12, 2009
    329 
    330  
    331   To get started, type one of these: helpwin, helpdesk, or demo.
    332   For product information, visit www.mathworks.com.
    333  
    334 
    335 shellpath =
    336 
    337 /software/Matlab_R2009a/bin:/software/CentOS/5.2/netcdf/4.1.1/gcc-gfortran4.1.2/bin:/opt/d-cache/srm/bin:/opt/d-ca
    338 che/dcap/bin:/opt/edg/bin:/opt/glite/bin:/opt/globus/bin:/opt/lcg/bin:/bin:/usr/bin:/oceano/gmeteo/users/lluis/bin
    339 
    340 Este es el path: /software/Matlab_R2009a/bin:/software/CentOS/5.2/netcdf/4.1.1/gcc-gfortran4.1.2/bin:/opt/d-cache/
    341 srm/bin:/opt/d-cache/dcap/bin:/opt/edg/bin:/opt/glite/bin:/opt/globus/bin:/opt/lcg/bin:/bin:/usr/bin:/oceano/gmete
    342 o/users/lluis/bin
    343 
    344 pbsjob =
    345 
    346 308635-3.encina
    347 
    348 Esta es la realizacion: "308635-3.encina"
    349 
    350 num =
    351 
    352 3
    353 
    354 
    355 num =
    356 
    357      3
    358 
    359 Este es el numero: 3
    360 }}}
    361 Mientras que en el correo (llegando por orden de finalización), me aparecen 5 correos con el título:{{{PBS JOB 308635-[N].ce01.macc.unican.es}}} siendo [N]=(1,5). El contenido del correo {{{#3}}}
    362    {{{
    363 PBS Job Id: 308635-3.encina
    364 Job Name:   MATprueba-3
    365 Exec host:  wn003.macc.unican.es/0
    366 Execution terminated
    367 Exit_status=0
    368 resources_used.cput=00:00:02
    369 resources_used.mem=0kb
    370 resources_used.vmem=0kb
    371 resources_used.walltime=00:00:18
    372 }}}
    373 
    374265===== Trabajo con variable =====
    375266Tomamos el job sencillo de ejemplo. En este caso el tiempo de espera para la escript se lo pasaremos como variable del job.