On Jul 21, 2010, at 2:54 PM CDT, Jed Brown wrote:

> On Wed, 21 Jul 2010 15:20:24 -0400, David Ronis <david.ro...@mcgill.ca> wrote:
>> Hi Jed,
>> 
>> Thanks for the reply and suggestion.  I tried adding -mca
>> yield_when_idle 1 (and later mpi_yield_when_idle 1 which is what
>> ompi_info reports the variable as) but it seems to have had 0 effect.
>> My master goes into fftw planning routines for a minute or so (I see the
>> threads being created), but the overall usage of the slaves remains
>> close to 100% during this time.  Just to be sure, I put the slaves into
>> a MPI_Barrier(MPI_COMM_WORLD) while they were waiting for the fftw
>> planner to finish.   It also didn't help.
> 
> They still spin (instead of using e.g. select()), but call sched_yield()
> so should only be actively spinning when nothing else is trying to run.
> Are you sure that the planner is always running in parallel?  What OS
> and OMPI version are you using?

sched_yield doesn't work as expected in late 2.6 Linux kernels: 
http://kerneltrap.org/Linux/CFS_and_sched_yield

If this scheduling behavior change is affecting you, you might be able to fix 
it with:

echo "1" >/proc/sys/kernel/sched_compat_yield

-Dave


Reply via email to