[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [HTCondor-users] Configuring preemption based on JobPrio



I realizedÂPREEMPT is not what I was supposed to use.Â

On worker node:Â

STARTD_JOB_ATTRS = $(STARTD_JOB_ATTRS), JobPrio
PREEMPTION_REQUIREMENTS = Â( My.JobPrio < Target.JobPrio )
PREEMPTION_RANK = -My.JobPrio
RetirementTime = 2 * $(MINUTE)
MAXJOBRETIREMENTTIME = $(RetirementTime)


Still it doesn't work to preempt lower priority jobs from worker node.Â


Thanks & Regards,
Vikrant Aggarwal


On Thu, May 15, 2025 at 1:08âPM Vikrant Aggarwal <ervikrant06@xxxxxxxxx> wrote:
After going through a couple of presentations and official docs. I realized that to make PREEMPT work I don't need any other configuration.

This minimal configurationÂon the worker node doesn't work to evacuate the jobs with less priority.Â

STARTD_JOB_ATTRS = $(STARTD_JOB_ATTRS), JobPrio
PREEMPT = Target.JobPrio > My.JobPrio



My requirement is a single user submitting multiple jobs, Jobs with high job priority should evacuate the running jobs with low priority.Â


Thanks & Regards,
Vikrant Aggarwal


On Wed, May 14, 2025 at 4:46âPM Vikrant Aggarwal <ervikrant06@xxxxxxxxx> wrote:
Hello Experts,

Following settings on negotiator:Â

# condor_config_val ALLOW_PSLOT_PREEMPTION NEGOTIATOR_CONSIDER_EARLY_PREEMPTION NEGOTIATOR_CONSIDER_PREEMPTION PREEMPTION_RANK PREEMPTION_REQUIREMENTS
True
True
true
(RemoteUserPrio * 1000000) - ifThenElse(isUndefined(TotalJobRuntime), 0, TotalJobRuntime)
True


Following settings on worker node.Â

STARTD_JOB_ATTRS = $(STARTD_JOB_ATTRS), JobPrio
ALLOW_PSLOT_PREEMPTION = True
PREEMPT = (Target.JobPrio > My.JobPrio)
SHUTDOWN_GRACEFUL_TIMEOUT = 1 * $(MINUTE)

I have the jobs running and other jobs waiting with a higher JobPrio submitted from the same user. But they can't preempt existing jobs. Am I missingÂsomething?

# condor_who -af JobPrio Â| sort | uniq -c
   8 20
   8 200


Thanks & Regards,
Vikrant Aggarwal