On Wed, Apr 02, 2008 at 03:45:20PM -0400, Jeff Squyres wrote:
> On Apr 2, 2008, at 1:58 PM, Gleb Natapov wrote:
> >> No, I think it would be fine to only send the output after
> >> btl_openib_if_in|exclude is applied. Perhaps we need an MCA param to
> >> say "always send everything" in the case that someone applies a non-
> >> homogeneous if_in|exclude set of values...?
> >> When is carto stuff applied? Is that what you're really asking
> >> about?
> > There is no difference between carto and include/exclude.
> You mean in terms of when they are applied?
I mean that there are multiple ways to use different hca/port in
different proc on the same host.
> > I can specify
> > different openib_if_include values for different procs on the same
> > host.
> I know you *can*, but it is certainly uncommon. The common case is
Uncommon - yes, but do you what to make it unsupported?
> that it's the same for all procs on all hosts. I guess there's a few
> 1. homogeneous include/exclude, no carto: send all in node info; no
> proc info
> 2. homogeneous include/exclude, carto is used: send all ports in node
> info; send index in proc info for which node info port index it will use
This may actually increase modex size. Think about two procs using two
different hcas. We'll send all the data we send today + indexes.
> 3. heterogeneous include/exclude, no cart: need user to tell us that
> this situation exists (e.g., use another MCA param), but then is same
> as #2
> 4. heterogeneous include/exclude, cart is used, same as #3
Looks like it. FWIW I don't like the idea to code all those special
cases. The way it works now I can be pretty sure that any crazy setup
I'll come up with will work.
By the way how much data are moved during modex stage? What if modex
will use compression?