Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2007-05-17 12:10:30

Moving to devel; this question seems worthwhile to push out to the
general development community.

I've been coming across an increasing number of customers and other
random OMPI users who use system(). So if there's zero impact on
performance and it doesn't make the code [more] incredibly horrible
[than it already is], I'm in favor of this change.

On May 17, 2007, at 7:00 AM, Gleb Natapov wrote:

> Hi,
> I thought about changing pipeline protocol to send data from the
> end of
> the message instead of the middle like it does now. The rationale
> behind
> this is better fork() support. When application forks, child doesn't
> inherit registered memory, so IB providers educate users to not touch
> buffers that were owned by the MPI before fork in a child process. The
> problem is that granularity of registration is HW page (4K), so last
> page of the buffer may contain also other application's data and user
> may be unaware of this and be very surprised by SIGSEGV. If pipeline
> protocol will send data from the end of a buffer then the last page of
> the buffer will not be registered (and first page is never registered
> because we send beginning of the buffer eagerly with rendezvous
> packet)
> so this situation will be avoided. It should have zero impact on
> performance. What do you think? How common for MPI applications to
> fork()?
> --
> Gleb.
> _______________________________________________
> devel-core mailing list
> devel-core_at_[hidden]

Jeff Squyres
Cisco Systems