On Dec 17, 2010, at 2:50 PM, Suraj Prabhakaran wrote:

> Yes, with MPI_Finalize() called before an abrupt exit() it is clean but 
> talking generally about releasing connections, if Process A and Process B are 
> connected through MPI_Comm_connect/accept and then made to 
> MPI_Comm_disconnect at a later point of time, an abrupt exit of Process B 
> (for example) *after* the disconnect does *NOT* affect Process A! I also 
> tried a triangular connect/disconnect and it is quite clean!
> So the problem that I indicated occurs only between spawned child and parent 
> (after they disconnect) and *does not* occur between two processes connected 
> via port and then later disconnects. Perhaps then the problem is easier to 
> corner?

It's not an unknown problem -- as George and Ralph were trying to say, it was a 
design decision on our part.

Sadly, flexible dynamic processing is not something that many people ask for. 
We have invested time in it over the year to get it working and have a baseline 
functionality level.  Beyond that, we unfortunately simply haven't had enough 
requests to justify spending time to do stuff like you suggest (e.g., allow 
abnormal termination of MPI-disconnected processes to not also take down 
previously-connected processes).  :-(

But as George said, we're an open source project and open to patches!  :-)

> P.s: I also indicated in another mail that processes trying to connect 
> through a port, *sometimes* blocks at the connect/accept call or sometimes 
> one of the processes blocks indefinitely at the disconnect call. I underline 
> *sometimes*. Any inputs for this one?

Can you come up with a small program / scenario that shows the problem?

-- 
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