I had a user ask this, its not a very practical question but I am curious.

OMPI uses a 'fast' network if its available. (IB, GM, etc) I also infer that for process in the same SMP nodes the sm (shared memory) btl is used, even if the job has more than one node given to it? The real question is what happens if a job is given three nodes, two have IB adapters and all have ethernet. Will the entire job use TCP for process on different nodes and shared memory inner node? Or will the two that have ib connections use ib to communicate and only use TCP when talking to the third host that does not have IB.

Second would it be safe to say OMPI searches the BTL's in the following order when trying to reach a process?
Self
SM
IB, GM, MX, MVAPI
TCP

Third, what about a hypothetical case when a node has both GM and IB on it? (evaluation machines)

Last does OMPI build something like a route list when mpi_init() is called? This way knowing how to get to other members off the job? Or is this done the first time a process needs to talk to another process thus not storing any route information not needed.


p.s. not having to recompile code for different networks has made evaluating network so much more enjoyable. Thank-you for all the work on the selection of networks 'just working'


Brock Palen
Center for Advanced Computing
bro...@umich.edu
(734)936-1985


Reply via email to