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