BCC: Re-architecting Congestion Control in DCNs
Qingkai Meng,Shan Zhang,Zhiyuan Wang,Tao Tong,Chaolei Hu,Hongbin Luo,Fengyuan Ren
DOI: https://doi.org/10.1109/infocom52122.2024.10621082
2024-01-01
Abstract:The nature of datacenter traffic is a high volume of bursty tiny flows and standing long flows, which forms the coexistence of transient and persistent congestion. Traditional congestion control (CC) algorithms have inherent limitations in reconciling fast response and high efficiency towards transients with stability and fairness during persistence. In this paper, we provide an insight that re-architects CC with two control laws, tailored to transient and persistent concerns, respectively. Armed with this key insight, we propose bimodal congestion control (BCC), which is founded on two core ideas: (i) Quaternary network state detection, which further distinguishes transient and persistent states in switches, and (ii) Bimodal control law, which is manifested as the transient controller and persistent controller at sources. The transient controller employs a precise control paradigm that pauses flows to drain backlogged packets and ramps down/up flow rates to bottleneck bandwidth directly, striving for high efficiency. The persistent controller grounds itself in traditional CC algorithms, inheriting stability and fairness. We implement BCC in the Linux kernel and P4-programmable switch. In our evaluation, compared to DCQCN, HPCC, PowerTCP, and Swift, BCC reduces flow completion times by 14%similar to 99%.