[Beowulf] Re: Re: Home beowulf - NIC latencies

Ashley Pittman ashley at quadrics.com
Mon Feb 14 08:23:02 PST 2005

On Fri, 2005-02-11 at 20:47 -0600, Rob Ross wrote:
> I agree that people using MPI_Isend() and related non-blocking operations 
> are sometimes doing so because they would like to perform some 
> computation while the communication progresses.  People also use these 
> calls to initiate a collection of point-to-point operations before 
> waiting, so that multiple communications may proceed in parallel.  The 
> implementation has no way of really knowing which of these is the case.

Either of these reasons for using non-blocking sends is valid and both
will benefit from low CPU use in the Send call.  Why would the
implementation want to know the reason for using non-blocking sends?

> You should understand that the way MPI implementations are measured is by 
> their performance, not CPU utilization, so there is pressure to push the 
> former as much as possible at the expense of the latter.

It's relatively difficult to measure the CPU overhead of calls, some
benchmarks work out the "issue rate" of sends (operations/second) and
some measure how much compute (spinning) can be achieved before having a
measurable effect on the latency.  Both these are valid however the
results are harder for the non-technical person to comprehend.  Headline
latency/bandwidth are just that, Headline figures that don't tell the
whole story.


More information about the Beowulf mailing list