Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] trouble using --mca mpi_yield_when_idle 1
From: Eugene Loh (Eugene.Loh_at_[hidden])
Date: 2008-12-08 13:05:15

Jens wrote:

>Hi Terry,
>I would like to run a paraview-server all time on our cluster (even
>though it is not in use 24h) - but this would simply result in some kind
>of "heating-thread".
>Even though it has (in theory) no impact on the node performace (which
>is part of a grid-engine), it would simply result in some kind of
>"heating-thread" which is not a nice idea.
Further (and you can test this), it doesn't yield 100% effectively.
E.g., even if you had other processes ready and eager to consume the
CPU, it seems (based on my tests) that a waiting/yielding OMPI process
won't give up the CPU very well. E.g., maybe only 50%.

An MPI implementation could be more cautious. E.g., it could put a
process to sleep and poll only occasionally for in-coming messages or
have some other way of waking up when needed.

The trade-offs are:

*) the more you give up the CPU, the longer it takes to wake up
*) the more control over this trade off you give to the user, the more
the user needs to understand the tradeoffs
*) the more control you want to allow, the more complex the MPI

Regarding the last one, I think OMPI only allows aggressive or else
yield. No sleep.