Jeff Squyres wrote:

On Mar 3, 2009, at 4:04 PM, Eugene Loh wrote:

How about an MCA parameter to switch between this mechanism (early sendi) and the original behavior (late sendi)? This is the usual way that we resolve "I want to do X / I want to do Y" disputes. :-)

I see the smiley face, but am unsure how much of the message to apply it to.

It applied to that sentence only -- the proposal was genuine.

Assuming the MCA proposal is genuine (easy for implementor consensus? or easy for the user? gee, lemme see, that's a tough choice...), I'll note that it's easy enough to do. I've implemented the early-sendi-check by adding a function to ob1 to do the right thing. So, I can call that function as soon as one enters the PML send. The "late sendi" call is at a different call site. So, one call site for "early sendi" and another for "late sendi". Easy to turn on/off. We're not talking about many small codes changes pervading the source base.

True, but Brian hated it.  :-)

I guess, but *I* didn't hate it. I thought you were trying to be funny. Brian just needs to get a sense of humor.

How about Brian's proposal?

Um, how to put it politely? With your proposal, I didn't like the idea of exposing more MCA knobs. With his proposal, I didn't like the idea of exposing more MCA knobs whose meaning is hard to decipher.

Let me try another thought here. Why do we have BTL sendi functions at all? I'll make an assertion and would appreciate feedback: a BTL sendi function contributes nothing to optimizing send latency. To optimize send latency in the "immediate" case, we need *ONLY* PML work.

I'm churning a lot and not making much progress, but I'll try chewing on that idea (unless someone points out it's utterly ridiculous). I'll look into having PML ignore sendi functions altogether and just make the "send-immediate" path work fast with normal send functions. If that works, then we can get rid of sendi functions and hopefully have a solution that makes sense for everyone.

Reply via email to