Flow control: Backpressure
The failure modes
- A lost 'stop' may cause lost data
- A lost credit may reduce the bandwidth but doesn't cause data to be lost
Lost control messages
- ’Start' and 'stop' are idempotent
- Not so for credits of the form "send n more messages"
Dealing with lost credit messages
- Number the messages, and send credits in the form "n messages after message k”
- TCP (but counting bytes rather than messages)
- Not feasible for small messages -- for instance, ATM cells are only 53 bytes
- Stop sending messages and ask receiver for an absolute credit; resume
- Know the sender/recv’r round-trip
- keep track of m, the number of messages sent during the last round-trip time
- receiver sends an absolute credit n,
- sender sets its window to n - m