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

Re: [HTCondor-users] [CondorLIGO] Different NEGOTIATOR_PRE_JOB_RANK for parallel and non-parallel universe jobs?

On Tue, Mar 03, 2015 at 02:51:59PM +0000, Peter F. Couvares wrote:
> The NEGOTIATOR_PRE_JOB_RANK boolean expression evaluates in the context of each machine classad (including anything you publish in the machine ad from job ads of the jobs already running there, via STARTD_JOB_ATTRS), so you can simply reference the universe and give it a different rank.  Something like (in pseudocode):
> NEGOTIATOR_PRE_JOB_RANK = (is_parallel * 10) + (is_not_parallel * 20) + other_stuff

To avoid large amounts of parentheses, would it work to have

NEGOTIATOR_PRE_JOB_RANK = ifThenElse( (Target.JobUniverse =?= 11), \
                            $(PARALLEL_PRE_JOB_RANK), \
                            $(NONPARALLEL_PRE_JOB_RANK) )

with the two helper expressions accordingly set? (NONPARALLEL* basically mimicking
the default one, "a - b*Memory - c*Cpus", PARALLEL* something like "x + y*Cpus - z*Memory")

I have searched the net and found that I had asked similar questions already 8 years
ago, but there were only more or less vague answers, nobody actually seems to _use_
such stuff?