Open MPI logo

Open MPI User's Mailing List Archives

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

Subject: Re: [OMPI users] Newbi question about MPI_wait vs MPI_wait any
From: Jeffrey Squyres (jsquyres_at_[hidden])
Date: 2012-03-09 11:16:25


Sorry for the delay. Answers inline.

On Feb 29, 2012, at 1:09 PM, Eric Chamberland wrote:

> I would like to know which of "waitone" vs "waitany" is optimal and of course, will never produce deadlocks.

In your sample application, either will work just fine -- they will not deadlock.

> After executing several times, on different number of processes and different number of nodes and almost always large value of "lNbInt", I *think* these could be good conclusions? :
>
> #1- Both version take almost the same wall clock time to complete
> #2- Both version do *not* produce deadlock

For this application, I agree.

> #3- MPI_WAIT_ANY_VERSION could do better if some work was really done with received data.

Probably so. It would probably do even better if the senders were sending at staggered times.

> #4- MPI_WAIT_ANY_VERSION received always the data from processes on the same host.

I'm not sure what you mean by that statement.

> I haven't be able to reproduce a deadlock even while varying array length, number of processes and number of hosts. How can I conclude there are no problem with this code? Any reading suggestion?

I think the classical conditions for deadlock apply here. Summarizing, if you're going to block, you need to ensure that *something* will eventually complete that blocking (i.e., either the specific/WAIT will complete, or *some* sender/WAITANY will complete).

-- 
Jeff Squyres
jsquyres_at_[hidden]
For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/