<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">I’ve got essentially 3 “tiers” of jobs.<div class=""><br class=""></div><div class="">tier1 are stateless and can be requeued</div><div class="">tier2 are stateful and can be suspended</div><div class="">tier3 are “high priority” and can preempt tier1 and tier2 with the requisite preemption modes.</div><div class=""><br class=""></div><div class=""><blockquote type="cite" class=""><font face="Menlo" class="">$ sacctmgr show qos format=name%10,priority%10,preempt%12,preemptmode%10</font></blockquote><blockquote type="cite"><div class=""><font face="Menlo" class="">      Name   Priority      Preempt PreemptMod</font></div><div class=""><font face="Menlo" class="">---------- ---------- ------------ ----------</font></div><div class=""><font face="Menlo" class="">    normal          0                 cluster</font></div><div class=""><font face="Menlo" class="">     tier1         10                 requeue</font></div><div class=""><font face="Menlo" class="">     tier2         10                 suspend</font></div><div class=""><font face="Menlo" class="">     tier3        100  tier1,tier2    cluster</font></div></blockquote><div class=""><br class=""></div>I also have a separate partition for the same hardware nodes to allow for tier3 to cross partitions to suspend tier2 (if its possible to have this all work in a single partition, please let me know).<br class=""><br class=""></div><div class="">tier1 and tier2 get preempted by tier3 perfectly, but the problem is now that tier3 gets gang scheduled in times of big queues in tier3, when I never want gang scheduling anywhere, but especially not tier3.</div><div class=""><br class=""></div><div class=""><font face="Menlo" class=""><blockquote type="cite" class="">PreemptType=preempt/qos<br class="">PreemptMode=SUSPEND,GANG</blockquote><div class=""><font face="Menlo" class=""><br class=""></font></div>This is what is in my slurm.conf, because if I try to set PreemptMode=SUSPEND</font>, the ctld won’t start due to:<font face="Menlo" class=""><br class=""></font></div><div class=""><blockquote type="cite" class=""><font face="Menlo" class="">slurmctld: error: PreemptMode=SUSPEND requires GANG too</font></blockquote><div class=""><br class=""></div>I have also tried to set<font face="Menlo" class=""> PreemptMode=OFF</font> in the (tier3) partition as well, but this has had no effect on gang scheduling that I can see.<br class=""><br class=""></div><div class="">Right now, my hit-it-with-a-hammer solution is increasing <font face="Menlo" class="">SchedulerTimeSlice</font> to 65535 that should effectively prevent jobs from gang scheduling.</div><div class="">While this effectively gets me to the goal I’m looking for, it's inelegant, and if I end up with jobs that go past ~18 hours, this is not going to work as I want/hope/expect.</div><div class=""><br class=""></div><div class="">So I’m hoping that there is a better solution to this that would solve the root issue to have the tier3 qos/partition not preempt itself.</div><div class=""><br class=""></div><div class="">Hopefully I’ve described this well enough and someone can offer some pointers on how to have suspend-able jobs in tier2, without having incidental gang-suspension in tier3.</div><div class=""><br class=""></div><div class="">This is 21.08.8-2 in the production cluster, and I’m testing 22.05.2 in my testing cluster which is behaving the same way.</div><div class=""><br class=""></div><div class="">Reed</div></body></html>