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

Re: [Condor-users] How to have schedd drop claim after each job



> >Most of our jobs are vanilla universe for the moment. In order not
> >to waste CPU time I'd like them to run to completion. I understand
> >how to configure PREEMPT and PREEMPTION_REQUIREMENTS etc. to avoid
> >killing the jobs. The catch is that schedd hangs on to the claim
> >even if the priority dictates another job should run.
> >
> >Is there a way to have schedd relinquish the claim "between" to jobs,
> >either always or when appropriate?

In the "always" class of solutions, add the following to the config:

NotInBetweenJobs = ( State != "Claimed" || $(StateTimer) < 10 * $(MINUTE) )

START = ( $(START) && $(NotInBetweenJobs) )

This will return a node to the negotiation stage when a job finishes,
allowing it to be reallocated to any higher priority users.

The 10 minutes has two roles:
- being greater than the time to start the initial job, it prevents Condor
allocating a node then preempting it immediately.
- for users who have many short jobs (e.g. a minute), it allows several of
them to run before they risk losing the node, amortising the higher interjob
time from this method.

There is a higher interjob time since the node may wait up to
NEGOTIATOR_INTERVAL seconds to be reallocated. Reducing NEGOTIATOR_INTERVAL
improves this somewhat:

NEGOTIATOR_INTERVAL = 60


--
Jonathan Giddy
Grid Technologies Co-ordinator
Welsh e-Science Centre
Cardiff University
+44 (0)29 2087 6998
http://www.cs.cf.ac.uk/user/J.P.Giddy/