First, to answer Nadia's question: you will find that the init function for
the module is already called when it is selected - see the code in
orte/mca/base/notifier_base_select.c, lines 72-76 (in the trunk.

It would be a good idea to tie into the sos work to avoid conflicts when it
all gets merged back together, assuming that isn't a big problem for you.

As for Jeff's suggestion: dealing with the performance hit problem is why I
suggested ORTE_NOTIFIER_VERBOSE, modeled after the OPAL_OUTPUT_VERBOSE
model. The idea was to compile it in -only- when the system is built for it
- maybe using a --with-notifier-verbose configuration option. Frankly, some
organizations would happily pay a small performance penalty for the
benefits.

I would personally recommend that the notifier framework keep the stats so
things can be compact and self-contained. We still get atomicity by allowing
each framework/component/whatever specify the threshold. Creating yet
another system to do nothing more than track error/warning frequencies to
decide whether or not to notify seems wasteful.

Perhaps worth a phone call to decide path forward?


On Tue, May 26, 2009 at 1:06 PM, Jeff Squyres <jsquy...@cisco.com> wrote:

> Nadia --
>
> Sorry I didn't get to jump in on the other thread earlier.
>
> We have made considerable changes to the notifier framework in a branch to
> better support "SOS" functionality:
>
>    https://www.open-mpi.org/hg/auth/hgwebdir.cgi/jsquyres/opal-sos
>
> Cisco and Indiana U. have been working on this branch for a while.  A
> description of the SOS stuff is here:
>
>    https://svn.open-mpi.org/trac/ompi/wiki/ErrorMessages
>
> As for setting up an external web server with hg, don't bother -- just get
> an account at bitbucket.org.  They're free and allow you to host hg
> repositories there.  I've used bitbucket to collaborate on code before it
> hits OMPI's SVN trunk with both internal and external OMPI developers.
>
> We can certainly move the opal-sos repo to bitbucket (or branch again off
> opal-sos to bitbucket -- whatever makes more sense) to facilitate
> collaborating with you.
>
> Back on topic...
>
> I'd actually suggest a combination of what has been discussed in the other
> thread.  The notifier can be the mechanism that actually sends the output
> message, but it doesn't have to be the mechanism that tracks the stats and
> decides when to output a message.  That can be separate logic, and therefore
> be more fine-grained (and potentially even specific to the MPI layer).
>
> The Big Question will how to do this with zero performance impact when it
> is not being used. This has always been the difficult issue when trying to
> implement any kind of monitoring inside the core OMPI performance-sensitive
> paths.  Even adding individual branches has met with resistance (in
> performance-critical code paths)...
>
>
>
>
> On May 26, 2009, at 10:59 AM, Nadia Derbey wrote:
>
>  Hi,
>>
>> While having a look at the notifier framework under orte, I noticed that
>> the way it is written, the init routine for the selected module cannot
>> be called.
>>
>> Attached is a small patch that fixes this issue.
>>
>> Regards,
>> Nadia
>>
>> <orte_notifier_fix_select.patch><ATT14046023.txt>
>>
>
>
> --
> Jeff Squyres
> Cisco Systems
>
> _______________________________________________
> devel mailing list
> de...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/devel
>

Reply via email to