Durga,

did you confuse PML and MTL ?

basically, a BTL (Byte Transport Layer ?) is used with "primitive" interconnects that can only send bytes. (e.g. if you need to transmit a tagged message, it is up to you send/recv the tag and manually match the tag on the receiver side so you can put the message into the right place) on the other hand, MTL (Message Transport Layer ?) can be used with more advanced interconnects, that can "natively" send/recv (tagged) messages.

for example, with infiniband, you can use the openib BTL, or the mxm MTL
(note the openib BTL only requires the free ibverbs libraries
and mxm MTL requires proprietary extensions provided by mellanox)

a good starting point is the video Jeff posted at https://www.open-mpi.org/video/?category=internals

Cheers,

Gilles

On 2/4/2016 2:20 PM, dpchoudh . wrote:
Hi developers

I am trying to add support for a new (proprietary) RDMA capable fabric
to OpenMPI and have the following question:

As I understand, some networks are implemented as a PML framework and
some are implemented as a BTL framework. It seems there is even
overlap as Myrinet seems to exist in both.

My question is: what is the difference between these two frameworks?
When adding support for a new fabric, what factors one should consider
when choosing between one type of framework over the other?

And, with apologies for asking a summary question: is there any kind
of documentation and/or book that explains all the internal details of
the implementation (which looks little like voodoo to a newcomer like
me)?

Thanks for your help.

Durga Choudhury

Life is complex. It has real and imaginary parts.
_______________________________________________
devel mailing list
de...@open-mpi.org
Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel
Link to this post: 
http://www.open-mpi.org/community/lists/devel/2016/02/18544.php


Reply via email to