[网络领域顶会追踪系列#12][NSDI'22]背压流量控制
Backpressure Flow Control
背景
随着时延敏感型流量、更大(fatter)的链路和非常突发的流的增长,数据中心网络中高效的拥塞控制变得越来越具有挑战性。
挑战
DCTCP和DCQCN等广泛部署的算法,在很多可信场景中远远没有达到最优值,特别是对于尾部延迟来说。许多操作员通过让他们的网络运行在低负载来补偿这一点,这极大地增大了开销。
工作
在本文中,作者认为他们已经到达了端到端拥塞控制的实际极限。作者提出、实现和评估了一个叫做背压流控(Backpressure Flow Control,BFC)的新型拥塞控制架构。
BFC提供了逐跳逐流的流量控制,有着有界的状态、常数时间的交换机操作和对缓存和队列的小心使用。
实验
作者通过在Tofino2(一个先进的基于P4的可编程硬件交换机)上实现BFC演示了它的可行性。
在仿真中,作者表明即使在高网络负载和incast cross流等富有挑战的场景下,BFC也能实现近乎最优的吞吐和尾部时延行为。
与已部署的端到端方案相比,BFC对短流实现了2.3-60倍低的尾部时延,对长流实现了1.6-5倍好的平均完成时间。
原文摘要
Effective congestion control for data center networks is becoming increasingly challenging with a growing amount of latency-sensitive traffic, much fatter links, and extremely bursty traffic. Widely deployed algorithms, such as DCTCP and DCQCN, are still far from optimal in many plausible scenarios, particularly for tail latency. Many operators compensate by running their networks at low average utilization, dramatically increasing costs.
In this paper, we argue that we have reached the practical limits of end-to-end congestion control. Instead, we propose, implement, and evaluate a new congestion control architecture called Backpressure Flow Control (BFC). BFC provides per-hop per-flow flow control, but with bounded state, constant-time switch operations, and careful use of buffers and queues. We demonstrate BFC’s feasibility by implementing it on Tofino2, a state-of-the-art P4-based programmable hardware switch. In simulation, we show that BFC achieves near optimal throughput and tail latency behavior even under challenging conditions such as high network load and incast cross traffic. Compared to deployed end-to-end schemes, BFC achieves 2.3 - 60× lower tail latency for short flows and 1.6 - 5× better average completion time for long flows.