On Feb 25, 2010, at 3:56 AM, Amr Hassan wrote:

> Thanks alot for your reply,
>  
> I'm using blocking Send and Receive. All the clients are sending data and the 
> server is receive the messages from the clients with MPI_ANY_SOURCE as the 
> sender. Do you think there is a race condition near this pattern? 

MPI_ANY_SOURCE can definitely lead to race conditions / messages (and content) 
from unexpected sources.  Try using explicit sources, if possible.

> I searched a lot and used totalview but I couldn't detect such case. I really 
> appreciate if you send me a link or give an example of a possible race 
> condition in that scenario . 

You might want to let it run to segv in TV and see exactly where the segv 
occurs in your code.  Is your code processing what it thinks is message A but 
is really message B?  If the content (and therefore the processing of) B is 
different than A, then assumptions can go badly in your code and Bad Things may 
happen.

> Also, when I partition the message into smaller parts (send in sequence - all 
> the other clients wait until the send finish) it works fine. is that exclude 
> the race condition?

No.  It somewhat suggests that you do have a race condition.

-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to:
http://www.cisco.com/web/about/doing_business/legal/cri/


Reply via email to