<html><body>
<p>I understand that the immediate motive is associated with the use of attribute delete callbacks that occur when MPI_COMM_SELF is freed at MPI_FINALIZE.<br>
<br>
That does not alter the fact that when MPI-2 imposed an implicit free of MPI_COMM_SELF in MPI_FINALIZE to allow the use of attribute delete functions for cleanup it involved a narrow extension of a general MPI facility related to attributes and certain object types. To allow attribute delete functions for all other communicators (etc) to occur in arbitrary order while demanding that attribute delete for MPI_COMM_SELF have a standards defined order is an inelegant hack (in my opinion). Freeing MPI_COMM_SELF within MPI_FINALIZE was a relatively elegant hack because it did not introduce inconsistency.<br>
<br>
Add to that the probability that an MPI implementor is likely to use the same algorithms for all attribute management rather than write special case code for MPI_COMM_SELF leads me to argue that if a defined order for attribute delete callbacks is adopted it should be adopted broadly to maintain a consistent flavor across the standard.<br>
<br>
If an existing MPI implementation is currently deleting in some other order and an application happens to work on that MPI only because of that order, that application is at least non-portable and probably should be considered buggy. If (or when) the implementation adopts the fifo order for attribute deletes on "user_comm" it would be clear that the implementation change had not "broken the user".<br>
<br>
A general mandate that attribute deletion callbacks on all object types must occur in fifo order for an implementation to be MPI 2.2 compliant should not break any "correct" MPI application and should not be noticeably harder for implementors.<br>
<br>
It will require tracking down all places in the standard that currently say the order is arbitrary so it is harder to get all ducks in a row for the ticket.<br>
<br>
<br>
<br>
Dick Treumann - MPI Team <br>
IBM Systems & Technology Group<br>
Dept X2ZA / MS P963 -- 2455 South Road -- Poughkeepsie, NY 12601<br>
Tele (845) 433-7846 Fax (845) 433-8363<br>
<br>
<br>
<tt>mpi-22-bounces@lists.mpi-forum.org wrote on 03/28/2009 11:57:19 PM:<br>
<br>
> [image removed] </tt><br>
<tt>> <br>
> Re: [Mpi-22] Ticket #71: Add routine for registering callback when <br>
> finalize occurs</tt><br>
<tt>> <br>
> Quincey Koziol </tt><br>
<tt>> <br>
> to:</tt><br>
<tt>> <br>
> mpi-22</tt><br>
<tt>> <br>
> 03/30/2009 09:28 AM</tt><br>
<tt>> <br>
> Sent by:</tt><br>
<tt>> <br>
> mpi-22-bounces@lists.mpi-forum.org</tt><br>
<tt>> <br>
> Please respond to "MPI 2.2"</tt><br>
<tt>> <br>
> <br>
> > Date: Thu, 26 Mar 2009 13:24:26 -0400<br>
> > From: Richard Treumann <treumann@us.ibm.com><br>
> > Subject: Re: [Mpi-22] Ticket #71: Add routine for registering callback<br>
> > when finalize occurs<br>
> > To: "MPI 2.2" <mpi-22@lists.mpi-forum.org><br>
> > Message-ID:<br>
> > <OFE2F8673A.D3771BE2- <br>
> > ON85257585.005F95BC-85257585.005F9F47@us.ibm.com><br>
> > Content-Type: text/plain; charset="us-ascii"<br>
> ><br>
> > Why would this be specific to MPI_COMM_SELF? If this is the right <br>
> > thing to<br>
> > do, shouldn't it apply to attribute delete functions on all disposed<br>
> > objects?<br>
> <br>
> The ticket is oriented to what happens at MPI_Finalize, really, and <br>
> not so much about MPI_COMM_SELF per se. The attribute callback on <br>
> MPI_COMM_SELF was just the accepted way in the standard to "have <br>
> something happen" when MPI_Finalize was called.<br>
> <br>
> Quincey<br>
> <br>
> > Dick Treumann - MPI Team<br>
> > IBM Systems & Technology Group<br>
> > Dept X2ZA / MS P963 -- 2455 South Road -- Poughkeepsie, NY 12601<br>
> > Tele (845) 433-7846 Fax (845) 433-8363<br>
> ><br>
> ><br>
> > mpi-22-bounces@lists.mpi-forum.org wrote on 03/26/2009 12:50:40 PM:<br>
> ><br>
> >> [image removed]<br>
> >><br>
> >> [Mpi-22] Ticket #71: Add routine for registering callback when <br>
> >> finalize<br>
> > occurs<br>
> >><br>
> >> Quincey Koziol<br>
> >><br>
> >> to:<br>
> >><br>
> >> mpi-22<br>
> >><br>
> >> 03/26/2009 12:54 PM:<br>
> >><br>
> >> Sent by:<br>
> >><br>
> >> mpi-22-bounces@lists.mpi-forum.org<br>
> >><br>
> >> Please respond to "MPI 2.2"<br>
> >><br>
> >> Hi all,<br>
> >> Could another two people review this ticket for specifying the order<br>
> >> that attribute delete callbacks should be made:<br>
> >><br>
> >> <a href="https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/71">https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/71</a><br>
> >><br>
> >> Thanks,<br>
> >> Quincey<br>
> >><br>
> >> [attachment "smime.p7s" deleted by Richard Treumann/Poughkeepsie/<br>
> >> IBM] _______________________________________________<br>
> >> mpi-22 mailing list<br>
> >> mpi-22@lists.mpi-forum.org<br>
> >> <a href="http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi-22">http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi-22</a><br>
> > -------------- next part --------------<br>
> > HTML attachment scrubbed and removed<br>
> ><br>
> > ------------------------------<br>
> ><br>
> > _______________________________________________<br>
> > mpi-22 mailing list<br>
> > mpi-22@lists.mpi-forum.org<br>
> > <a href="http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi-22">http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi-22</a><br>
> ><br>
> ><br>
> > End of mpi-22 Digest, Vol 12, Issue 26<br>
> > **************************************<br>
> ><br>
> <br>
> [attachment "smime.p7s" deleted by Richard Treumann/Poughkeepsie/<br>
> IBM] _______________________________________________<br>
> mpi-22 mailing list<br>
> mpi-22@lists.mpi-forum.org<br>
> <a href="http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi-22">http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi-22</a><br>
</tt></body></html>