On Thu, Apr 24, 2008 at 11:17:30AM -0400, George Bosilca wrote:
> Well, blocking or not blocking this is the question !!! Unfortunately, it's 
> more complex than this thread seems to indicate. It's not that we didn't 
> want to implement it in Open MPI, it's that at one point we had to make a 
> choice ... and we decided to always go for performance first.

Of course -- that's the correct choice.

>
> However, there were some experimentations to go in blocking more at least 
> when only TCP was used. Unfortunately, this break some other things in Open 
> MPI, because of our progression model. We are component based and these 
> components are allowed to register periodically called callbacks ... And 
> here periodically means as often as possible. There are at least 2 
> components that use this mechanism for their own progression: romio 
> (mca/io/romio) and one-sided communications (mca/osc/*). Switching in 
> blocking mode will break these 2 components completely. This was the reason 
> why we're not blocking when only TCP is used.
>
Ok, good to know.  


> Anyway, there is a solution. We have to move from a poll base progress for 
> these components to an event base progress. There were some discussions, 
> and if I remember well ... everybody's waiting for one of my patches :) A 
> patch that allow a component to add a completion callback to MPI requests 
> ... I don't have a clear deadline for this, and unfortunately I'm a little 
> busy right now ... but I'll work on it asap.
>
Ok, thanks for that.  I doubt I'll be able to come up with a patch
before you do, but at least you've told me where to start looking.

Thanks,

Barry


>   george.
>

Reply via email to