Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
es:centro:servizos:hpc:envio_trabajo [2016/02/12 10:35] – [Consultar el estado del trabajo, las colas o los nodos] fernando.guillenes:centro:servizos:hpc:envio_trabajo [2017/10/09 11:13] (actual) – [Table] diego.cougil
Línea 1: Línea 1:
-[[ es:centro:servizos:hpc#instrucciones_de_uso_del_cluster| >> Volver a la página principal del cluster ]]+====== Envío y gestión de los trabajos ======
  
-====== Envío y gestión de los trabajos ====== 
-<note tip> 
-Para todos los comandos mencionados en esta página existe la correspondiente página del MAN. 
-</note> 
 ===== Enviar los trabajos al sistema de colas ===== ===== Enviar los trabajos al sistema de colas =====
 +--------------
 El envío de trabajos se realiza a través del comando qsub, cuyo argumento obligatorio es el nombre de un script de shell.  El envío de trabajos se realiza a través del comando qsub, cuyo argumento obligatorio es el nombre de un script de shell. 
 <code> <code>
Línea 13: Línea 10:
  
 ===== Consultar el estado del trabajo, las colas o los nodos ===== ===== Consultar el estado del trabajo, las colas o los nodos =====
 +---------------
 ==== Información de las colas ==== ==== Información de las colas ====
 El comando ''qstat'' permite consultar el estado de las colas,  El comando ''qstat'' permite consultar el estado de las colas, 
Línea 46: Línea 43:
  
 ==== Información de los trabajos ==== ==== Información de los trabajos ====
 +Cada vez que se envía un trabajo se le asigna un JOB_ID que sirve como identificador único. Si el trabajo se envió con la opción -t entonces se identificará mediante ''job_id[indice]''.
 +
 <code bash> <code bash>
 ct$ qstat  # Información general de los trabajos de usuario  ct$ qstat  # Información general de los trabajos de usuario 
Línea 54: Línea 53:
 La columna Time Use muestra el tiempo de CPU usado. La columna Time Use muestra el tiempo de CPU usado.
 La columna S es el estado del trabajo, que puede ser uno de los siguientes: La columna S es el estado del trabajo, que puede ser uno de los siguientes:
-                 C -  Job is completed after having run/+                 C -  Job is completed after having run
                  E -  Job is exiting after having run.                  E -  Job is exiting after having run.
                  H -  Job is held.                  H -  Job is held.
Línea 63: Línea 62:
  
 <code bash> <code bash>
-qstat -f 999999.ctcomp2   # Información sobre un trabajo específico+ct$ qstat -f 999999.ctcomp2   # Información sobre un trabajo específico
 Job Id: 999999.ctcomp2.innet Job Id: 999999.ctcomp2.innet
     Job_Name = nombre_del_trabajo     Job_Name = nombre_del_trabajo
Línea 106: Línea 105:
  
 </code> </code>
 +Una característica interesante de los trabajos finalizados es el EXIT_STATUS que se mostraría cuando el JOB_STATE es C. 
 +^  Código interno        Valor de EXIT_STATUS  ^  Significado                                                                       ^
 +|  JOB_EXEC_OVERLIMIT    -10                                                                                                      |
 +|  JOB_EXEC_STDOUTFAIL  |  -9                    |                                                                                    |
 +|  JOB_EXEC_CMDFAIL      -8                    |  Exec() of user command failed                                                     |
 +|  JOB_EXEC_BADRESRT    |  -7                    |  Job restart failed                                                                |
 +|  JOB_EXEC_INITRMG      -6                    |  Job aborted on MOM init, chkpt, ok migrate                                        |
 +|  JOB_EXEC_INITRST      -5                    |  Job aborted on MOM init, chkpt, no migrate                                        |
 +|  JOB_EXEC_INITABT      -4                    |  Job aborted on MOM initialization                                                 |
 +|  JOB_EXEC_RETRY        -3                    |  Job execution failed, do retry                                                    |
 +|  JOB_EXEC_FAIL2        -2                    |  Job execution failed, after files, no retry                                       |
 +|  JOB_EXEC_FAIL1        -1                    |  Job execution failed, before files, no retry                                      |
 +|  JOB_EXEC_OK          |  0                      Job execution successful                                                          |
 +|                        1-256                  Exit status of the top-level shell                                                |
 +|                        >256                  |  Trabajo terminado por una señal UNIX, restarle 256 nos da el número de la señal.  |
 +
 +<code bash>
 +ct$ checkjob 999999.ctcomp2                # Información sobre un trabajo específico
 +
 +checking job 999999
 +
 +State: Running
 +Creds:  user:nombre_usuario  group:citius  class:np32  qos:DEFAULT
 +WallTime: 00:25:46 of 12:00:00
 +SubmitTime: Tue Feb 16 10:40:31
 +  (Time Queued  Total: 00:00:01  Eligible: 00:00:01)
 +
 +StartTime: Tue Feb 16 10:40:32
 +Total Tasks: 32
 +
 +Req[0]  TaskCount: 32  Partition: DEFAULT
 +Network: [NONE]  Memory >= 0  Disk >= 0  Swap >= 0
 +Opsys: [NONE]  Arch: [NONE]  Features: [active][intel][xeonl]
 +Allocated Nodes:
 +[inode15:32]
 +
 +
 +IWD: [NONE]  Executable:  [NONE]
 +Bypass: 0  StartCount: 1
 +PartitionMask: [ALL]
 +Flags:       RESTARTABLE
 +
 +Reservation '137092' (-00:25:32 -> 11:34:28  Duration: 12:00:00)
 +PE:  32.00  StartPriority:  21
 +</code>
 +
 +<code bash>
 +ct$ tracejob -n 3 999999.ctcomp2   # Devuelve el contenido de los logs relativos al jobid indicado.
 +Job: 136553.ctcomp2.innet
 +
 +02/10/2016 15:22:26  S    enqueuing into batch, state 1 hop 1
 +02/10/2016 15:22:26  S    dequeuing from batch, state QUEUED
 +02/10/2016 15:22:26  S    enqueuing into np1, state 1 hop 1
 +02/10/2016 15:22:26  S    Job Run at request of citiuscap@ctcomp2.innet
 +02/10/2016 15:22:26  S    Not sending email: User does not want mail of this type.
 +02/10/2016 15:22:26  A    queue=batch
 +02/10/2016 15:22:26  A    queue=np1
 +02/10/2016 15:22:26  A    user=nombre_usuario group=citius
 +                          jobname=nombre_trabajo queue=np1 ctime=1455114146 qtime=1455114146 etime=1455114146 start=1455114146 owner=nombre_usuario@ctcomp2.innet exec_host=inode19/24 Resource_List.neednodes=1:ppn=1 Resource_List.nodect=1 Resource_List.nodes=1:ppn=1 Resource_List.vmem=2040mb Resource_List.walltime=12:00:00
 +02/10/2016 16:08:34  S    Exit_status=0 resources_used.cput=00:46:14
 +                          resources_used.mem=234868kb resources_used.vmem=1002480kb
 +                          resources_used.walltime=00:46:08
 +02/10/2016 16:08:34  S    on_job_exit valid pjob: 999999.ctcomp2.innet (substate=50)
 +02/10/2016 16:08:34  A    user=nombre_usuario group=citius jobname=nombre_trabajo queue=np1 ctime=1455114146 qtime=1455114146 etime=1455114146 start=1455114146 owner=nombre_usuario@ctcomp2.innet exec_host=inode19/24 Resource_List.neednodes=1:ppn=1 Resource_List.nodect=1 Resource_List.nodes=1:ppn=1 Resource_List.vmem=2040mb Resource_List.walltime=12:00:00 session=7304 end=1455116914 Exit_status=0 resources_used.cput=00:46:14 resources_used.mem=234868kb resources_used.vmem=1002480kb resources_used.walltime=00:46:08
 +02/10/2016 17:08:35  S    dequeuing from np1, state COMPLETE
 +</code>
 +
  
 ==== Información de los nodos ==== ==== Información de los nodos ====
-El comando ''pnbsnodes'' da información sobre los nodos.+Para obtener una vista global del estado del cluster se puede utilizar el comando ''nodes-usage''
 +<code bash> 
 +$ nodes-usage 
 ++----------------------------------+-------------------+ 
 +| USAGE                            | NODE              | 
 ++----------------------------------+-------------------+ 
 +| ################################ | node1 (64/64)     | 
 +| ################################ | node2 (64/64)     | 
 +|                                  | node3 (0/64)      | 
 +| ################################ | node4 (64/64)     | 
 +|                                  | node5 (0/64)      | 
 +| ################################ | node6 (64/64)     | 
 +|                                  | node7 (0/64)      | 
 +|                                  | inode11 (0/32)    | 
 +|                                  | inode12 (0/??   | 
 +|                                  | inode13 (0/32)    | 
 +|                                  | inode14 (0/32)    | 
 +|                                  | inode15 (0/??   | 
 +|                                  | inode16 (0/32)    | 
 +|                                  | inode17 (0/??   | 
 +|                                  | inode18 (0/??   | 
 +| ##                               | inode19 (2/32)    | 
 +| ############################     | inode20 (28/32)   | 
 ++----------------------------------+-------------------+ 
 +| ##############                   | TOTAL (286/640)   | 
 ++----------------------------------+-------------------+ 
 +</code> 
 + 
 +Para obtener información sobre los usuarios que se encuentran en cada nodo, se puede utilizar el comando ''node-users <nodo>'': 
 + 
 +<code bash> 
 +$ node-users node1 
 +Tracing node jobs................................................................... 
 +jorge.suarez natalia.fernandez 
 +</code> 
 + 
 +Para obtener información más detallada sobre los nodos, se puede utilizar el comando ''pnbsnodes'': 
 <code bash> <code bash>
 ct$ pbsnodes  #Información detallada de todos los nodos ct$ pbsnodes  #Información detallada de todos los nodos
Línea 156: Línea 259:
  
 ===== Eliminar un trabajo de la cola ===== ===== Eliminar un trabajo de la cola =====
- +------------- 
-El comando ''qdel'' permite al usuario eliminar un trabajo de la cola PBS, antes de que sea emitido a los nodos computacionales para su ejecución. Este comando necesita como argumento el identificador que PBS le asigna cuando se registra un nuevo trabajo, y que se puede consultar con ''qstat''.+El comando ''qdel'' permite al usuario eliminar un trabajo. Funciona enviándole primero una señal TERM y luego una KILL. Este comando necesita como argumento el identificador que PBS le asigna cuando se registra un nuevo trabajo, y que se puede consultar con ''qstat''.
  
 <code> <code>