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