[mpiwg-tools] Open MPI pvar scheme

Schulz, Martin schulzm at llnl.gov
Mon Nov 11 18:03:13 CST 2013


Hi Jeff,

On Nov 11, 2013, at 3:46 PM, "Jeff Squyres (jsquyres)" <jsquyres at cisco.com>
 wrote:

> On Nov 11, 2013, at 6:37 PM, "Schulz, Martin" <schulzm at llnl.gov> wrote:
> 
>> Just to clarify: are you proposing that we add this officially to the standard (that particular naming scheme) or is this supposed to be an informal agreement?
> 
> The latter.

Oh, I see.

>> I personally would like to see the former, since it will be important to have something tools can rely on.
> 
> I think it would be better to programmatically express such relationships -- i.e., something new for MPI-4.

I agree with that, but I see it more as an MPI 3.1 feature. Is it really a major concept?

> 
>> Assuming you meant that (that's how I understood it), here is one concern: this scheme is not very flexible - once a name is set and the enumeration variable is provided, this cannot be changed anymore. Isn't this even too restrictive for your case (where NICs can come and go in, e.g., a hot-pluggable system)?
> 
> Er... I don't understand.  Why can't the enum strings change?  I think they can change at any time.

So that's a good question - I was assuming (at least that's how I always thought about it) that the same rules as for variables and all their metadata apply here - once read, a description cannot change and an enumeration type can worst thing grow. It is correct, though, that we didn't specify that explicitly - perhaps we need to do that. The only text that comes close is "The second datatype class, enumeration datatypes, describes variables with a fixed set of discrete values.". Having strings change underneath would be a real problem for the string interface, since it makes the assumption that you can run queries against a string more than once and get the same string.

> 
> I think what you might be saying is that the *count* on a handle can't change -- right?  I.e., MPI_T currently has no way of saying, "There were N values when you called pvar_handle_alloc() for this pvar, but now this pvar has M values."

Yes, but the count can change when you get a new handle.

> Right?
> 
> If so, that's really a different (but still potentially valid) issue.
> 
>> In general, the situation can appear in any scenario in which we have a variable that can (doesn't have to at the moment) return a value of more than 1 for the count. Depending on the variable, it can vary greatly in what that means and this can be very dynamic. I think a more dynamic lookup mechanism (e.g., query an enumeration once you have a count and a handle) would be better.
> 
> I don't think this is only for pvars with a count>1.  What if N=1 and M=3 in the previous example?

Yes, that's what I meant with "doesn't have to be at the moment" - any variable that has the potential to have a count that is not 1 is affected.

Martin


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

________________________________________________________________________
Martin Schulz, schulzm at llnl.gov, http://people.llnl.gov/schulzm
CASC @ Lawrence Livermore National Laboratory, Livermore, USA






More information about the mpiwg-tools mailing list