Real-time communication applications require consistently low latency, which is often disrupted by latency spikes caused by competing flows, especially Web traffic. We identify the root cause of disruptions in such cases as the mismatch between the abrupt bandwidth allocation adjustment of queue scheduling and gradual congestion window adjustment of congestion control. For example, when a sudden burst of new Web flows arrives, queue schedulers abruptly shift bandwidth away from the existing real-time flow(s). The real-time flow will need several RTTs to converge to the new available bandwidth, during which severe stalls occur. In this paper, we present Confucius, a practical queue management scheme designed for offering real-time traffic with consistently low latency regardless of competing flows. Confucius slows down bandwidth adjustment to match the reaction of congestion control, such that the end host can reduce the sending rate without incurring latency spikes. Importantly, Confucius does not require the collaboration of end-hosts (e.g., labels on packets), nor manual parameter tuning to achieve good performance. Extensive experiments show that Confucius outperforms existing practical queueing schemes by reducing the stall duration by more than 50%, while the competing flows also fairly enjoy on-par performance.
翻译:实时通信应用需要持续的低延迟,但这一需求常被由竞争流量(尤其是网络流量)引发的延迟尖峰打断。我们识别出此类场景中中断的根源在于队列调度的带宽分配调整与拥塞控制的拥塞窗口调整之间的不匹配。例如,当新网络流量突发涌入时,队列调度程序会突然将现有实时流量的带宽分配转移。实时流量需要经过数个RTT才能收敛至新的可用带宽,在此期间将出现严重停滞。本文提出孔子(Confucius),一种为实时流量提供与竞争流量无关的一致低延迟的实用队列管理方案。孔子通过减缓带宽调整速度以匹配拥塞控制的响应机制,使终端主机可在不引发延迟尖峰的情况下降低发送速率。重要的是,孔子无需终端主机协作(如数据包标签)或手动参数调优即可实现卓越性能。大量实验表明,与现有实用队列方案相比,孔子将停滞持续时间降低50%以上,同时竞争流量亦能公平获得同等性能表现。