zD: a scalable zero-drop network stack at end hosts

zD: a scalable zero-drop network stack at end hosts
复制标题

DOI:
10.1145/3359989.3365425
复制
发表时间:
2019-12
期刊:
Proceedings of the 15th International Conference on Emerging Networking Experiments And Technologies
影响因子:
--
通讯作者:
Yimeng Zhao;Ahmed Saeed;E. Zegura;M. Ammar
Yimeng Zhao;Ahmed Saeed;E. Zegura;M. Ammar
中科院分区:
其他
文献类型:
--
作者:
Yimeng Zhao;Ahmed Saeed;E. Zegura;M. Ammar

文献摘要

被引文献

相似文献

现代终端主机网络堆栈必须处理来自每个主机的数万个流量和数百个虚拟机的流量,以跟上现代云的规模。这可能导致从终端主机流出的流量拥塞。这种拥挤的影响很少受到关注。目前,溢出队列(如内核队列规则)将丢弃传入的数据包。数据包丢弃会增加传输数据包的时间,并在重传上花费额外的精力,从而导致网络和CPU性能下降。在本文中,我们表明,目前的终端主机机制可能会导致高CPU利用率,高尾部延迟,和低吞吐量的情况下,在终端主机内的出口流量拥塞。我们提出了ZD,一个框架,用于将背压从拥塞队列应用到终端主机的流量源,该流量源可以扩展到数千个流量。我们实现zD以在两种设置中应用背压:i)在TCP源和内核排队规则之间,以及ii)在作为流量源的VM和管理程序中的内核排队规则之间。与标准内核实现相比,zD将吞吐量提高了60%,并且在高负载下将尾部RTT提高了至少10倍。
Modern end-host network stacks have to handle traffic from tens of thousands of flows and hundreds of virtual machines per single host, to keep up with the scale of modern clouds. This can cause congestion for traffic egressing from the end host. The effects of this congestion have received little attention. Currently, an overflowing queue, like a kernel queuing discipline, will drop incoming packets. Packet drops lead to worse network and CPU performance by inflating the time to transmit the packet as well as spending extra effort on retansmissions. In this paper, we show that current end-host mechanisms can lead to high CPU utilization, high tail latency, and low throughput in cases of congestion of egress traffic within the end host. We present zD, a framework for applying backpressure from a congested queue to traffic sources at end hosts that can scale to thousands of flows. We implement zD to apply backpressure in two settings: i) between TCP sources and kernel queuing discipline, and ii) between VMs as traffic sources and kernel queuing discipline in the hypervisor. zD improves throughput by up to 60%, and improves tail RTT by at least 10x at high loads, compared to standard kernel implementation.