A slow receiver is a node in a distributed system that can't process incoming
messages due to network bandwidth issues, CPU issues, I/O issues or a
combination of these factors. In all cases, the slow receiver either fails to
pick up data from its incoming network buffers, causing the system to
bottleneck, or fails to send application- or protocol-level acknowledgements
that would let the sender proceed.
Slow receivers represent a performance problem in a distributed system. When
using TCP or multicast, the presence of a slow receiver causes other members
of the distributed system to slow down, and in extreme cases brings system
throughput to a complete stand still.
In connection-oriented protocols like TCP, the sender has to copy data into
its kernel buffers and send it out to each receiver individually. The send
completes only when the data has been delivered to t... (more)