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

Re: [HTCondor-users] Priorities

From: Marc Jackson - NOAA Affiliate <marc.jackson@xxxxxxxx>
Date: 07/26/2016 10:30 AM

> I have another question. You're saying that the EUP has more to do with
> the amount of resources allocated to the users/groups. Not the position in
> line. Is there any way to adjust the position in line? For example: If I
> have two users submit jobs with the same amount of requested memory, how
> can I get one of the users jobs to start before the other users jobs? We
> were under the impression that this is handled through the EUP.

The EUP is derived from the priority factor times the RUP, and the RUP is
derived from past usage. The knob that the administrator has available to
adjust is the priority factor.

If you've got two users who are starting fresh with no history, then the
user with a lower factor will get a larger share of resources than the
user with the higher factor.

The amount of memory requested only matters in terms of matching to the
available resources. If you have two sets of jobs from two users which
both request the same amount of memory, then they'll match the same 99
slots, for example.

The userA with an EUP of 10 will get 10 times as many slots as the
userB with an EUP of 100, so userA will get 90 slots while userB will
get the other 9, and they might all actually start up at the same time,
or userB's might be simpler jobs that start up before userA, even. But
it's what's running that counts, not what's starting up.

Jobs start and end all the time, the important thing is the productive
use of the expensive computing resources.

HTCondor can manage this using preemption - if the pool is full
of jobs from the lower-priority user, if the configuration allows
HTCondor will interrupt enough low-end jobs to make room for the
higher-priority user in accordance with the share to which the
higher-priority user is entitled. So if userB was running 99 jobs
and userA submitted a batch, HTCondor might kill off 90 userB jobs to
make room for userA's jobs, rather than making userA's jobs wait.

Hope this helps!

        -Michael Pelletier.