<div dir="ltr"><div>Hi Jeremy,</div><div><br></div><div>If all jobs have the same time limit, backfill is impossible. The documentation says: "Effectiveness of backfill scheduling is dependent upon users specifying
job time limits, otherwise all jobs will have the same time limit and
backfilling is impossible". I don't know to overcome that...<br></div><div><br></div><div>However, without changing SchedulerType, you could hold pending jobs except for the job you want to execute, then release all jobs when the desired job is allocated. Also, you could define a node or list of nodes available for all jobs excluding nodes for the job of interest, then remove the configuration when the latter is allocated. I preferred to do the second because the "heavy" job and the "light" jobs will be allocated, and I have not to be aware of the queue outside office hours (Again, easier to do in a low utilized cluster).</div><div><br></div><div>About "PLANNED", I wasn't aware, and it is a feature of SLURM 21.08. Could be that why you don't see it in your cluster?</div><div><br></div><div>Best,<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jan 17, 2022 at 2:02 PM Jérémy Lapierre <<a href="mailto:jeremy.lapierre@uni-saarland.de">jeremy.lapierre@uni-saarland.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="font-size:10pt;font-family:Verdana,Geneva,sans-serif">
<div style="font-size:10pt;font-family:Verdana,Geneva,sans-serif">
<p>Hi Rodrigo and Rémi,</p>
<p>>I had a similar behavior a long time ago, and I decided to set SchedulerType=sched/builtin to empty X<br>>nodes of jobs and execute that high-priority job requesting more than one node. It is not ideal, but the<br>>cluster has low load, so a user that requests more than one node doesn't delay too much the execution<br>>of other's jobs.</p>
<p>I don't think this would be ideal in our case as we have heavy loads. Also I'm not sure if you mean that we should switch to SchedulerType=sched/builtin permanently or just the time needed for the jobs causing problem to be allocated ? Also we have some other experiences on another cluster and slurm should normally reserve resources we think.</p>
<p>>Backfilling doesn't delay the scheduled start time of higher priority jobs,<br>>but at least they must have a scheduled start time.<br>><br>>Did you check the start time of your job pending with Resources reason? eg.<br>>with `scontrol show job <id> | grep StartTime`.</p>
<p>Yes, the scheduled start time have been checked as well, and this time is updated through time such that jobs asking for 1/4 of a node can run on a freshly-free-1/4th-node. This is why I'm saying that the jobs asking for several nodes (tested with 2 nodes here) are pending forever. It is like slurm never wants to have unused resources (which also makes sense, but how can we satisfy "heavy" resources request then ?). On another cluster using slurm, I know that slurm reserves nodes and the node state of those reserved nodes becomes "PLANNED" (or plnd), this way jobs requesting for more resources than available at the time of submission can later be satisfied. This never happens on the cluster which is causing issues.</p>
<p>>Sometimes Slurm is unable to define the start time of a pending job. One<br>>typical reason is the absence of timelimit on the running jobs.<br>>In t his case Slurm is unable to define when the running jobs are over,<br>>when the next highest priority job can start and eventually unable to define<br>>if lower priority jobs actually delay higher priority jobs. </p>
<p>Yes we always set up the time limit of our jobs to the max time limit allowed by the partition.</p>
<p>Thanks for your help,</p>
<p>Jeremy</p>
</div>
</div>
</blockquote></div>