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

Isaac Dooley idooley2 at uiuc.edu
Fri Feb 11 16:59:06 PST 2005

>>Using MPI_ISend() allows programs to not waste CPU cycles waiting on the
>>completion of a message transaction.
>No, it allows the programmer to express that it wants to send a message 
>but not wait for it to complete right now.  The API doesn't specify the 
>semantics of CPU utilization.  It cannot, because the API doesn't have 
>knowledge of the hardware that will be used in the implementation.
That is partially true. The context for my comment was under your 
assumption that everyone uses MPI_Send(). These people, as I stated 
before, do not care about what the CPU does during their blocking calls. 
I was trying to point out that programs utilizing non-blocking IO may 
have work that will be adversely impacted by CPU utilization for 
messaging. These are the people who care about CPU utilization for 
messaging. This I hopes answers your prior question, at least partially.

Perhaps your applications demand low latency with no concern for the CPU 
during the time spent blocking. That is fine. But some applications 
benefit from overlapping computation and communication, and the cycles 
not wasted by the CPU on communication can be used productively.

Isaac Dooley

More information about the Beowulf mailing list