Tutorial o algo asi de Job Manager Torque

De :  http://www.clusterresources.com/torquedocs21/1.2basicconfig.shtml


En hpclab64 (10.0.2.250) el $HOME de torque server y su configuracion están en 

/var/spool/torque/server_priv/


Como Configurar Torque (PBS) y Ejecutar un JOB
==============================================

La configuracion consiste de :

 1- Inicializar el archivo serverdb de torque-server
 2- Instalar en los nodos el pbs_mom y configurar $TORQUEHOME/mom_priv/config
 3- Crear el archivos nodes con los datos de las maquinas nodos
 4- Crear y configurar una cola default

Ejecutar un job de ejemplo :

 5- Agregar un usuario operador
 6- Encolar y ejecutar un script


1- Inicializar serverdb (YA ESTA HECHO. OBVIAR SI SE QUIERE)
-----------------------

La documentacion indica que se debe ejecutar 

        # pbs_server -t create 

para crear e inicializar el archivos serverdb minimo.

En hpclab64 no hace falta ya existe.
Luego de crear ese archivo reiniciar torque server:

        # /etc/init.d/torque-server restart


- Chequear Que la Configuracion Minima Exista

        # qmgr -c 'p s'

Si hay salida, hay una configuracion minima.



2- Configurar los Nodos
-----------------------

- Instalar el paquete torque-mom en los nodos (PCs) a utilizar en el cluster
- Crear y configurar el archivo /var/spool/torque/mom_priv/config en los nodos

Ejemplo: en mi PC pampero (10.0.2.253):
         # apt-get install torque-mom
         # Edito /var/spool/torque/mom_priv/config y agrego : 

$pbsserver      hpclab64          # note: hostname running pbs_server
$logevent       255               # bitmap of which events to log

        # En /etc/hosts agrego a hpclab64
10.0.2.250      hpclab64



3- Crear el archivos nodes en torque server
-------------------------------------------

Editar /var/spool/torque/server_priv/nodes en hpclab64. Agregar los nodos a
utilizar por el cluster.

Ejemplo:

        # hpclab64:  cat /var/spool/torque/server_priv/nodes 
pampero

Agregar a pampero a /etc/hosts o bien que pueda resolverser via DNS.



4- Agregando una cola default de jobs (indispensable) (YA ESTA HECHO. OBVIAR SI SE QUIERE)
-----------------------------------------------------

En hpclab64 :

        # qmgr -c 'set server default_queue=cluster_queue'
        # qmgr -c 'create queue cluster_queue'
        # qmgr -c 'set queue cluster_queue queue_type=Execution'
        # qmgr -c 'set queue cluster_queue enabled=True'
        # qmgr -c 'set queue cluster_queue started=True'
        # /etc/init.d/torque-server stop
        # /etc/init.d/torque-server start



5- Agrego el usuario rafa como operador
---------------------------------------

En torque server (hpclab64) agrego a rafa como usuario operador :

        # qmgr -c 'set server operators=rafa@hpclab64'


- Escribo un script para encolar y ejecutar (en hpclab64) :
  /home/rafa/ls.sh :
        #!/bin/bash
        ls


Encolar y ejecutar un job
-------------------------

- Como usuario rafa encolo un job a la cola default (cluster_queue) en hpclab64 :
- Con el comando qstat podemos todo el tiempo chequear el status de la cola
 
        # rafa@hpclab64:~$ qsub -l nodes=1 /home/rafa/ls.sh 
        5.hpclab64

        # le estoy diciendo que como recursos (-l) utilice un nodo para ejecutar el script /home/rafa/ls.sh. 
        # EL 5.hpclab64 es el nombre asignado a la tarea)


        # rafa@hpclab64:~$ qstat
Job id                    Name             User            Time Use S Queue
------------------------- ---------------- --------------- -------- - -----
5.hpclab64                ls.sh            rafa                   0 Q cluster_queue  


- La mando a ejecutar la TAREA :

        # rafa@hpclab64:~$ qrun 5.hpclab64
        # rafa@hpclab64:~$ qstat
Job id                    Name             User            Time Use S Queue
------------------------- ---------------- --------------- -------- - -----
5.hpclab64                ls.sh            rafa            00:00:00 E cluster_queue  
rafa@hpclab64:~$ qstat
Job id                    Name             User            Time Use S Queue
------------------------- ---------------- --------------- -------- - -----
5.hpclab64                ls.sh            rafa            00:00:00 E cluster_queue  


La tarea se ejecutó en mi PC pampero. Los logs quedan en :

        # /var/spool/torque/server_logs

Ejemplo :
        # less /var/spool/torque/server_logs/20110830

esources_used.walltime=00:00:00
08/30/2011 14:41:38;000d;PBS_Server;Job;5.hpclab64;Post job file processing error; job 5.hpclab64 on host pampero/0
08/30/2011 14:41:38;0100;PBS_Server;Job;5.hpclab64;dequeuing from cluster_queue, state COMPLETE
08/30/2011 14:41:38;000d;PBS_Server;Job;5.hpclab64;Email 'o' to rafa@hpclab64 failed: Child process '/usr/sbin/sendmail -f adm rafa@hpclab64' returned 127 (errno 10:No child processes)
08/30/2011 14:42:54;0002;PBS_Server;Svr;PBS_Server;Torque Server Version = 2.4.8, loglevel = 0
08/30/2011 14:47:54;0002;PBS_Server;Svr;PBS_Server;Torque Server Version = 2.4.8, loglevel = 0
08/30/2011 14:52:54;0002;PBS_Server;Svr;PBS_Server;Torque Server Version = 2.4.8, loglevel = 0
08/30/2011 14:57:54;0002;PBS_Server;Svr;PBS_Server;Torque Server Version = 2.4.8, loglevel = 0
08/30/2011 15:02:54;0002;PBS_Server;Svr;PBS_Server;Torque Server Version = 2.4.8, loglevel = 0

En mi PC pampero quedó la salida del "ls" ejecutado en :
root@pampero:/var/spool/torque/undelivered/5.hpclab64.OU 

FAlta corroborar si el proceso terminó completamente o no. El email de notificacion no lo pudo mandar. Y la salida del comando que quedó en mi pc pampero esta en un directorio de nombre raro "undelivered"

Reiniciar los Servicios

En el servidor (job manager) :

/etc/init.d/torque-server restart

En los nodos :

/etc/init.d/torque-mom restart