On Feb 24, 2010, at 12:16 PM, Aurélien Bouteiller wrote:

> btl is the component responsible for a particular type of fabric. Endpoint is 
> somewhat the instantiation of a btl to reach a particular destination on a 
> particular fabric, proc is the generic name and properties of a destination.

A few more words here...

btl = Byte Transfer Layer.  It's our name for the framework that governs one 
flavor of point-to-point communications in the MPI layer.  Components in this 
framework are used by the ob1 and csum PMLs to effect MPI point-to-point 
communications (they're used in other ways, too, but let's start at the 
beginning here...).  There are several btl components: tcp, sm (shared memory), 
self (process loopback), openib (OpenFabrics), ...etc.  Each one of these 
effects communications over a different network type.  For purposes of this 
discussion, "component" == "plugin".  

The btl plugin is loaded into an MPI process and its component open/query 
functions are called.  If the btl component determines that it wants to run, it 
returns one or more modules.  Typically, btls return a module for every 
interface that they find.  For example, if the openib module finds 2 
OpenFabrics device ports, it'll return 2 modules.  

Hence, we typically describe components as analogous to a C++ class; modules 
are analogous to instances of that C++ class.

Note that in many BTL component comments and variables/fields, they typically 
use shorthand language such as, "The btl then does this..."  Such language 
almost always refers to a specific module of that btl component.

Modules are marshalled by the bml and ob1/csum to make an ordered list of who 
can talk to whom.

Endpoints are data structures used to represent a module's connection to a 
remote MPI process (proc).  Hence, a BTL component can create multiple modules; 
each module can create lots of endpoints.  Each endpoint is tied to a specific 
remote proc.

> Aurelien
> 
> Le 24 févr. 2010 à 09:59, hu yaohui a écrit :
> 
> > Could someone tell me the relationship between proc,endpoint and btl?
> >                  thanks & regards
> > _______________________________________________
> > devel mailing list
> > de...@open-mpi.org
> > http://www.open-mpi.org/mailman/listinfo.cgi/devel
> 
> 
> _______________________________________________
> devel mailing list
> de...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/devel
> 


-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to:
http://www.cisco.com/web/about/doing_business/legal/cri/


Reply via email to