On Aug 17 2009, Ralph Castain wrote:

At issue for us is that other MPIs -do- bind by default, thus creating an
apparent performance advantage for themselves compared to us on standard
benchmarks run "out-of-the-box". We repeatedly get beat-up in papers and
elsewhere over our performance, when many times the major difference is in
the default binding. If we bind the same way they do, then the performance
gap disappears or is minimal.

The two obvious gratuitous hacks that I can see to tackle this are:

   1) To have a mandatory configuration option setting the default, which
would have a name like 'performance' for the binding option.  YOU could then
beat up anyone who benchmarkets without it for being biassed.  This is a
better solution, but the "I shouldn't need to have to think just because I
am doing something complicated" brigade would object.

   2) To use a heuristic to choose which algorithm to select, based on
the core count, number of users, load averages, number of active non-root
processes and similar unreliable indicators of the purpose for which the
system is being used.  It should be chosen so that it doesn't behave TOO
badly when it gets it wrong, as it will, but that it gets the case of a
dedicated benchmarketing system right most of the time.


Regards,
Nick Maclaren.

Reply via email to