Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] RFC: optimize probe in ob1
From: Nathan Hjelm (hjelmn_at_[hidden])
Date: 2014-02-18 18:56:01

On Tue, Feb 11, 2014 at 01:43:37AM +0100, George Bosilca wrote:
> The class is only usable in the context of a single .c file. As a code protection it makes perfect sense to me.

Ah, yes. So it is. Fixed in the latest patch.

> It’s not yet, and I did not notice an RFC about. The event I was referring to is only generated when the message is first noticed. In the particular instance affected by your patch it has been delayed until the communicator is created locally, but it still have to be generated once.

The problem is the message is not generated once but twice with
add_fragment_to_unexpected where it is. One message is generated when
an out of order packet is processed by the outer loop (it is put into
the out of order list) then another time when it is processed by the
inter loop jumping to the add_fragment_to_unexpected. This has no affect
on the iprobe optimization so I have dropped it from my proposed patch.

> The size check and the removal from the list is still in the critical path. At some point we were down to few hundreds of nano-sec, enough to get bugged by one extra memory reference.

I modified the patch to only remove procs from the unexpected_procs list
when matching wildcard receive requests. This way there are no extra
instructions in the critical path. It will make probe a little slower
than the previous patch but that is ok. I see no degredation with simple
pt2pt benchmarks with vader. Please take a look and let me know what you


  • application/pgp-signature attachment: stored