This is pbs 19.1.3
I have an express queue, prio 150 and a normal queue at prio 50.
preempt_prio is set to “express_queue, normal_jobs” in the scheduler config ,preempt_order is “SCR”.
There is a custom consumable resource that tracks a site wide license feature I care about:
create resource mylicense, type=long, flag=q and set the number accordingly.
I have also a host resource that I assign to the execution hosts:
create resource machinetype, type=string, flag=h
set node host1 resources_available.machinetype=fast
set node host2 resources_available.machinetype=slow
And restrict_res_to_release_on_suspend is set as:
set server restrict_res_to_release_on_suspend = mylicense
set server restrict_res_to_release_on_suspend += ncpus
A job gets submitted to the express queue with -l mylicense=1 and as expected,. a job in the normal queue is suspended, the mylicense resource is freed up and the express queue job starts.
However if I submit to the express queue with -l mylicense=1 and -l machinetype=fast a job in the normal queue will only get suspended if it has both mylicense=1 & machinetype=fast set.
I would expect that any job in the normal that has the consumable resource set is a candidate for suspension. The custom host resource has to match? I wouldn’t expect that.
Can anyone tell me what I am missing?