[Beowulf] Re: Re: Home beowulf - NIC latencies
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.
More information about the Beowulf