[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [Condor-users] "Secret" classads available when writingPREEMPTION_REQUIREMENTS?
- Date: Wed, 16 Feb 2005 17:55:03 -0500
- From: "Ian Chesal" <ICHESAL@xxxxxxxxxx>
- Subject: RE: [Condor-users] "Secret" classads available when writingPREEMPTION_REQUIREMENTS?
> No. (And a terminology point - those aren't "classads", those
> are attributes that are inserted into classads. The
> RemoteUserPrio attribute is inserted into the ClassAd of any
> machine that has a job running on it. The SubmittorPrio
> attribute is inserted into the Job Ad the negotiator is
> trying to match with a resource)
Right. So there are no other attributes that I can't see with
"condor_status -long" that I could use then other than the two Prio ones
I already mentioned. Got it. Thanks.
> > I'm trying to make it harder for preemption to occur and
> the classads
> > I see when I do "condor_status -long" aren't really helping me out
> > much. Is there a classad that tracks the number of
> preemption requests
> > a ClientMachine currently has in progress?
> I'm not sure what you mean by preemption requests.
> If the negotiator can't find a match for a job, it goes on to
> trying to preempt the job running on a claimed machine. It
> evaluates preemption_requirements by plugging in the machine
> classad on one side, and the job ad on the other side. If the
> expression is true, then that machine ad is added to a list
> of machines that we can preempt for this job. The process is
> repeated for every machine in the pool, and we are left with
> a set of machines that we can preempt to satisfy this job.
> That set is then sorted according to PREEMPTION_RANK, and we
> know what machine to preempt.
I'm trying to make it harder for PREEMPTION_REQUIREMENTS to become true
for any particular job. For example: there is no point preempting jobs
that come from the same schedd machine as the job looking for a place to
run because we have essentially infinitly long retirement times set. So
you might as well just wait for the job to finish and then the machine
will come back to your schedd. So I've added (My.ClientMachine =!=
Target.ClientMachine) and &&'ed with the rest of the
PREEMPTION_REQUIREMENTS string. Does that make sense?