T-RACKs: A Faster Recovery Mechanism for TCP in Data Center Networks
Ahmed M. Abdelmoniem,Brahim Bensaou
DOI: https://doi.org/10.48550/arXiv.2102.07477
2021-02-15
Abstract:Cloud interactive data-driven applications generate swarms of small TCP flows that compete for the small buffer space in data-center switches. Such applications require a short flow completion time (FCT) to perform their jobs effectively. However, TCP is oblivious to the composite nature of application data and artificially inflates the FCT of such flows by several orders of magnitude. This is due to TCP's Internet-centric design that fixes the retransmission timeout (RTO) to be at least hundreds of milliseconds. To better understand this problem, in this paper, we use empirical measurements in a small testbed to study, at a microscopic level, the effects of various types of packet losses on TCP's performance. In particular, we single out packet losses that impact the tail end of small flows, as well as bursty losses, that span a significant fraction of the small congestion window of TCP flows in data-centers, to show a non-negligible effect on the FCT. Based on this, we propose the so-called, timely-retransmitted ACKs (or T-RACKs), a simple loss recovery mechanism to conceal the drawbacks of the long RTO even in the presence of heavy packet losses. Interestingly enough, T-RACKS achieves this transparently to TCP itself as it does not require any change to TCP in the tenant's virtual machine (VM). T-RACKs can be implemented as a software shim layer in the hypervisor between the VMs and server's NIC or in hardware as a networking function in a SmartNIC. Simulation and real testbed results show that T-RACKs achieves remarkable performance improvements.
Networking and Internet Architecture,Distributed, Parallel, and Cluster Computing,Performance