Resumen de ordenes básicas de trabajo con el gestor de colas en Aldebaran
Para que el uso del sistema sea lo mas efectivo posible, todos los trabajos de cálculo deben enviarse siempre por medio del gestor de colas.
IMPORTANTE: Todos los trabajos que vayan a tardar en completarse mas de 4
horas deben lanzarse con indicación del tiempo máximo que pueden necesitar por
medio de la opción -W de bsub (ej., 36 horas: "bsub -W 36:00"). El trabajo será
abortado si excede este tiempo. Si no se indica la opción -W se le asignara un
tiempo máximo de 4 horas.
La indicación por parte del usuario del tiempo máximo que el trabajo puede
tardar en finalizar es indispensable para que los trabajos cortos puedan ser
ejecutados en los procesadores reservados en espera de ser utilizados por un
trabajo paralelo. Los trabajos que requieran menor tiempo de ejecución tendrán
mayores posibilidades de entrar a ejecutarse en estos huecos.
En el siguiente resumen se muestran las ordenes mas importantes para enviar un trabajo al gestor de colas. El gestor de colas le asignara un procesador cuando le llegue su turno. El gestor de colas instalado en en Aldebaran es
LSF.
El sistema de colas LSF en Aldebaran
Los comandos basicos son:
bsub -> Lanza un trabajo.
bjobs -> Muestra estado de los trabajos en cola.
bkill -> Mata trabajo en cola.
bqueues -> Muestra estado de las colas.
Para lanzar un trabajo se utiliza:
bsub
ejemplo:
ge> bsub ./a.out
>>>>responde:
Job <673> is submitted to default queue .
(Enviando el trabajo ./a.out a la cola normal)
...enviado.
Para visualizar el estado de los trabajos del usuario se emplea en comando: bjobs
Ejemplo:
ge> bjobs
JOBID USER STAT QUEUE FROM_HOST EXEC_HOST JOB_NAME SUBMIT_TIME
11617 jcalande RUN normal aldebaran.cc.up aldebaran.cc.up ./a.out Sep 10 11:07
Si no hay trabajos en cola nos responderá:
ge> bjobs
No unfinished job found
El gestor de colas (LSF) direcciona la salida del programa al correo local del usuario. Se recomienda redireccionar este correo local a la dirección de correo que el usuario lea habitualmente.
Otra opcion posiblemente mas comoda es direccionar las salidas a ficheros con las opciones bsub.
En este caso para poner parámetros al bsub se hará de la siguiente forma:
bsub
ejemplo:
ge> bsub -o out.file -e err.file ./a.out
La salida estandar del programa estará en out.file y los errores en err.file
Se pueden consultar las opciones posibles con "man bsub".
Para visualizar el estado de las colas se emplea: bqueues
Ejemplo:
ge# bqueues
>>>>responde:
QUEUE_NAME PRIO STATUS MAX JL/U JL/P JL/H NJOBS PEND RUN SUSP
normal 30 Open:Active 6 2 - - 2 0 2 0
Vemos que hay una colaa activa (Active) con 2 trabajos corriendo (RUN).
Una vez conectado a Aldebaran, puede obtener mas información utilizando man bsub, man bjobs, man bkill, man bqueues.
Envio de trabajos paralelos al gestor de colas
Para enviar trabajos paralelos OpenMP se debe indicar en la variable de
entorno OMP_NUM_THREADS el numero de procesadores requeridos. Puede hacerse en
el script que lanza el trabajo o antes de llamar a bsub, ya que bsub pasa esta
variable al entorno de ejecución del programa:
$ export OMP_NUM_THREADS=4
$ bsub -n 4 <trabajo>
Los trabajos paralelos MPI deben lanzarse así:
$ bsub -n 4 mpirun -np 4 <trabajo>
|