[Mpi-22] please review - Send Buffer Access (ticket #45)

Richard Treumann treumann at [hidden]
Mon Dec 8 15:55:43 CST 2008


On a single OS under AIX, IBM MPI does map the portion of send side memory
that holds the send buffer into the receivers address space. We do this for
both contiguous and non-contiguous buffers. The mapping lasts just long
enough for the receive side CPU to do a memory copy from send buffer to
receive buffer.  (see patent 7,392,256),

This optimization does not have any effect on the addressability of the
send buffer by the sending task.  In our case, at least, this optimization
does not argue against the proposal.

Also, Robert and I had a chat about the byte swap trick and it seems it
should be both semantically cleaner and require fewer CPU cycles to do it
in the receive buffer. In the receive buffer there is no question that the
application must wait for the communication to complete and the swap only
needs to be done once (the message flows in with bytes in sender order and
the MPI_Recv does one pass of byte swaps if required. In the send buffer
trick, the swaps to receiver order must be done and then a second pass is
needed to undo it)

               Dick

Dick Treumann  -  MPI Team
IBM Systems & Technology Group
Dept X2ZA / MS P963 -- 2455 South Road -- Poughkeepsie, NY 12601
Tele (845) 433-7846         Fax (845) 433-8363


mpi-22-bounces_at_[hidden] wrote on 12/08/2008 04:11:45 PM:

> [image removed]
>
> Re: [Mpi-22] please review - Send Buffer Access (ticket #45)
>
> Erez Haba
>
> to:
>
> MPI 2.2
>
> 12/08/2008 04:13 PM
>
> Sent by:
>
> mpi-22-bounces_at_[hidden]
>
> Please respond to "MPI 2.2"
>
> Dear Alexander,
>
> As far as I recall memory remapping from the main processor to a
> network device was discussed before (If I recall correctly, in the
> April meeting). I think that it’s close enough to your scenario of
> remapping to a different process for the purpose of this discussion.
>
> Is your case real? Do you know of systems that do that with MPI? Or
> is it a hypothetical case?
>
>
> For the review process, we do need people to review the text; we
> added this requirement in the last meeting. Regardless, it does not
> prevent any other person from giving feedback on the proposal.  I’m
> sure that Jeff or Bill can give you’re a more formal definition of
> the review process.
>
> The wiki page state that:
> https://svn.mpi-forum.org/trac/mpi-forum-web/wiki/mpi22/TicketWorkflow
> To advance to the first reading, a proposal must be reviewed by the
> lead chapter author and three other reviewers. That review should
> check the change against the standard text to ensure that the change
> in context is correct; in addition, the change should be evaluated
> for completeness. For changes that involve multiple chapters (but
> are logically related and hence belong in a single ticket), the
> respective chapter authors must review the changes in their
> chapters. These reviews must be entered as comments on the ticket.
> MPI 2.2 Chapter Authors
>
>
> From: mpi-22-bounces_at_[hidden] [mailto:mpi-22-
> bounces_at_[hidden]] On Behalf Of Supalov, Alexander
> Sent: Saturday, December 06, 2008 11:44 AM
> To: MPI 2.2
> Subject: Re: [Mpi-22] please review - Send Buffer Access (ticket #45)
>
> Dear Erez,
>
> Thank you. I agree to respectfully disagree on this with you, for
> the following two reasons:
>
> 1) The memory remapping scenario IO brought up a couple of days ago
> was not discussed before the first voting as far as I can recall. If
> you have proof to the contrary, I would most kindly ask you to
> present it. If this cannot be done, I would say that a new issue has
> been added to the discussion, and we may need to review its substance.
>
> 2) Next, I would like to see the definition of the ticket review
> process that states the reviewers are supposed to only check the
> proposed text for correspondence with the existing standard. My
> opinion is that reviewers are there to bring both textual and
> substantial concerns up when they see the need for this. So far I've
> been acting on this conviction.
>
> I'm looking forward to the further discussion on the floor.
>
> Best regards.
>
> Alexander
>
>
> From: mpi-22-bounces_at_[hidden] [mailto:mpi-22-
> bounces_at_[hidden]] On Behalf Of Erez Haba
> Sent: Saturday, December 06, 2008 7:45 PM
> To: MPI 2.2
> Subject: Re: [Mpi-22] please review - Send Buffer Access (ticket #45)
> Thanks Alexander,
>
> I respectfully decline your proposal to suspend the review of these
tickets.
> I don’t see any specific reference wrt text in your comments; and
> you don’t bring any new issue that has not been discussed before the 1st
> voting.  Thus I don’t see any reason to suspend their review.
>
> Thanks,
> .Erez
>
> From: mpi-22-bounces_at_[hidden] [mailto:mpi-22-
> bounces_at_[hidden]] On Behalf Of Supalov, Alexander
> Sent: Friday, December 05, 2008 4:19 PM
> To: MPI 2.2
> Subject: Re: [Mpi-22] please review - Send Buffer Access (ticket #45)
>
> Dear Erez,
>
> Thank you. I reviewed the text and found that further polishing of
> its textual aspects should be suspended until the substance is
> clarified. I put a comment to this effect into the ticket, as well
> as into the dependent ticket #46. In my opinion, both tickets are
> not yet ready to go into the standard and should go into another
> round of contemplation of their possible repercussions.
>
> In both cases presumed application friendliness is traded for less
> freedom of implementation. Application developers who disregard the
> standard now will most likely continue to do this in the future,
> possibly in some other way. Restricting the freedom of
> implementation to make their life easier does not seem to be an
> attractive proposition to me.
>
> If any of the issues identified so far, or comparable issues we
> cannot fathom at the moment, surface up in one of the future HPC
> platforms and hinder MPI adoption or transition to MPI-2.2 there, we
> will have done disservice both to the MPI standard and to the
> community. I hope this will bear on the minds of those who're going
> to vote on these two items at the meeting.
>
> Best regards.
>
> Alexander
>
>
> From: mpi-22-bounces_at_[hidden] [mailto:mpi-22-
> bounces_at_[hidden]] On Behalf Of Erez Haba
> Sent: Saturday, December 06, 2008 12:28 AM
> To: MPI 2.2
> Subject: Re: [Mpi-22] please review - Send Buffer Access (ticket #45)
> Dear Alexander,
>
> It is okay and encouraged for people to comment and argue on the
> proposals. You can add your comments to the ticket arguing your
> important points.  The forum then consider that various points and
> vote on the proposal.
>
> However for the voting process we need people to review the text and
> confirm that it does not conflict with the standard and it is
> reasonable (from language pov) to be included in the standard.
>
> If we are willing to review the text and state that it valid for the
> standard, that would be great. If you have any comments on the text
> please send them to me.)
>
> Thanks,
> .Erez
>
> From: mpi-22-bounces_at_[hidden] [mailto:mpi-22-
> bounces_at_[hidden]] On Behalf Of Supalov, Alexander
> Sent: Friday, December 05, 2008 2:26 PM
> To: MPI 2.2
> Subject: Re: [Mpi-22] please review - Send Buffer Access (ticket #45)
>
> Dear Erez,
>
> Thank you. I'm afraid I would need to have it explained in more
> detail why review may not include arguments on the substance. If
> something in the proposal makes one think that the proposed matter
> may be detrimental to the MPI standard and its implementations, I
> consider it one's duty to point this out.
>
> Following up on your reply: the segfault situation you described
> will make an MPI compliant program break. Thus, the implementation
> will have to keep the send buffer mapped into the sending process
> address space. This is a limitation on the MPI implementation that
> should be taken into account during the voting.
>
> Another possibility that has been pointed out earlier was that the
> proposed change disallows byte swap and other send buffer
> conversions to be done in place. At least one historical MPI
> implementation was doing this to a great avail. Who knows what is
> going to happen in the future?
>
> Best regards.
>
> Alexander
>
>
> From: mpi-22-bounces_at_[hidden] [mailto:mpi-22-
> bounces_at_[hidden]] On Behalf Of Erez Haba
> Sent: Friday, December 05, 2008 11:18 PM
> To: MPI 2.2
> Subject: Re: [Mpi-22] please review - Send Buffer Access (ticket #45)
> I think that the idea is for the reviewers to check the text for any
> mistakes and compatibility with the existing text, rather than check
> for the validity of the proposal. The later as I recall is left for
> the MPI forum assembly.
>
> As for your question, I’m sure that you can answer it yourself. J If
> the memory is still also mapped to the original process (as with
> shared memory) that everything is fine. If the memory is removed
> from the original process, than the app will get an access-violation
fault.
> (if this system works on a page boundary, to take this action it
> needs to make sure that there are no other allocation on the same page)
>
> Thanks,
> .Erez
>
> From: mpi-22-bounces_at_[hidden] [mailto:mpi-22-
> bounces_at_[hidden]] On Behalf Of Supalov, Alexander
> Sent: Friday, December 05, 2008 2:05 PM
> To: MPI 2.2
> Subject: Re: [Mpi-22] please review - Send Buffer Access (ticket #45)
>
> Hi,
>
> I'd like to review this proposal. Let's consider the following scenario:.
>
> - In the MPI_Isend, MPI maps the send buffer into the address space
> of the receiving process.
> - In the matching MPI_Recv, the receiving process makes a copy of
> the mapped send buffer into the receive buffer.
> - Once the copy is complete, the send buffer is mapped back into the
> sender address space during the wait/test call.
>
> What will happen one tries to access the send buffer in between?
>
> Best regards.
>
> Alexander
>
>
> From: mpi-22-bounces_at_[hidden] [mailto:mpi-22-
> bounces_at_[hidden]] On Behalf Of Erez Haba
> Sent: Friday, December 05, 2008 10:48 PM
> To: MPI 2.2
> Subject: [Mpi-22] please review - Send Buffer Access (ticket #45)
> This proposal has passed 1st voting and needs reviewers.  We need 3
volunteers
> to sign-off on this proposal, plus the 3 chapter authors to sign-off
> on the text.
>
> The Chapter Authors for
>
> Chapter 3: Point-to-Point Communication
> Chapter 5: Collective Communication
> Chapter 11: One-Sided Communication
>
> Please add a comment to the ticket saying that you reviewed the
> proposal, or please send me your comments.,
>
> Send Buffer Access:
https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/45
>
> Thanks,
> .Erez
>
> ---------------------------------------------------------------------
> Intel GmbH
> Dornacher Strasse 1
> 85622 Feldkirchen/Muenchen Germany
> Sitz der Gesellschaft: Feldkirchen bei Muenchen
> Geschaeftsfuehrer: Douglas Lusk, Peter Gleissner, Hannes Schwaderer
> Registergericht: Muenchen HRB 47456 Ust.-IdNr.
> VAT Registration No.: DE129385895
> Citibank Frankfurt (BLZ 502 109 00) 600119052.
>
> This e-mail and any attachments may contain confidential material for
> the sole use of the intended recipient(s). Any review or distribution
> by others is strictly prohibited. If you are not the intended
> recipient, please contact the sender and delete all copies.
> ---------------------------------------------------------------------
> Intel GmbH
> Dornacher Strasse 1
> 85622 Feldkirchen/Muenchen Germany
> Sitz der Gesellschaft: Feldkirchen bei Muenchen
> Geschaeftsfuehrer: Douglas Lusk, Peter Gleissner, Hannes Schwaderer
> Registergericht: Muenchen HRB 47456 Ust.-IdNr.
> VAT Registration No.: DE129385895
> Citibank Frankfurt (BLZ 502 109 00) 600119052.
>
> This e-mail and any attachments may contain confidential material for
> the sole use of the intended recipient(s). Any review or distribution
> by others is strictly prohibited. If you are not the intended
> recipient, please contact the sender and delete all copies.
> ---------------------------------------------------------------------
> Intel GmbH
> Dornacher Strasse 1
> 85622 Feldkirchen/Muenchen Germany
> Sitz der Gesellschaft: Feldkirchen bei Muenchen
> Geschaeftsfuehrer: Douglas Lusk, Peter Gleissner, Hannes Schwaderer
> Registergericht: Muenchen HRB 47456 Ust.-IdNr.
> VAT Registration No.: DE129385895
> Citibank Frankfurt (BLZ 502 109 00) 600119052.
>
> This e-mail and any attachments may contain confidential material for
> the sole use of the intended recipient(s). Any review or distribution
> by others is strictly prohibited. If you are not the intended
> recipient, please contact the sender and delete all copies.
> ---------------------------------------------------------------------
> Intel GmbH
> Dornacher Strasse 1
> 85622 Feldkirchen/Muenchen Germany
> Sitz der Gesellschaft: Feldkirchen bei Muenchen
> Geschaeftsfuehrer: Douglas Lusk, Peter Gleissner, Hannes Schwaderer
> Registergericht: Muenchen HRB 47456 Ust.-IdNr.
> VAT Registration No.: DE129385895
> Citibank Frankfurt (BLZ 502 109 00) 600119052.
>
> This e-mail and any attachments may contain confidential material for
> the sole use of the intended recipient(s). Any review or distribution
> by others is strictly prohibited. If you are not the intended
> recipient, please contact the sender and delete all copies.
> _______________________________________________
> mpi-22 mailing list
> mpi-22_at_[hidden]
> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi-22




* 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mpi-forum.org/pipermail/mpi-22/attachments/20081208/f4856fc5/attachment.html>


More information about the Mpi-22 mailing list