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.
> 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
> devel mailing list