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.