Hi Zack!

On Sat, Oct 02, 2010 at 08:39:06AM -0700, Zack Weinberg wrote:
> On Sat, Oct 2, 2010 at 6:01 AM, Manuel Prinz <man...@debian.org> wrote:
> >> On 29 September 2010 at 18:22, Zack Weinberg wrote:
> >> | (on an 8-core machine), CPU utilization jumps *immediately* from 98% idle
> >> | to 20% user, 70% system, 12% idle.  strace reveals that each slave is
> >> | spinning through poll() calls with timeout zero, rather than blocking
> >> | until a message arrives, as the documentation for mpi.probe() suggests
> >> | should happen.
> ...
> > Well, no. Actually, this behavior is by design. I'm not sure about the 
> > details
> > exactly but can get back to Jeff if you're interested in those. This is 
> > coming
> > up every now and then in the BTS or the user list. Open MPI is basically 
> > burning
> > every free cycle that is not used for computation (busy wait). There are no
> > immediate plans of changing that, as far as I know.

I did some reading and it seems the Open MPI indeed does support two modes
of waiting: aggressive and degraded. The default behavior is "aggressive",
but you can switch them by setting the mpi_yield_when_idle MCA parameter.
See the following FAQ entries (and links therein):

http://www.open-mpi.org/faq/?category=running#force-aggressive-degraded
http://www.open-mpi.org/faq/?category=running#oversubscribing

I guess this is basically the behaviour you want. It would be great if you
could give it a try and report back if it works for you. If it doesn't do
what you (and I) expect, I'll forward this issue upstream.

Best regards,
Manuel



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to