Ah, thanks Jason. That makes sense. I didn’t think of running only one scheduler across my network (actually, I didn’t realize that it could be done :) … I'll have to read up on that in the manual or wherever).
Just so I understand it, then, it sounds like machine RANK is solely for preemption. I.e. if I have 2 jobs submitted on 2 different schedulers and a machine RANK rule that gives job A a higher number than job B, then that doesn’t necessarily mean that job A will start to run before job B if there's one machine available? I.e. job B might start running first, and then job A would come around and preempt it?
Thanks again.. appreciate it,
> Date: Mon, 3 Nov 2008 00:11:22 -0500
> From: jstowe@xxxxxxxxxxxxxxxxxx
> To: condor-users@xxxxxxxxxxx
> Subject: Re: [Condor-users] startd priority and preemption
> You should be able to achieve what you're looking for by using Startd
> RANK and Job priority.
> On Sun, Nov 2, 2008 at 10:30 PM, Steve Shaw <steveshaw89@xxxxxxxxxxx> wrote:
> > It looks like the two options to set priorities are by user and by jobs on a
> > given machine, right?... Since neither of those suit my needs, I was looking
> Condor has several different ways of setting priority/preemption between jobs:
> -User Priorities for fair-share between Users/AccountingGroups
> -Job Priority for determining the order in which an individual
> scheduler will run a user|accountingGroup's jobs
> -Group Quotas for minimum/maximum resource guarantees
> -Machine RANK determines a machines *preemptive* preference for jobs by machines
> > Optimally, I'd like to preempt jobs only if the Target is 'Urgent'. I.e. if
> > a Low job is running, I'd prefer that it doesn't get preempted by
> > another job unless that job is Urgent. So, I guess I can't play with
> > MaxJobRetirementTime. Is there a way I can do that such that a High job
> > doesn't preempt a Low job but an Urgent job does?
> So if you want, for a given user's jobs, to have their URGENT jobs
> preempt other non-urgent jobs, and otherwise High jobs run before,
> Medium and Low, etc. then do the following:
> -On the startds, set:
> RANK = (TARGET.UserSetPriority =?= 'Urgent')
> This will cause the startd to preempt non-Urgent jobs in favor of Urgent ones
> -Then, within your jobs, set:
> +UserSetPriority="Urgent" or "High" or "Medium" or "Low"
> "priority = 3" if the job is "Urgent"
> "priority = 2" if the job is "High"
> "priority = 1" if the job is "Medium"
> "priority = 0" or don't specify a priority, for "Low" jobs
> You'll want to have individual users submit their jobs to one
> scheduler for this to work properly because Job Priority is only valid
> for ordering a user's jobs within one schedd. For exmple, if you have
> UserA's Low jobs on one ScheddA and High and Medium jobs on ScheddB,
> you will likely get some Low jobs running off the ScheddA and some
> High jobs off the ScheddB. If UserA's jobs are all on one scheduler,
> you'll get the behavior you're looking for.
> Hope this works for you,
> Jason A. Stowe
> cell: 607.227.9686
> main: 888.292.5320
> Cycle Computing, LLC
> Leader in Condor Grid Solutions
> Enterprise Condor Support and Management Tools
> Condor-users mailing list
> To unsubscribe, send a message to condor-users-request@xxxxxxxxxxx with a
> subject: Unsubscribe
> You can also unsubscribe by visiting
> The archives can be found at:
Get your information fix on your phone. With MSN Mobile you get regular news, sports and finance updates. Try it today!