#!/bin/bash | Nombre del intérprete de comandos |
#PBS -N test | Nombre que tendrá el proceso que corra el programa |
#PBS -r n | El proceso no será re-ejecutable |
#PBS -e test.err | La salida estandar de error se redirige al archivo "test.err" |
#PBS -o test.out | La salida estandar se redirige al archivo "test.out" |
#PBS -m bae | El manejador de colas envia un mail cuando el proceso empieza y aborta o termina |
#PBS -l cput=05:00 | Declara que el proceso hará uso del recurso "cput" en a lo más 5 minutos |
#PBS -q default | Encola el proceso en la cola por defecto |
cd $PBS_O_WORKINGDIR | Cambia al directorio local de trabajo |
./miPrograma | Nombre del programa a ejecutar |
El script se guarda con algún nombre, por ejemplo pbs_miprograma.sh,
y luego se lo envia al manejador de colas de procesos con el comando qsub pbs_miprograma.sh.
La casilla de correo local contendrá los mails con la información
de comienzo y finalización o aborto.
Todos los parámetros incluidos en el PBS Script pueden ser consulados
en la manpage de qsub o en el manual en línea de PBS
Una vez enviado el trabajo, el planificador de PBS lo encolará en la cola de mayor prioridad que
acepte los requerimientos de recursos declarados con el modificador -l.
En caso de que PBS detecte que el proceso ocupa más recursos que los declarados,
éste será automáticamente abortado.
Este es otro ejemplo de un PBS Script que aprovecha los valores por defecto que se asumen.
#!/bin/bash | Nombre del intérprete de comandos |
#PBS -m bae | El manejador de colas envia un mail cuando el proceso empieza y aborta o termina |
#PBS -l mem=20MB,cput=32:10:00 | Declara que el proceso hará uso de los recursos "mem" en menos de 20MB y "cput" en menos de 32 horas y 10 minutos |
cd $PBS_O_WORKINGDIR | Cambia al directorio local de trabajo |
./miPrograma | Nombre del programa a ejecutar |
Por defecto si el nombre del proceso no es declarado se toma el nombre del PBS Script, asi como para los archivos a los que se redirigirá el STDOUT y STDERR. Tampoco es necesario declarar que el proceso no es re-ejecutable y que la cola es la default.
qstat | Estadísticas de las colas |
qdel | Remueve de la cola o mata un proceso mediante su Id |
qorder | Cambia el orden de un trabajo en la cola de espera. |
qmove | Mueve un trabajo a otra cola |
qsig | Envía señales a un proceso |
pbsnodes | Lista el estado de los nodos de ejecución. |
Todos estos comandos requieren argumentos y modificadores que pueden ser consultados en sus respectivas manpages.
xpbs | Manejador integral de colas |
xpbsmon | Monitor |
Estos programas son en realidad clientes del servidor PBS, con lo cual el primer paso antes de poder utilizarlos es indicarle que el servidor es deepblue.famaf.unc.edu.ar. En ambos programas este parámetro se encuentra dentro de las preferencias.
En general xpbs permite realizar cualquier operación, desde el monitoreo hasta el envío de trabajos.
En caso de que estos programas no corran por problemas con el display remoto, será necesario hacer dos cosas: indicarle a la nuestra máquina local que se aceptan conexiones X desde el server de colas (xhost deepblue.famaf.unc.edu.ar) y que el server que exporte el display a nuestra máquina local (export DISPLAY=mimaquina.famaf.unc.edu.ar:0).