El clúster se organiza en partitions (aka colas) y a su vez tiene unidades organizativas como accounts u otros formas de limitar los trabajos. Por todos los aspectos que afectan a un trabajo se puede consultar.


Vemos las particiones presentes

$ sinfo 
PARTITION AVAIL  TIMELIMIT  NODES  STATE NODELIST
cola01*      up   12:00:00      5  idle~ atlas-cola01-c01g01-[0-4]

Concluimos, en este caso, que solo hay una partición llamada "cola01" y que tendría como mucho 5 nodos. En lo sucesivo podemos ver la cantidad de trabajo en la partición.


Comando squeue

Muestra la lista de trabajos en el cluster y algunos datos interesantes como el estado y el tiempo de ejecución. Hay una lista completa de posibles estados más abajo. 


Algunos filtros habituales para mostrar los trabajos 


Motrar todo formateando la salida

Se muestra todo si se lanza squeue sin parámetros.

squeue


Si tenemos solo una partición, el comando anterior equivale a los 2 siguientes:

squeue -a
squeue -p cola01



Se puede obtener una salida con un formato más legible usando la variable SQUEUE_FORMAT.

SQUEUE_FORMAT="%.7i %9P %35j %.8u %.2t %.12M %.12L %.5C %.7m %.4D %R" squeue


Mostrar los de un usuario concreto

squeue -u jhidalgo



Mostrar los que están en estado PENDING

squeue  -t PD


Mostrar una estimación de cuando se iniciará un trabajo

$ SQUEUE_FORMAT="%.7i %9P %35j %.8u %.2t %.12M %.12L %.5C %.7m %.4D %R" squeue --start
             JOBID PARTITION     NAME     USER ST          START_TIME  NODES SCHEDNODES           NODELIST(REASON)
               655    cola01 script.s francesc PD                 N/A      1 (null)               (PartitionTimeLimit)
               657    cola01 script.s francesc PD                 N/A      1 (null)               (PartitionTimeLimit)



Códigos de estado de squeue

El comando squeue detalla una variedad de información sobre el estado de un trabajo activo con códigos de estado y motivo. Los códigos de estado de trabajo describen el estado actual de un trabajo en la cola (por ejemplo, pendiente, completado). Los códigos de motivo del trabajo describen la razón por la que el trabajo se encuentra en su estado actual.

Las siguientes tablas describen una variedad de códigos de estado y motivo de trabajo que puede encontrar al utilizar squeue para comprobar sus trabajos.


StatusCodeExplaination
COMPLETEDCDThe job has completed successfully.
COMPLETINGCGThe job is finishing but some processes are still active.
FAILEDFThe job terminated with a non-zero exit code and failed to execute.
PENDINGPDThe job is waiting for resource allocation. It will eventually run.
PREEMPTEDPRThe job was terminated because of preemption by another job.
RUNNINGRThe job currently is allocated to a node and is running.
SUSPENDEDSA running job has been stopped with its cores released to other jobs.
STOPPEDSTA running job has been stopped with its cores retained.

Una lista completa de códigos se puede encontrar en  Slurm’s documentation.

Posibles causas del estado de un trabajo


Reason CodeExplaination
PriorityOne or more higher priority jobs is in queue for running. Your job will eventually run.
DependencyThis job is waiting for a dependent job to complete and will run afterwards.
ResourcesThe job is waiting for resources to become available and will eventually run.
InvalidAccountThe job’s account is invalid. Cancel the job and rerun with correct account.
InvaldQoSThe job’s QoS is invalid. Cancel the job and rerun with correct account.
QOSGrpCpuLimitAll CPUs assigned to your job’s specified QoS are in use; job will run eventually.
QOSGrpMaxJobsLimitMaximum number of jobs for your job’s QoS have been met; job will run eventually.
QOSGrpNodeLimitAll nodes assigned to your job’s specified QoS are in use; job will run eventually.
PartitionCpuLimitAll CPUs assigned to your job’s specified partition are in use; job will run eventually.
PartitionMaxJobsLimitMaximum number of jobs for your job’s partition have been met; job will run eventually.
PartitionNodeLimitAll nodes assigned to your job’s specified partition are in use; job will run eventually.
AssociationCpuLimitAll CPUs assigned to your job’s specified association are in use; job will run eventually.
AssociationMaxJobsLimitMaximum number of jobs for your job’s association have been met; job will run eventually.
AssociationNodeLimitAll nodes assigned to your job’s specified association are in use; job will run eventually.

La lista completa está en Slurm’s documentation.



  • Sin etiquetas