<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Hi list,</div><div><br></div><div>We have GrpTRES limits on all accounts which causes a lot of higher priority jobs to stay in the queue due to limits. As such we rely heavily on the backfill scheduler. We also have a special lower priority preemptable QOS with no limits.<br></div><div><br></div><div>We've noticed that when the cluster is loaded, sending a non preemptable but not highest priority job, will cause the backfill algorithm to fail to start the job when it needs to kill preemptable jobs. The preemptable jobs are killed, but the job doesn't start.<br></div><div><br></div><div>From the logs, for job 3617065:<br>[2020-11-15T13:36:01.928] backfill test for JobId=3617065 Prio=680634 Partition=short<br>[2020-11-15T13:36:12.947] _preempt_jobs: preempted JobId=3616258 had to be killed<br>[2020-11-15T13:36:12.953] _preempt_jobs: preempted JobId=3616259 had to be killed<br>[2020-11-15T13:36:12.960] _preempt_jobs: preempted JobId=3616255 had to be killed<br>[2020-11-15T13:36:12.966] _preempt_jobs: preempted JobId=3616256 had to be killed<br>[2020-11-15T13:36:12.972] _preempt_jobs: preempted JobId=3616257 had to be killed<br>[2020-11-15T13:36:12.973] backfill: planned start of JobId=3617065 failed: Requested nodes are busy<br>[2020-11-15T13:36:12.973] JobId=3617065 to start at 2020-11-15T13:36:01, end at 2020-11-15T15:36:00 on nodes dumfries-002 in partition short<br></div><div><br></div><div>Looking at job 3616258 which was preempted on time:</div><div><span style="font-family:monospace">$ sacct -j 3616258 -ojobid,end,state</span></div><div><span style="font-family:monospace">       JobID                 End      State <br>------------ ------------------- ---------- <br>3616258      2020-11-15T13:36:12  PREEMPTED <br>3616258.bat+ 2020-11-15T13:36:50  CANCELLED <br>3616258.ext+ 2020-11-15T13:36:13  COMPLETED </span><br></div><div><br></div><div>The job was preempted at 13:36:12, but the batch script was finished only at 13:36:50. By then the backfill already gave up. The job will start in one of the subsequence backfill cycles, but in some cases this can take more than 30 minutes.<br></div><div><br></div><div>Is this intentional? i.e. that the backfill will preempt jobs on the first cycle, and run the "real" job on the second (or later) cycle?<br></div><div>Has anyone else encountered this?<br></div><div><br></div><div><div>Our slurm is 19.05.1, with KillWait=30 (we want to keep this above 0), CompleteWait=0, and the  SchedulerFlags (which was changed numerous times in the past weeks) currently includes:<br></div><div>batch_sched_delay=5<br>bf_busy_nodes<br>bf_continue<br>bf_interval=90<br>bf_max_job_test=2500<br>bf_max_job_user_part=30<br>bf_max_time=270<br>bf_min_prio_reserve=1000000<br>bf_window=30300<br>bf_yield_interval=5000000<br>default_queue_depth=2000<br>defer<br>kill_invalid_depend<br>max_rpc_cnt=150<br>preempt_strict_order<br>sched_interval=120<br>sched_min_interval=1000000</div></div><div><br></div><div>Thanks in advance,</div><div>    Yair.</div><div></div><div><br></div></div></div></div></div></div></div>