[Swift-user] Set maxtime > maxwalltime or your script will hang

Mihael Hategan hategan at mcs.anl.gov
Tue Apr 27 12:30:40 CDT 2010


On Tue, 2010-04-27 at 12:16 -0500, Michael Wilde wrote:
> On Apr 27, 2010, at 11:48 AM, Mihael Hategan wrote:
> 
> > A comment there:
> > Set the "maxtime" coaster parameter if you know that the queue you are
> > using has a limit to the time a job can have. Don't set it because your
> > jobs have a certain maxwalltime. It's purpose is to prevent the creation
> > of blocks that cannot be run on a given queue.
> 
> Mihael, can you clarify this (and the related text from the User Guide)?
> 
> Users almost always want to get their jobs into a "good" queue, and hence
> they usually feel compelled to set maxtime.  So more questions arise when
> you try to figure out how to do this:
> 
> - How does coasters fill blocks?

Largest job in the smallest space that can fit it. Then repeat.

> 
> - What LRM wall time will be used when maxtime is not specified? 
>   (i.e, how many jobs will coasters place in a block)?

That is controlled by the overallocation numbers. Here's the role of
maxtime:

blockTime = calculateFromJobsAndOverallocationSettings();
if (blockTime > maxtime) {
  blockTime = maxtime;
}

So you shouldn't try to use "maxtime" to control the block walltime.
That is not its purpose. And I would rename it to have a clearer name,
except I can't think of a better name than "maxtime" for what it does.
Or maybe "neverExceedTime".

> 
> - Is coasters committing more jobs to specific blocks (and hence specific sites)
>   than the block has cores,  when it computes its schedules?

It depends on whether you want parallelism or efficiency. The default
values tries for parallelism, so it will try to allocate as many cores
as you have jobs. So typically you won't see more cores allocated than
jobs, unless you are hitting some granularity.

>   Or just estimating what it may need?

It is estimating what it may need.





More information about the Swift-user mailing list