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

Re: [Condor-users] Preferring a machine for special jobs using RANK



On 12/20/05, Ian Chesal <ICHESAL@xxxxxxxxxx> wrote:
> > I currently have a pool of several machines, of which only one
> > has a particular piece of software installed. I've already got
> > it set up so that jobs that need this software -- call it
> > SpecialSoft -- only run on the machine that provides it, so
> > that's working great. But, I'd also like jobs that don't require
> > this software to stay off that particular machine unless it's the
> > only one available. I can't figure out how to do this.
>
> I'll be really pedantic about answering this so there's a complete solution in the archives.

nice one - I'm in a hurry so mine is terse :)


> So you're question is how do you tell the jobs that don't need the special software to use other machines before they use this machine? On your machine that has the special software we want to prefer jobs that need the special software so we say:
>
>        RANK = TARGET.MyNeedsSpecialSoftware * 10

Important Note

This means *any* job that sets the MyNeedsSpecialSoftware = True will
kick any other job of this machine (which doesn't set it or sets it to
False) irrespective of user priority or any other preemption control
except retirement time.

If checkpointing is enabled and allowed then this will happen but
still this will happen

If you are on 6.7.x then use of MaxJobRetirementTime will allow you to
avoid preemption but brings in another set of issues.

Matt