Multi-Objective Congestion Control
Decades of research on Internet congestion control (CC) has produced a plethora of algorithms that optimize for different performance objectives. Applications face the challenge of choosing the most suitable algorithm based on their needs, and it takes tremendous efforts and expertise to customize CC algorithms when new demands emerge. In this paper, we explore a basic question: can we design a single CC algorithm to satisfy different objectives? We propose MOCC, the first multi-objective congestion control algorithm that attempts to address this challenge. The core of MOCC is a novel multi-objective reinforcement learning framework for CC that can automatically learn the correlations between different application requirements and the corresponding optimal control policies. Under this framework, MOCC further applies transfer learning to transfer the knowledge from past experience to new applications, quickly adapting itself to a new objective even if it is unforeseen. We provide both user-space and kernel-space implementation of MOCC. Real-world experiments and extensive simulations show that MOCC well supports multi-objective, competing or outperforming the best existing CC algorithms on individual objectives, and quickly adapting to new applications (e.g., 14.2x faster than prior work) without compromising old ones.
READ FULL TEXT