next up previous contents
Siguiente: Universos Subir: Enviando trabajos. condor_submit Anterior: Enviando trabajos. condor_submit   Índice General

Fichero de descripción del envío

Este archivo será la entrada al comando condor_submit. Un ejemplo de fichero de envío se puede ver en el siguiente ejemplo:

############################
#
# foo.submit
# 
# Ejemplo 1: Archivo simple de descripción del envío.
#
############################

Executable   = foo
Universe     = vanilla
input        = test.data
output       = foo.out
error        = foo.err
Log          = foo.log
Queue

Una vez guardado este fichero, le indicamos a Condor que lo ejecute de la siguiente manera:

[adrians@trevina ~]$ condor_submit foo.submit
Submitting job(s).
Logging submit event(s).
1 job(s) submitted to cluster 3.

Veamos con más detalle el contenido del archivo:

Executable:
Especificamos la ruta y el nombre del archivo ejecutable. En el ejemplo solo se ha especificado el nombre, por lo que se espera que foo y foo.submit estén en el mismo directorio.
Universe:
Elegimos un universo, por defecto se usará el universo ``vanilla''. Ver sección 3.1.2.
input:
Archivo desde donde se leerá la entrada por defecto (stdin). Si no se especifica, se utilizará el archivo /dev/null.
output:
Archivo donde se escribirá la salida del comando (stdout). Si no se especifica, se utilizará el archivo /dev/null.
error:
Archivo donde se escribirá la salida de error del comando (stderr). Si no se especifica, se utilizará el archivo /dev/null.
Log:
Archivo donde Condor almacenará un histórico de lo que le ha ocurrido a nuestro trabajo e información como su código de salida, errores relacionados con Condor, etc.
Queue
Indica que Condor va a ejecutar una vez este trabajo, podemos especificar un número (por ejemplo Queue 10 o escribir varias veces Queue con lo que se ejecutará tantas veces como hayamos escrito). Podemos especificar opciones para cada ejecución, por ejemplo: podemos tener un fichero de entrada (input) para cada ejecución de nuestro trabajo.

Veamos ahora otro ejemplo, esta vez un poco más complicado:

############################
#
# complex.submit
# 
# Ejemplo 2: Archivo de descripción del envío usando 
# Requirements y Rank.
#
############################

Executable   = complex
Universe     = vanilla
Requirements = Memory >= 64 && OpSys == "Linux" && Arch == "INTEL"
Rank         = Memory
input        = data.$(Process)
output       = out.$(Process)
error        = err.$(Process)
Log          = complex.log
Queue 10

En este ejemplo introducimos algunas opciones nuevas:

Requirements:
Especificamos los requisitos que se han de cumplir para que nuestro trabajo se ejecute. En el ejemplo obligamos a que la máquina candidata tenga un procesador INTEL o compatible, esté ejecutando Linux y, además, no permitimos que tenga menos de 64MB de memoria RAM. En el caso de que no especifiquemos explícitamente los requisitos sobre arquitectura y sistema operativo, Condor los creará automáticamente para que nuestros trabajos se ejecuten en máquinas con la misma arquitectura y el mismo sistema operativo que la máquina desde donde se envió el trabajo. Para ver los requisitos finales de nuestro trabajo (una vez enviado a Condor) podemos ejecutar condor_q -l, este comando nos mostrará información detallada de cada trabajo enviado.
Rank:
Define un valor numérico que expresa preferencia, es decir, dadas todas las máquinas candidatas a ejecutar nuestro trabajo, Condor evalúa esta expresión en cada una de ellas y elegirá aquellas donde su valor sea mayor. En el ejemplo, preferimos aquellas máquinas que tengan mayor cantidad de memoria RAM.

Para obtener más información acerca del uso de Requirements y Rank vea la sección Submitting a Job del manual de Condor.

En el ejemplo 2 también hemos usado unos nombres de archivo un tanto especiales en las opciones input, output y error. El uso de la cadena ``$(Process)'' implica que allí donde aparezca será sustituido por el número del trabajo que se va a ejecutar, es decir, en el ejemplo se crean 10 trabajos (Queue 10) y cada uno de ellos tendrá como entrada el archivo data.0, data.1, ... dependiendo de que número de trabajo sea. Lo mismo ocurrirá con los archivos de salida (output) y salida de error (error).


next up previous contents
Siguiente: Universos Subir: Enviando trabajos. condor_submit Anterior: Enviando trabajos. condor_submit Índice General
Adrian Santos Marrero 2004-09-21