Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

From: George Bosilca (bosilca_at_[hidden])
Date: 2007-05-24 16:48:42


I see the problem this patch try to solve, but I fail to correctly
understand the implementation. The patch affect all PML and BTL in
the code base by adding one more argument to some of the most often
called functions. And there is only one BTL (openib) who seems to use
it while all others completely ignore it. Moreover, there seems to be
already a very similar mechanism based on the
MCA_BTL_DES_FLAGS_PRIORITY flag, which can be set by the PML level
into the btl_descriptor.

So what's the difference between the additional argument and a
correct usage of the MCA_BTL_DES_FLAGS_PRIORITY flag ?

   george.

On May 24, 2007, at 3:51 PM, gshipman_at_[hidden] wrote:

> Author: gshipman
> Date: 2007-05-24 15:51:26 EDT (Thu, 24 May 2007)
> New Revision: 14768
> URL: https://svn.open-mpi.org/trac/ompi/changeset/14768
>
> Log:
> Add optional ordering to the BTL interface.
> This is required to tighten up the BTL semantics. Ordering is not
> guaranteed,
> but, if the BTL returns a order tag in a descriptor (other than
> MCA_BTL_NO_ORDER) then we may request another descriptor that will
> obey
> ordering w.r.t. to the other descriptor.
>
>
> This will allow sane behavior for RDMA networks, where local
> completion of an
> RDMA operation on the active side does not imply remote completion
> on the
> passive side. If we send a FIN message after local completion and
> the FIN is
> not ordered w.r.t. the RDMA operation then badness may occur as the
> passive
> side may now try to deregister the memory and the RDMA operation
> may still be
> pending on the passive side.
>
> Note that this has no impact on networks that don't suffer from this
> limitation as the ORDER tag can simply always be specified as
> MCA_BTL_NO_ORDER.
>
>
>
>
>
> Text files modified:
> trunk/ompi/mca/bml/bml.h | 29 ++++
> +++++++++++--------
> trunk/ompi/mca/btl/btl.h | 10 ++++
> ++++
> trunk/ompi/mca/btl/gm/btl_gm.c | 8 ++++++
> trunk/ompi/mca/btl/gm/btl_gm.h | 3 ++
> trunk/ompi/mca/btl/mx/btl_mx.c | 8 ++++++
> trunk/ompi/mca/btl/mx/btl_mx.h | 3 ++
> trunk/ompi/mca/btl/openib/btl_openib.c | 49 ++++
> ++++++++++++++++++++++++++++++++++-
> trunk/ompi/mca/btl/openib/btl_openib.h | 3 ++
> trunk/ompi/mca/btl/openib/btl_openib_endpoint.c | 7 +++--
> trunk/ompi/mca/btl/openib/btl_openib_frag.c | 7 +++++
> trunk/ompi/mca/btl/portals/btl_portals.c | 8 ++++-
> trunk/ompi/mca/btl/portals/btl_portals.h | 3 ++
> trunk/ompi/mca/btl/self/btl_self.c | 3 ++
> trunk/ompi/mca/btl/self/btl_self.h | 3 ++
> trunk/ompi/mca/btl/sm/btl_sm.c | 2 +
> trunk/ompi/mca/btl/sm/btl_sm.h | 2 +
> trunk/ompi/mca/btl/tcp/btl_tcp.c | 6 ++++
> trunk/ompi/mca/btl/tcp/btl_tcp.h | 3 ++
> trunk/ompi/mca/btl/template/btl_template.c | 8 ++++-
> trunk/ompi/mca/btl/template/btl_template.h | 3 ++
> trunk/ompi/mca/btl/template/btl_template_component.c | 10 +++
> +---
> trunk/ompi/mca/btl/udapl/btl_udapl.c | 11 ++++
> ++--
> trunk/ompi/mca/btl/udapl/btl_udapl.h | 3 ++
> trunk/ompi/mca/btl/udapl/btl_udapl_component.c | 17 ++++
> ++++----
> trunk/ompi/mca/osc/rdma/osc_rdma_data_move.c | 3 ++
> trunk/ompi/mca/pml/dr/pml_dr.h | 6 ++--
> trunk/ompi/mca/pml/dr/pml_dr_sendreq.c | 12 ++++
> ++++-
> trunk/ompi/mca/pml/dr/pml_dr_sendreq.h | 3 +
> trunk/ompi/mca/pml/ob1/pml_ob1.c | 17 ++++
> ++++-----
> trunk/ompi/mca/pml/ob1/pml_ob1.h | 44 ++++
> +------------------------------
> trunk/ompi/mca/pml/ob1/pml_ob1_recvreq.c | 14 ++++
> +++----
> trunk/ompi/mca/pml/ob1/pml_ob1_sendreq.c | 28 ++++
> ++++++++++++------
> 32 files changed, 241 insertions(+), 95 deletions(-)
>
>
> Diff not shown due to size (53504 bytes).
> To see the diff, run the following command:
>
> svn diff -r 14767:14768 --no-diff-deleted
>
> _______________________________________________
> svn mailing list
> svn_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/svn



  • application/pkcs7-signature attachment: smime.p7s