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

Re: [Condor-users] RANK & PREEMPTion question



On 11/25/06, Jason Stowe <jstowe@xxxxxxxxxxxxxxxxxx> wrote:
Mark,
The startd's RANK statement is preemptive by nature, so this policy
will always preempt jobs based upon that preference. The
PREEMPTION_RANK and PREEMPTION_REQUIREMENTS expressions are only valid
on the negotiator, and as you have them set they will remove user
priority preemption.

AS Jason nicely explains - machine based RANK always triggers
preemption (I think this is a real pain since I want exactly what you
describe to happen) I went to far to investigate hacking around this
myself (with the intention of providing any such hack back to the
group) Sadly a cursory examination of how startd based RANK is handled
inside the negotiation shows this is a real pain.

Realistically I would say that if you want any kind of complex
scheduling you should try an play within the 'preferred' mechanisms of
user or group priority. If you need specific machines to go outside
this then they need to

1) Advertise this fact somehow in a standard way so that those users
not willing to take the chance they will be kicked don't let their
jobs run there.

2) Consider whether you can balance your consumer and providers needs
with something along the lines of "I (machine owner) can handle X wait
for getting my hardware and the other users are happy that they will
always get a minimum of X time to run" (where X should definitely be >
tens of minutes and preferably hours or more. You can then use machine
RANK but provide a retirement time of X so that everyone is
sufficiently happy and your throughput is preserved with only minor
latency.

2 is preferable (though people need to be aware of it as jobs must be
written to indicate they desire retirement time) but obviously
requires you (the provider) to take a latency hit on your own jobs.
Since you indicated you were happy about this to start with then you
should be fine.

Previous messages to this list (search for JOB_RETIREMENT) indicate
several ways to  or handle this in reasonable fashion with various
tweaks. All this requires a late 6.7 version or better farm.

Matt