NLCC: A Node-Level Congestion Control Framework for CDN Services
Abstract
Content delivery networks (CDNs) rely on congestion control algorithms (CCAs) to sustain high throughput and low latency. However, existing CCAs are built around single-flow dynamics and do not match modern CDN workloads, where short-lived flows are prevalent on nodes with heterogeneous network conditions and inter-flow competition is intense as one node has to serve hundreds to thousands of concurrent flows. To address this, we propose NLCC, a node-level congestion control framework that configures a set of static CCA parameters shared by flows on a node and regulates the aggregate sending rate of a node. NLCC is composed of three modules. A kernel-aware sensing module exports runtime metrics of flows to the user space. A constraint-aware Bayesian optimization module automatically adapts key CCA parameters for reducing latency, lowering retransmissions, and maintaining throughput. A node-level rate control module caps the node-wise sending rate by deep reinforcement learning for reducing congestion caused by multi-flow competition. We apply NLCC to BBR and evaluate it in CDN production environments. Compared with BBR, NLCC reduces the average retransmission ratio from 16.62% to 11.26% on small nodes and from 3.68% to 2.66% on IDC servers, while maintaining throughput at 1.58/2.12 Gbps versus 1.54/2.08 Gbps for BBR.