Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |  

This web mail archive is frozen.

This page is part of a frozen web archive of this mailing list.

You can still navigate around this archive, but know that no new mails have been added to it since July of 2016.

Click here to be taken to the new web archives of this list; it includes all the mails that are in this frozen archive plus all new mails that have been sent to the list since it was migrated to the new archives.

Subject: Re: [OMPI users] busy wait in MPI_Recv
From: Eugene Loh (eugene.loh_at_[hidden])
Date: 2010-10-19 22:54:33

Brian Budge wrote:

>Hi all -
>I just ran a small test to find out the overhead of an MPI_Recv call
>when no communication is occurring. It seems quite high. I noticed
>during my google excursions that openmpi does busy waiting. I also
>noticed that the option to -mca mpi_yield_when_idle seems not to help
>much (in fact, turning on the yield seems only to slow down the
>program). What is the best way to reduce this polling cost during
>low-communication invervals? Should I write my own recv loop that
>sleeps for short periods? I don't want to go write someone that is
>possibly already done much better in the library :)
I think this has been discussed a variety of times before on this list.

Yes, OMPI does busy wait.

Turning on the MCA yield parameter can help some. There will still be a
load, but one that defers somewhat to other loads. In any case, even
with yield, a wait is still relatively intrusive.

You might have some luck writing something like this yourself,
particularly if you know you'll be idle long periods.