[slurm-users] Fwd: Using PreemptExemptTime

John DeSantis desantis at usf.edu
Thu Feb 3 14:09:28 UTC 2022


Phil,

>> Does anyone have a working example using PreemptExemptTime?
>> 
>> My goal is to make a higher priority job wait 24 hours before actually
>> preempting a lower priority job. Another way, any job is entitled to 24
>> hours run time before being preempted. The preempted job should be
>> suspended, ideally. If requeue is necessary that is ok.

We do and it is working as expected.  Please see relevant snippets below.

> [~] $ scontrol show config|grep Preempt
> PreemptMode             = CANCEL
> PreemptType             = preempt/qos
> PreemptExemptTime       = 00:00:00

>                 Name Priority PreemptExe 
> -------------------- -------- ---------- 
> interactive          1000     01:00:00   
> preempt              500      01:00:00   
> preempt_short        500      00:30:00   
> rchii                1000     01:00:00   


>> Details from my test cluster below my signature. Any ideas on what I
>> should check or missing? Maybe I misunderstood something.

I don't think you've missed anything.  The only bit of information I can add is that we previously were using GraceTime (which requires PreemptMode=CANCEL).  Unfortunately, depending on the application, it wouldn't always be clear that a job was preempted in the application's output, or within the slurmctld logs.  When we switched to PreemptExemptTime, all application output and SLURM logs stated preempted as the reason.

I know you want to suspend preempted jobs, but what happens if you cancel them instead?

HTH,

John DeSantis


On 2/2/22 14:12, Phil Kauffman wrote:
> Does anyone have a working example using PreemptExemptTime?
> 
> My goal is to make a higher priority job wait 24 hours before actually
> preempting a lower priority job. Another way, any job is entitled to 24
> hours run time before being preempted. The preempted job should be
> suspended, ideally. If requeue is necessary that is ok.
> 
> It's been asked before here:
> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgroups.google.com%2Fg%2Fslurm-users%2Fc%2FmK4_M4hpXL8%2Fm%2FsRhT53VYBQAJ&data=04%7C01%7Cdesantis%40usf.edu%7C6228bd43128249e5c34308d9e6801523%7C741bf7dee2e546df8d6782607df9deaa%7C0%7C0%7C637794920273664110%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=kjiBW8EMaKmxZPjLJJBqHvHRtTC2JluqiC%2FibtWhY3w%3D&reserved=0
> 
> I've run through many iterations attempting to set `PreemptExemptTime`
> in slurm.conf and in QOS.
> 
> Setting `PreemptType=preempt/partition_prio`:
> - The preempted job gets suspended but `PreemptExemptTime` is ignored.
> 
> Setting `PreemptType=preempt/qos`
> - Configuring inside the QOS as well as globally in slurm.conf
> - `PreemptExemptTime` is respected but both jobs continue to run at the
> same time using 200% of the resources, which is not wanted.
> 
> 
> Details from my test cluster below my signature. Any ideas on what I
> should check or missing? Maybe I misunderstood something.
> 
> Cheers,
> 
> Phil
> 
> 
> 
> In my tests I'm using 3 mins as the PreemptExemptTime.
> 
> # Nodes
> NodeName=slurm[2-5] CPUs=1 Sockets=1 CoresPerSocket=1 ThreadsPerCore=2
> RealMemory=1800 MemSpecLimit=200 State=UNKNOWN
> 
> 
> 
> ### experiment using PreemptType=preempt/qos
> PartitionName=DEFAULT OverSubscribe=FORCE:1 Nodes=slurm[2-4]
> PartitionName=active Default=YES QOS=normal
> PartitionName=hipri  Default=NO QOS=expedite
> 
> PreemptType=preempt/qos
> PreemptMode=SUSPEND,GANG
> PreemptExemptTime=00:03:00
> SchedulerParameters=preempt_strict_order
> PriorityType=priority/multifactor
> SelectType=select/cons_tres
> SelectTypeParameters=CR_Core_Memory
> # QOS
> [root at slurm2 slurm-llnl]# sacctmgr show qos -p --noheader
> normal|1|00:00:00||00:03:00|cluster|||1.000000||||||||||||||||||
> expedite|2|00:00:00|normal|00:03:00|cluster|||1.000000||||||||||||||||||
> 
> 
> 
> 
> 
> ### Experiment using PreemptType=preempt/partition_prio
> PartitionName=low    Default=NO OverSubscribe=NO      PriorityTier=10
> PreemptMode=requeue
> PartitionName=med    Default=NO OverSubscribe=FORCE:1 PriorityTier=20
> PreemptMode=suspend
> PartitionName=hi     Default=NO OverSubscribe=FORCE:1 PriorityTier=30
> PreemptMode=off
> 
> PreemptType=preempt/partition_prio
> PreemptMode=SUSPEND,GANG
> PreemptExemptTime=00:03:00
> SchedulerParameters=preempt_strict_order
> PriorityType=priority/multifactor
> SelectType=select/cons_tres
> SelectTypeParameters=CR_Core_Memory
> 
> 
> [EXTERNAL EMAIL] DO NOT CLICK links or attachments unless you recognize the sender and know the content is safe.



More information about the slurm-users mailing list