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.
翻译:云层互动数据驱动应用程序生成小TCP流动群群, 争夺数据中心开关中的小型缓冲空间。 此类应用程序需要短流完成时间( FCT) 才能有效完成工作。 但是, TCP 忽略了应用数据的综合性质, 人为地将这种流动的FCT 增加几个数量级。 这是因为 TCP 以互联网为中心的设计将传输超时( RTO) 固定为至少 数百 毫秒。 为了更好地理解这个问题, 在本文中, 我们用一个小测试台进行实验性测量, 研究各种包装损失对 TCP 性能的影响。 特别是, 我们单挑出影响小流尾端的包损失, 以及冲击性能损失。 TCP 流动在数据中心中的小缩缩放窗口中, 能够显示对 FCT 任何不明显的效果。 基于这一点, 我们提议在一个小测试台、 及时的虚拟测试台式测试台式测试台( 或机床的机尾机尾机尾机尾机尾机尾机尾机尾机尾机级机尾机尾机尾机级机尾部的恢复, 的简单的机尾机尾机尾机尾机尾的机机机机机机机机尾的机尾, 机尾的机尾的机尾的机尾的机尾的机尾, 需要的机尾的机尾的机尾的机尾的机尾的机尾的机尾的机尾的机尾的机尾的机尾的机尾的机机的机尾的机尾的机尾的机尾的机尾的机尾的机尾的机尾的机尾的机尾的机尾的机损, 。