Mailing List Archives
Authenticated access
|
|
|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Condor-users] DAG questions
- Date: Mon, 21 Dec 2009 16:27:25 -0600 (CST)
- From: "R. Kent Wenger" <wenger@xxxxxxxxxxx>
- Subject: Re: [Condor-users] DAG questions
On Mon, 21 Dec 2009, Ian Stokes-Rees wrote:
R. Kent Wenger wrote:
Unless your DAG is really "wide" (most of the 3500 nodes in the queue at
one time) upgrading to 7.4 should fix your file
Yes, ours is really wide: 100k nodes, with no dependencies. We use MAX_JOBS
to limit how many DAGMan releases at any one time. The main reasons we use
DAGMan are for pre/post scripts, the retry mechanism, and to slowly release
jobs to Condor. The jobs themselves are independent parts of a parameter
sweep. We then collect results from completed jobs.
Well, as long as you have maxjobs set, you'll limit your fd usage with
7.4.
As promised, 7.4 is much better: 26 minutes to submit the DAG with 7.2 was
reduced to 7 seconds.
Good to hear!
I'm looking for more opportunities to speed things up with DAGMan. My new
slowdown is with the rate at which DAGMan attempts to submit jobs. I
submitted my 100k node DAG around noon, and now 3 hours later I only have 250
jobs running, 700 queued, tens of thousands left. These run for around 5
minutes, so if we have a steady-state of 250 running jobs. I'd at least like
to have my MAX JOB limit number of jobs queued (currently set to 2000). I
have DAGMAN_MAX_SUBMITS_PER_INTERVAL=250, which seemed reasonable, but
perhaps is too low.
You could also set DAGMAN_USER_LOG_SCAN_INTERVAL to 1 (second). That
should help some.
If it would help, I could also investigate setting up a single classad for
all the jobs and using the VARS command in the DAG file to customize each
instance.
I don't think that will speed up the submits. (I assume you mean a single
submit file...)
If you're running a 7.4 DAGMan, a new feature is that you don't have to
specify a log file at all in your submit file -- if you don't, DAGMan will
assign a default log file for you. In fact, this may be the preferred way
to do things, especially if you want to re-use your submit files in more
than one DAG. The default log files are per-DAG, so if you use the same
submit file in two different DAGs you won't have to worry about log file
collisions if you use the default log file feature.
This sounds interesting. Is there any way to force DAGMan to do this, even
if a log file is specified in the individual classad files? The reason I ask
is because I'd like to keep the layered model I have right now where the node
classads are self-contained and can be individually submitted if required.
These will need the "Log = ... " attribute.
As of now, there's no way to override the log file specified in each
submit file, if there is a 'log=' line. Maybe that's an option we should
add, though...
Finally, we are working on figuring out how to monitor and visualize the
progress of our DAG. Is there some way to do DOT file generation "on
demand"? Or does someone with more experience think it is safe in our
environment (100k nodes, 6000 active, 5-10 minutes per node to complete,
500-2000 running at any given time) to have UPDATE enabled for automatic DOT
file generation? On the command/file side, it seems the dagman.out log file
and condor_q -dag are the only sources of monitoring information pertaining
to the DAGs state and progress, or are there other places/commands I'm not
aware of?
I haven't tried the automatic DOT file generation on a DAG of that size.
We want to add another output file from DAGMan that's designed to be a
concise, manchine-readable record of the status of the DAG's jobs. The
dagman.out file is really designed to be read by a human for debugging, so
it's not a good idea to build tools on top of it if you can avoid that.
I don't know how soon we'll have the other log file, though.
Kent Wenger
Condor Team