Hi,
Thanks Jeff and Tim for providing the details about the layered structure of
OpenMPI library source code. The document you sent on Xen based VM communication for HEC clusters is indeed good and covered the extensive details about the BTL components.It helped me a lot in understanding the working of BTL layer.Thanks once again :)
Regards
Pranav
I uploaded it to http://www.hotshare.net/file/131218-829472246c.htmlI'm not sure if it's any good or even if it's 100% accurate; but if someone gets any use out of it, that would be good.Tim2009/4/17 Jeff Squyres <jsquyres@cisco.com>
On Apr 16, 2009, at 11:38 AM, Timothy Hayes wrote:Ooohh... that would be positively yummy! We can even host/link to that on www.open-mpi.org. :-)
From what I understand MPI_Send will hit 3 separate layers of code before reaching the socket file descriptors you've found. The PML (Point to Point Messaging Layer) is a layer that bridges the MPI semantics from the underlying point to point communications. The standard PML implementation is called 'ob1' which is what indirectly calls the code you found. MPI_Send should go through pml_isend() or pml_send() which will request a BTL (Byte Transfer Layer) modules from the BML (BTL Management Layer) and invoke the BTL's btl_prepare_src() or btl_alloc() functions before calling the btl_send(). It becomes clearer when you step through it all with a debugger though ;-)
If you're interested, I've recently implemented a BTL component of my own and am now writing up a report on the process. It will be ready next week, so if you think it might be useful, just let me know.
--
Jeff Squyres
Cisco Systems
_______________________________________________
devel mailing list
devel@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/devel
_______________________________________________
devel mailing list
devel@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/devel