PAC: Taming TCP Incast Congestion Using Proactive ACK Control

Wei Bai,Kai Chen,Haitao Wu,Wuwei Lan,Yangming Zhao
DOI: https://doi.org/10.1109/icnp.2014.62
2014-01-01
Abstract:TCP in cast 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 data enter 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 in cast 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 data center 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 in cast 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 test bed 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 99th percentile RTT is only 3.6ms. Our implementation experiences show that PAC is readily deployable in production data enters, while requiring minimal system modification compared to prior designs.
What problem does this paper attempt to address?