[Swift-devel] Re: Need precise throttle on local provider

Mihael Hategan hategan at mcs.anl.gov
Sat Oct 2 15:48:21 CDT 2010


On Tue, 2010-09-28 at 18:29 -0600, wilde at mcs.anl.gov wrote:
> Mihael,
[...]

> I thought that the correct value for jobThrottle would be 0.0 to
> ensure 1 job, but from experimentation I found that I needed to set it
> to a slightly negative value, as above (-0.001).

The code was broken in two ways:
1. the check was overloaded = !(load <= maxLoad), which meant that a
host with exactly its maximum load was not considered overloaded. I
changed the comparison to "<". This means that 0.0 should now work.
2. There was some unsynchronized access to the host set (and both the
scheduler thread as well as job notification threads could concurrently
access it). While it was very unlikely for you to see the problem that
this would have caused, having only one site in sites.xml (which is what
I was testing with) did trigger it. If fixed that.

In addition I think I fixed the occasional "Failed to release host"
problem.

All this in cog r2898.

I'll test some more to see if I really get at most one job at a time.

Mihael





More information about the Swift-devel mailing list