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

Reply via email to