On Nov 13, 2007, at 3:41 PM, Brad Penoff wrote:
A question I had was with respect to what to set for the default value
of btl_sctp_exclusivity... I had wanted the exclusivity to be
"slightly less than TCP" so it was available but not the default. In
the code I set btl_sctp_exclusivity to this:
MCA_BTL_EXCLUSIVITY_LOW - 1
...however MCA_BTL_EXCLUSIVITY_LOW is defined as 0 and ompi_info says
that exclusivity must be >= 0... a -1 exclusivity doesn't seem to
break anything though... If two BTLs have the same exclusivity, what
is the tie-break? Alphabetic order?
There is no tie break; they are both used. During BML selection, only
the BTLs that share the highest exclusivity settings are saved and
used later.
FWIW, here's what I see as some of the current values:
[3:54] svbu-mpi:~ % ompi_info --param btl all --parsable | grep
exclusivity | grep value
mca:btl:openib:param:btl_openib_exclusivity:value:1024
mca:btl:self:param:btl_self_exclusivity:value:65536
mca:btl:sm:param:btl_sm_exclusivity:value:65535
mca:btl:tcp:param:btl_tcp_exclusivity:value:0
Perhaps we should make TCP be the LOW value + 100 or somesuch. This
would give others the flexibility to do exactly what Brad proposes --
available, but not the default.
Alternatively, you could do what the ofud BTL does (a currently
experimental BTL): look for the string "ofud" in the "btl" MCA
parameter -- i.e., see if the user explicitly asked for the ofud BTL.
If not found (doing the Right Things with the "^" operator, of
course), then disable the ofud BTL by returning NULL from the
component_init() function.
Either seems fine to me; the ofud method seems a little less elegant
-- was there a reason not to use exclusivity here? Was it just the
fact that TCP's exclusivity is already the lowest possible value (0)?
--
Jeff Squyres
Cisco Systems