This paper explores the incast problem and evaluates proposed solutions.
The authors first reproduce the incast problem on several different clusters. They verify that the problem occurs repeatably in different environments. Next, they implement the solutions proposed in "Safe and Effective Fine-grained TCP Retransmissions for Datacenter Communication." They evaluate four possible modifications:
- Decreasing minimum RTO
- Randomizing minimum RTO
- Setting a smaller multiplier for RTO exponential back-off
- Using a randomized multiplier for RTO exponential back-off
Finally, the authors propose a model for throughput given the number of senders. The model works well for 200ms timers but fails to predict throughput at smaller timer values.
Thoughts
I like the idea of creating a model to explain the odd behavior of TCP during incast. However, some of the explanations in the paper were not completely convincing. For example, I am not convinced by the explanation of why randomizing the RTO does not help.