[slurm-users] Dependencies with singleton and after

Jarno van der Kolk jvanderk at uottawa.ca
Tue Aug 27 13:38:46 UTC 2019

Hi all,

I'm still puzzled by the expected behaviour of the following:
$ sbatch --hold fakejob.sh
Submitted batch job 25909273
$ sbatch --hold fakejob.sh
Submitted batch job 25909274
$ sbatch --hold fakejob.sh
Submitted batch job 25909275
$ scontrol update jobid=25909273 Dependency=singleton
$ scontrol update jobid=25909274 Dependency=singleton,after:25909275
$ scontrol update jobid=25909275 Dependency=singleton,after:25909273
$ scontrol release 25909273 25909274 25909275

I expected these to be executed as 25909273, 25909275, 25909274. However, it seems that singletons are executed in order of submission so that this leads to a circular dependency. That is, 25909274 depends on 25909275 due to "after", and 25909275 depends on 25909274 due to "singleton" plus order of submission.

>From the man page for sbatch, that wasn't really clear to me:
                     This  job  can begin execution after any previously launched jobs sharing the same
                     job name and user have terminated.

I'm somewhat interested in creating a patch for this, but before I can look into this, I'll need to know what the expected behaviour is.
If "launched" means submitted to the queue and preserving order, then I should focus on the circular dependency detection.
If "launched" means entered the running state without preserving order, then I should focus on the dependency resolving.

Any thoughts on this?


Jarno van der Kolk, PhD Phys.
Analyste principal en informatique scientifique | Senior Scientific Computing Specialist
Solutions TI | IT Solutions
Université d’Ottawa | University of Ottawa

More information about the slurm-users mailing list