On Tue, 3 Mar 2009, Eugene Loh wrote:
First, this behavior is basically what I was proposing and what George didn't
feel comfortable with. It is arguably no compromise at all. (Uggh, why must
I be so honest?) For eager messages, it favors BTLs with sendi functions,
which could lead to those BTLs becoming overloaded. I think favoring BTLs
with sendi for short messages is good. George thinks that load balancing
BTLs is good.
I have two thoughts on the issue:
1) How often are a btl with a sendi and a btl without a sendi going to be
used together? Keep in mind, this is two BTLs with the same priority and
connectivity to the same peer. My thought is that given the very few
heterogeneous networked machines (yes, I know UTK has one, but we're
talking percentages), optimizing for that case at the cost of the much
more common case is a poor choice.
2) It seems like a much better idea would be to add sendi calls to all
btls that are likely to be used at the same priority. This seems like
good long-term form anyway, so why not optimize the PML for the long term
rather than the short term and assume all BTLs will have a sendi function?
Brian