Changes between Version 42 and Version 43 of ColasPBS
- Timestamp:
- Sep 23, 2011 10:40:01 AM (11 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ColasPBS
v42 v43 130 130 ### Max run time 131 131 #PBS -l walltime=[HH]:[MM]:[SS] 132 ### Max memory 133 #PBS -l vmem=[MM][kb/mb/gb/tb] 132 134 ### Queue name 133 135 #PBS -q [queueNAME] … … 157 159 * ''-N [jobname] :'' nombre del job 158 160 * ''-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) 159 162 * ''-q [queue] :'' nombre de la cola a la cual se manda el job 160 163 * ''-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): … … 186 189 o bien por la línea de comandos en una línea como sigue: 187 190 {{{ 188 qsub -N [jobname] -l walltime=[HH]:[MM]:[SS] - q [queueNAME] -m [flags] -M [emailCOUNT] -e [rutaArchivo]191 qsub -N [jobname] -l walltime=[HH]:[MM]:[SS] -l vmem=[MM] -q [queueNAME] -m [flags] -M [emailCOUNT] -e [rutaArchivo] 189 192 -o [rutaArchivo] -W afterany:[jobid] -t [array] -v [variable] -l nodes=[N]:ppn=[M] [aplicacion] 190 193 }}} … … 300 303 El tiempo dado al job ha diso insuficiente. 301 304 305 === Memoria insuficiente === 306 Para 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 318 cd ${PBS_O_WORKDIR} 319 320 ./Fortran.out 321 }}} 322 323 El 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 302 328 === Ocupar toda la memoria de un nodo con un único job === 303 329 Se 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: