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).
Siguiente: Universos
Subir: Enviando trabajos. condor_submit
Anterior: Enviando trabajos. condor_submit
Índice General
Adrian Santos Marrero
2004-09-21