Abstract-TCP incast congestion which can introduce hundreds of milliseconds delay and up to 90% throughput degradation, severely affecting application performance, has been a practical issue in high-bandwidth low-latency datacenter networks. Despite continuous efforts, prior solutions have significant drawbacks. They either only support quite a limited number of senders (e.g., 40-60), which is not sufficient, or require non-trivial system modifications, which is impractical and not incrementally deployable. We present PAC, a simple yet very effective design to tame TCP incast congestion via Proactive ACK Control at the receiver. The key design principle behind PAC is that we treat ACK not only as the acknowledgement of received packets but also as the trigger for new packets. Leveraging datacenter network characteristics, PAC enforces a novel ACK control to release ACKs in such a way that the ACK-triggered in-flight data can fully utilize the bottleneck link without causing incast collapse even when faced with over a thousand senders. We implement PAC on both Windows and Linux platforms, and extensively evaluate PAC using small-scale testbed experiments and large-scale ns-2 simulations. Our results show that PAC significantly outperforms the previous representative designs such as ICTCP and DCTCP by supporting 40X (i.e., 40→1600) more senders; further, it does not introduce spurious timeout and retransmission even when the measured 99 th percentile RTT is only 3.6ms. Our implementation experiences show that PAC is readily deployable in production datacenters, while requiring minimal system modification compared to prior designs.
Similarly, Proactive ACK Control (PAC) REF prevents Incast congestion by throttling the sending rate of ACKs on the receiver.
PAC: Taming TCP Incast Congestion Using Proactive ACK Control
2014 IEEE 22nd International Conference on Network Protocols
2014 IEEE 22nd International Conference on Network Protocols
Computer Science