Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: [OMPI devel] MCA BTL Fragment lists
From: Alex Margolin (alex.margolin_at_[hidden])
Date: 2012-03-09 08:38:03


Hi,

I'm implementing a new BTL component, and

1. I read the TCP code and ran into the three fragment lists:

     /* free list of fragment descriptors */
     ompi_free_list_t tcp_frag_eager;
     ompi_free_list_t tcp_frag_max;
     ompi_free_list_t tcp_frag_user;

I've looked it up, and found that the documentation for OpenIB refers to
the eager term as (in short) the first chuck of a long message, after
which the buffer is registered and in the meanwhile chucks from the end
of the buffer (beyond a limit much higher then eager-limit) are sent. I
didn't find any references relevant to plain TCP. I'm not sure I
understand how this is applicable with TCP (and I've seen it in other
components as well). For a long message - why would I treat chucks
separately?
In the TCP BTL code, when the fragment is created - shorter chucks are
sent to eager while the rest are sent to max. Where the two lists
treated differently?

Thanks,
Alex

P.S. what does the role of mca_btl_*_component_control()?