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

Re: [Condor-users] Forcing condor clients to do just one job at a time?



Brad Goldsmith <bcg@xxxxxxxxxxx> wrote:
> Is there a way to make condor client take only one job at a time?

Ian's answer is correct; if you only have one machine my guess is
that Condor has detected two or more CPUs (or possibly a dual
core or hyperthreaded CPU) and decided to run two jobs at a time
to maximize throughput.  The settings Ian recommended will stop
the behavior.

Of course, if you have multiple computers, Condor will happily
schedule one job on each one.  

However, I'd like to make sure we're getting to the core of your
need.  It sounds like your goal is to have your jobs run one at a
time, each waiting for the previous to finish before starting.
If that's the case, our recommended solution is DAGMan.  DAGMan
allows you to specify that one job cannot start until one or more
previous jobs is done.  It can handle complex acyclic graphs, but
it handles a simple list of jobs quite well. 

Assuming your jobs have submit files with names like
"job1.condor" and "job2.condor", the DAGMan submit file will look
something like:

JOB j1 job1.condor
JOB j2 job2.condor
PARENT j1 CHILD j2
JOB j3 job3.condor
PARENT j2 CHILD j3
JOB j4 job4.condor
PARENT j3 CHILD j4

You can read more about DAGMan here:
http://www.cs.wisc.edu/condor/manual/v7.0/2_10DAGMan_Applications.html

-- 
Alan De Smet                              Condor Project Research
adesmet@xxxxxxxxxxx                http://www.cs.wisc.edu/condor/