On Dec 1, 2009, at 3:40 PM, Jeff Squyres wrote:

> On Dec 1, 2009, at 5:23 PM, Ralph Castain wrote:
> 
>> The only issue with that is it implies there is a param that can be adjusted 
>> - and there isn't. So it can confuse a user - or even a developer, as it did 
>> here.
>> 
>> I should think we wouldn't want MCA to automatically add any parameter. If 
>> the component doesn't register it, then it shouldn't exist. The MCA can just 
>> track a value without defining it as a visible param.
>> 
>> True?
>> 
> 
> 
> The original code came from long, long ago -- when every component did have a 
> relevant priority (i.e., when priority was about the only way to choose which 
> one was used).  Developers didn't want to register a "foo_priority" param for 
> every single component, so we made it automatic.
> 
> That doesn't necessarily fit anymore -- as Ralph said, priority isn't 
> relevant for some frameworks.
> 
> So perhaps it can become a param in the downcall to the MCA base as to 
> whether the priority params should be automatically registered...?

I can live with that, though I again question why anything needs to be 
automatically registered. It sounds like we were lazy, and so now we have 
things happening automatically that can confuse people.

I think priority has become a bit of an issue whenever we are talking about 
single-selection frameworks. If a user sets a priority to some value (whatever 
it is), there is an expectation that this means the component will be selected. 
As we learned in ORTE, that isn't true, leading to a lot of confusion and 
explanation. This is why we removed priority from most ORTE frameworks, and 
instead tell people to directly define the component to be used with -mca frame 
module.

So I'm willing to go through the ORTE frameworks and revise the downcalls to 
the MCA base. However, I think we may want to rethink the entire priority 
scheme to ensure we have what we need today (as opposed to what we wrote a long 
time ago).

Question: if the system automatically registers a priority param, and someone 
sets a priority with it, then what happens when the component returns a 
different (possibly hardwired) value? Does MCA base ignore what was set and use 
what was returned? I assume that is the case...


> 
> -- 
> Jeff Squyres
> jsquy...@cisco.com
> 
> _______________________________________________
> devel mailing list
> de...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/devel


Reply via email to