[Swift-devel] Need precise throttle on local provider

Mihael Hategan hategan at mcs.anl.gov
Tue Sep 28 22:24:11 CDT 2010


On Tue, 2010-09-28 at 19:04 -0600, Michael Wilde wrote:
> I read a bit more on this in the User Guide property section. I tried
> throttle.host.submit=1 (along with the jobThrottle element in
> sites.xml) but this did not solve the problem.

That is not meant to solve that problem. It limits the number of
concurrent calls to jobTaskHandler.submit() for a site, but not the
number of (fictive) concurrent job.run() calls.

> 
> The documentation on the throttle confused me, as Ive always thought
> that the throttle behavior was to run (n * 100)+1 job, but the doc
> says +2.

+1 seems to be correct. The doc needs updating.

public double maxLoad() {
	return jobThrottle * tscore + 1;
}

> 
> Regardless, I implemented a workaround with some simple sh mutex, so
> this is low prio for now, and I'll probably try the provider
> enhancement route rather than counting on throttle behavior for
> concurrency control.

If it wasn't the case that there is (in my belief) a solution to this, I
would ask:
You are writing a throttle in one way or another. Why not have it in the
"right" place?

In other words, whether the code is a shell wrapper or a re-usable for
any configuration/provider/site piece of code in the scheduler is a
question of engineering, and I believe that the latter is a better
option (due to the broader scope).

Mihael




More information about the Swift-devel mailing list