Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

From: Patrick Geoffray (patrick_at_[hidden])
Date: 2007-05-17 12:30:51


Jeff Squyres wrote:
> 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.

I will sound like a broken record, but this is the type of things that a
MPI implementation should not care about. At least not in the (common)
protocol layer. That's why the BTL-level abstraction is a bad one,
device-specific problems bubble up instead of staying hidden in
device-specific code.

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

>> problem is that granularity of registration is HW page (4K), so last

What about huge pages ?

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

How can a process get a segmentation fault by accessing a page mapped in
  its own address space ?

>> so this situation will be avoided. It should have zero impact on
>> performance. What do you think? How common for MPI applications to
>> fork()?

The only safe way to support fork() with pinned page is to force the
duplication of pages at fork time. It makes fork much more expensive,
but fork should not be in the critical path of HPC applications anyway.

Playing with registration cache is playing with fire.

My 2 cents.

Patrick

-- 
Patrick Geoffray
Myricom, Inc.
http://www.myri.com