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 12:44] – [Información de los trabajos] 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 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 107: Línea 106:
 </code> </code>
 Una característica interesante de los trabajos finalizados es el EXIT_STATUS que se mostraría cuando el JOB_STATE es C.  Una característica interesante de los trabajos finalizados es el EXIT_STATUS que se mostraría cuando el JOB_STATE es C. 
-^  Codigo interno  ^  Valor de EXIT_STATUS  ^  Significado  +^  Código interno       ^  Valor de EXIT_STATUS  ^  Significado                                                                       
-|  JOB_EXEC_OVERLIMIT   |  -10       +|  JOB_EXEC_OVERLIMIT   |  -10                                                                                                      
-|  JOB_EXEC_STDOUTFAIL   |  -9       +|  JOB_EXEC_STDOUTFAIL  |  -9                                                                                                       
-|  JOB_EXEC_CMDFAIL   |  -8   |  Exec() of user command failed  +|  JOB_EXEC_CMDFAIL     |  -8                    |  Exec() of user command failed                                                     
-|  JOB_EXEC_BADRESRT   |  -7   |  Job restart failed  +|  JOB_EXEC_BADRESRT    |  -7                    |  Job restart failed                                                                
-|  JOB_EXEC_INITRMG   |  -6   |  Job aborted on MOM init, chkpt, ok migrate  +|  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_INITRST     |  -5                    |  Job aborted on MOM init, chkpt, no migrate                                        
-|  JOB_EXEC_INITABT   |  -4   |  Job aborted on MOM initialization  +|  JOB_EXEC_INITABT     |  -4                    |  Job aborted on MOM initialization                                                 
-|  JOB_EXEC_RETRY   |  -3   |  Job execution failed, do retry  +|  JOB_EXEC_RETRY       |  -3                    |  Job execution failed, do retry                                                    
-|  JOB_EXEC_FAIL2   |  -2   |  Job execution failed, after files, no 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_FAIL1       |  -1                    |  Job execution failed, before files, no retry                                      
-|  JOB_EXEC_OK                       |  Job execution successful  +|  JOB_EXEC_OK                               |  Job execution successful                                                          
-       1-256      Exit status of the top-level shell    +                       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.  |+                       >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 171: 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>