Changes between Version 42 and Version 43 of ColasPBS


Ignore:
Timestamp:
Sep 23, 2011 10:40:01 AM (11 years ago)
Author:
lluis
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ColasPBS

    v42 v43  
    130130### Max run time
    131131#PBS -l walltime=[HH]:[MM]:[SS]
     132### Max memory
     133#PBS -l vmem=[MM][kb/mb/gb/tb]
    132134### Queue name
    133135#PBS -q [queueNAME]
     
    157159 * ''-N [jobname] :'' nombre del job
    158160 * ''-l walltime=[HH]:[MM]:[SS] :'' duración del job (en {{{[horas]:[minutos]:[segundos]}}}).
     161 * ''-l vmem=[MM][kb/mb/gb/tb] :'' memoria requerida y límite de la memoria en kb: vilbytes, mb: Mega bytes, gb: gigas, tb: teras (''NOTA:'' la memoria del nodo se irá consumiendo con los valors de 'vmem' de cada job. El job que requiera mas memoria que la que tiene el nodo libre, se quedará a la espera)
    159162 * ''-q [queue] :'' nombre de la cola a la cual se manda el job
    160163 * ''-m [flags] :'' indica cuando se tiene que mandar un correo. Si no se pone este requerimiento si el job es abortado por el sistema se manda un correo al usuario (variable {{{MAIL}}}). Hay las siguientes opciones (son combinables):
     
    186189o bien por la línea de comandos en una línea como sigue:
    187190  {{{
    188 qsub -N [jobname] -l walltime=[HH]:[MM]:[SS] -q [queueNAME] -m [flags] -M [emailCOUNT] -e [rutaArchivo]
     191qsub -N [jobname] -l walltime=[HH]:[MM]:[SS] -l vmem=[MM] -q [queueNAME] -m [flags] -M [emailCOUNT] -e [rutaArchivo]
    189192-o [rutaArchivo] -W afterany:[jobid] -t [array] -v [variable] -l nodes=[N]:ppn=[M] [aplicacion]
    190193}}}
     
    300303El tiempo dado al job ha diso insuficiente.
    301304
     305=== Memoria insuficiente ===
     306Para evitar generar problemas en los nodos por exceso de uso de memoria se tiene el flag 'vmem'. A modo de ejemplo se tiene un programa de Fortran que ocupa en memoria 160 MB. Mandamos un job con 150MB de límite de memoria.
     307{{{
     308#!/bin/bash
     309### Job name
     310#PBS -N prueba
     311### Max memory
     312#PBS -l vmem=150mb
     313### Queue name
     314#PBS -q grid
     315### Number of nodes and processors per node
     316#PBS -l nodes=1:ppn=1
     317
     318cd ${PBS_O_WORKDIR}
     319
     320./Fortran.out
     321}}}
     322
     323El job se lanza a la cola, y pasados unos segundos nos sale este mensaje en el fichero de salida 'prueba.e477378':
     324   {{{[lluis@mar Fortran]$ cat prueba.e477378
     325=>> PBS: job killed: vmem 162836480 exceeded limit 157286400
     326}}}
     327
    302328=== Ocupar toda la memoria de un nodo con un único job ===
    303329Se pueden tener aplicaciones que requieran mucha memoria. Para evitar que el job se mande en un nodo donde tiene parte de la memoria ocupada, y/o para no entorpecer los otros jobs, es posbile quedarse con toda la memoria de un nodo. Para hacer esto nos tenemos que asegurar que no entre ningún otro job al nodo. Para hacer esto, mandaremos el job requiriendo todas las unidades de cálculo del nodo. Así, si queremos toda la memoria de los nodos de la cola {{{'dinamica'}}} (con 8 cpus), requeriríamos: