<div dir="ltr">We received no replies, so we solved the problem in house by writing a simple plugin based on the qos priority plugin.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Jan 22, 2020 at 2:50 PM Relu Patrascu <<a href="mailto:relu@vectorinstitute.ai">relu@vectorinstitute.ai</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 dir="ltr">We're having a bit of a problem setting up slurm to achieve this:<div><br></div><div>1. Two QOSs, 'high' and 'normal'.</div><div>2. Preemption type: requeue.</div><div>3. Any job has a guarantee of running 60 minutes before being preempted.</div><div>4. Any job submitted with --qos=high can preempt jobs with --qos=normal if no resources available and all jobs with --qos=normal have been running for at least 60 minutes.</div><div>5. Job A can preempt job B in the same QOS if all the resources are allocated and if job B has run for at least 60 minutes, and if job B has lower priority than job A. If job A preempts Job B then B is requeued. </div><div><br></div><div>We already set this up, but slurm does not allow loops in QOS preemption. That is, QOS 'normal' cannot preempt QOS 'normal'. Is there a way to achieve what we want without having to change the source code? We actually did try modifying the source code to allow preemption within the same QOS, but what we're observing is a job with a lower priority can preempt a job with a higher priority, after the 60 minutes grace time that we have set. We use the builtin scheduler:</div><div><br></div><div>SchedulerType           = sched/builtin<br></div><div>SchedulerParameters     = preempt_strict_order,preempt_reorder_count=5<br></div><div><br></div><div>sacctmgr show qos format=Name,Priority,Preempt%20,PreemptExemptTime,PreemptMode <br>      Name   Priority              Preempt   PreemptExemptTime PreemptMode    <br>---------- ---------- -------------------- ------------------- ----------- ------------- <br>    normal          1               normal            01:00:00     requeue               <br>      high       1000          high,normal            01:00:00     requeue     <br></div><div><br></div><div>Any ideas how we could go about to achieve what we want?<br clear="all"><div><br></div><br></div></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div><br></div><div><span style="font-size:12.8px">+1-647-680-7564</span><br></div></div></div></div></div></div>