Changes between Version 5 and Version 6 of ColasPBS


Ignore:
Timestamp:
Dec 13, 2010 6:23:03 PM (12 years ago)
Author:
lluis
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ColasPBS

    v5 v6  
    5757
    5858Las peticiones se hacen por un conjunto de ''flags''. El envio del job al gestor de la cola se puede hacer añadiendo todas las directrices en la línea de comandos de la aplicación, o por medio de una script (archivo de texto con instrucciones de sistema). En según que circumstancias nos va interesar hacerlo de una manera u otra, pero las dos son equivalentes. La estructura tipo de un script (llamado por ejemplo {{{job.pbs}}}) de colas tiene la siguiente estructura (se añaden todas las opciones a modo de ejemplo):
    59 
    60 
    61 {{{
    62 
    63 }}}
    6459
    6560{{{
     
    131126[jobid] [usuario] [queue] [jobname] [SessID] [NDS] [TSK] [Req' Memory] [Req' time] [S] [Time]
    132127}}}
    133   Los estados [S] que puede tener un job en la cola son:
    134   * E el trabajo está saliendo después de finalizar su ejecución.
    135   * H el trabajo está capturado (''Hold'', ej. esperando que termine otro)
    136   * Q el trabajo está en cola, elegible para su ejecución.
    137   * R el trabajo está ejecutándose.
    138   * T el trabajo está en transición (moviéndose a otra localización).
    139   * W el trabajo está a la espera de alcanzar el tiempo de ejecución.
    140   * S el trabajo está suspendido.
     128  * Los estados [S] que puede tener un job en la cola son:
     129   * E el trabajo está saliendo después de finalizar su ejecución.
     130   * H el trabajo está capturado (''Hold'', ej. esperando que termine otro)
     131   * Q el trabajo está en cola, elegible para su ejecución.
     132   * R el trabajo está ejecutándose.
     133   * T el trabajo está en transición (moviéndose a otra localización).
     134   * W el trabajo está a la espera de alcanzar el tiempo de ejecución.
     135   * S el trabajo está suspendido.
    141136
    142137== ejemplos ==
    143138
    144139=== Wall time insuficiente ===
    145 Tomamos un job sencillo de ejemplo escrito en un fichero llamado {{{prueba.pbs}}}. Este job lanza el script {{{espera.bash}}} el cual se espera los segundos dados por el primer argumento y escribe por pantalla el mensaje "Hola mundo".
     140Tomamos un job sencillo de ejemplo escrito en un fichero llamado {{{'prueba.pbs'}}}. Este job lanza el script {{{'espera.bash'}}} el cual se espera los segundos dados por el primer argumento y escribe por pantalla el mensaje "Hola mundo".
    146141{{{
    147142#!/bin/bash
     
    188183
    189184=== Mandar el job a un nodo en concreto ===
    190 Si se quiere mandar el job a un nodo en concreto se substituye la línea {{{PBS -l nodes=1:ppn=1}}} por:
     185Si se quiere mandar el job a un nodo en concreto se substituye la línea {{{'PBS -l nodes=1:ppn=1'}}} por:
    191186   {{{
    192187#PBS -l nodes=wn[nnn].macc.unican.es
     
    195190
    196191=== Ocupar toda la memória de un nodo con un único job ===
    197 Para ocupar toda la memória de un nodo con un único job, bastará con pedit todos los cores de un nodo de la cola. Así, si queremos toda la memória de los nodos de la cola {{{dinamica}}}, requeriríamos:
     192Para ocupar toda la memória de un nodo con un único job, bastará con pedit todos los cores de un nodo de la cola. Así, si queremos toda la memória de los nodos de la cola {{{'dinamica'}}}, requeriríamos:
    198193   {{{
    199194#PBS -l nodes=1:ppn=8
     
    201196
    202197=== Lanzar un job interactivo ===
    203 A la hora de hacer pruebas es muy útil abrir una sessión interactiva en un nodo del clúster. Esto se hace mandando un job interactivo. La sessión que se habra durará todo el tiempo que se quiera hasta que no se le mande la instrucción de salida {{{exit}}}. La sintaxis es:
     198A la hora de hacer pruebas es muy útil abrir una sessión interactiva en un nodo del clúster. Esto se hace mandando un job interactivo. La sessión que se habra durará todo el tiempo que se quiera hasta que no se le mande la instrucción de salida {{{'exit'}}}. La sintaxis es (la cola asume '{{{ppn=1}}}'):
    204199   {{{
    205200qsub -I -l nodes=1 -q [queue]
     
    208203
    209204=== Lanzar un job con dependencias ===
    210 En este caso, no se lanzará una script {{{listar.bash}}} hasta que no termine la espera de 60 segundos (una vez corregido el walltime)
    211    {{{
    212    [lluis@mar CursilloPBS]$ date
     205En este caso, no se lanzará una script {{{'listar.bash'}}} hasta que no termine la espera de 60 segundos (una vez corregido el walltime)
     206   {{{
     207[lluis@mar CursilloPBS]$ date
    213208Mon Dec 13 17:53:57 CET 2010
    214209[lluis@mar CursilloPBS]$ qsub prueba.pbs
     
    217212307080.ce01.macc.unican.es
    218213}}}
    219   La script 'listar.bash' no se ejecutará hasta que termine 'prueba.pbs' con pid 307079. Se sigue:
     214  La script {{{'listar.bash'}}} no se ejecutará hasta que termine {{{'prueba.pbs'}}} con pid 307079. Se sigue:
    220215  {{{
    221216[lluis@mar CursilloPBS]$ ls
    222217espera.bash listar.bash  prueba.pbs
    223218[lluis@mar CursilloPBS]$ date
    224 Mon Dec 13 17:54:30 CET 2010
    225 [lluis@mar CursilloPBS]$ ls
    226 espera.bash  listar.bash  prueba.pbs
    227 [lluis@mar CursilloPBS]$ date
    228219Mon Dec 13 17:54:43 CET 2010
    229 [lluis@mar CursilloPBS]$ ls
    230 espera.bash  listar.bash  prueba.pbs
    231 [lluis@mar CursilloPBS]$ date
    232 Mon Dec 13 17:54:54 CET 2010
    233220[lluis@mar CursilloPBS]$ ls
    234221espera.bash  listar.bash  prueba.pbs
     
    241228[lluis@mar CursilloPBS]$ ls
    242229espera.bash listado.e307080 listado.o307080 listar.bash prueba.e307079 prueba.o307079 prueba.pbs
     230[lluis@mar CursilloPBS]$ cat prueba.o307079
     231Hola mundo
     232[lluis@mar CursilloPBS]$ cat prueba.e307079
    243233}}}
    244234
    245235== Monitorización del clúster ==
    246 Hay dos maneras de observar la activada del clúster. Por línea de comandos se tiene la instrucción {{{pbs_nodes}}}
     236Hay dos maneras de observar la activada del clúster. Por línea de comandos se tiene la instrucción {{{'pbs_nodes'}}}
    247237Por entorno web está instalado el [http://www.meteo.unican.es/ganglia/ ganglia]. En este entorno se muestra toda la actividad de los nodos (consumo de cpu, memoria, disocs duros, etc...) con una interfaz gráfica.
    248238