User Tools

Site Tools


octave:envio_trabajos_condor

Envío de trabajos de Octave con Condor

Control de versiones

Fecha Actividad Autor
07/03/2011 Publicación inicial Jorge Iván Meza Martínez.

Introducción

En este capítulo se analiza el envío de tareas basadas en scripts de Octave al Cluster través de Condor.

Precondición

Crear el script de Octave

En este paso se crea el script de Octave que va a ser ejecutado en el cluster. En este caso se creará uno de ejemplo llamado demo.m.

$ vi demo.m
 
    A = rand(4,4) 
    B = inv(A)
    r = 2 + 3
    p = prod(1:13)
    s = reshape ([1, 2, 3, 4], 2, 2)

Crear el archivo de envío de trabajos

En este paso se crea el archivo con la especificación del envío del trabajo (script anterior) al Cluster con Condor.

$ vi test.submit
 
    universe   = vanilla
    executable = /opt/octave/current/bin/octave
 
    arguments  = --no-history --no-window-system --no-init-file --silent 
    input      = demo.m
 
    output     = _demo.out
    error      = _demo.err
    log        = _demo.log
 
    queue

Enviar el trabajo al cluster

En este paso se envío el trabajo al cluster de acuerdo con la definición del mismo creada en el paso anterior.

$ condor_submit test.submit

Verificar los resultados del cluster

Una vez finalizada la ejecución de la tarea en el cluster se analizan los archivos resultantes de la ejecución, cuyos contenidos deberán corresponder a algo similar a lo mostrado a continuación.

$ cat _demo.err 
 
    (vacío)
 
$ cat _demo.log 
 
    000 (id.000.000) mm/dd hh:mm:ss Job submitted from host: <192.168.1.200:9687>
    ...
    001 (id.000.000) mm/dd hh:mm:ss Job executing on host: <192.168.1.201:9726>
    ...
    005 (id.000.000) mm/dd hh:mm:ss Job terminated.
    	(1) Normal termination (return value 0)
		Usr 0 00:00:00, Sys 0 00:00:00  -  Run Remote Usage
		Usr 0 00:00:00, Sys 0 00:00:00  -  Run Local Usage
		Usr 0 00:00:00, Sys 0 00:00:00  -  Total Remote Usage
		Usr 0 00:00:00, Sys 0 00:00:00  -  Total Local Usage
	0  -  Run Bytes Sent By Job
	0  -  Run Bytes Received By Job
	0  -  Total Bytes Sent By Job
	0  -  Total Bytes Received By Job
    ...
 
$ cat _demo.out 
 
    A =
 
       0.534994   0.645150   0.811082   0.507029
       0.023325   0.075485   0.049216   0.385321
       0.198165   0.559457   0.239962   0.407147
       0.516501   0.096679   0.426738   0.691542
 
    B =
 
      -2.33123  -6.33517   2.93649   3.51025
      -0.41907  -1.25818   2.52291  -0.47707
       3.22164   3.43782  -3.82936  -2.02304
      -0.18828   2.78611  -0.18289   0.13937
 
    r =  5
    p =  6.2270e+09
    s =
 
       1   3
       2   4

Solución de problemas

liboctinterp.so: cannot open shared object file

Problema

Si al intentar ejecutar la tarea basada en Octave se recibe el siguiente mensaje en el registro de errores (_demo.err en el ejemplo anterior).

condor_exec.exe: error while loading shared libraries: liboctinterp.so: cannot open shared object file: No such file or directory

Solución

Es necesario que se verifique que se haya creado el acceso local con el nombre de la versión instalada de Octave tal y como se relaciona en el proceso de instalación.

En caso de no realizarse este procedimiento, es posible solventar este problema mediante la adición de la siguiente línea al archivo con la especificación del envío de trabajos al cluster.

    environment = "LD_LIBRARY_PATH=/opt/octave/current/lib/octave-3.2.4/:$LD_LIBRARY_PATH"

Debe tenerse en cuentar que esta alternativa de solución no cubre todos los posibles problemas que pueden surgir de esta situación.

octave/envio_trabajos_condor.txt · Last modified: 2012/02/26 22:35 (external edit)