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.
翻译:有关互联网拥堵控制(CC)的数十年研究产生了大量的算法,优化了不同的性能目标。应用面临着根据需求选择最合适的算法的挑战,在出现新的需求时需要巨大的努力和专门知识来定制CC算法。在本文中,我们探讨了一个基本问题:我们能否设计一个单一的CC算法来满足不同的目标?我们提出了MOCC,这是试图应对这一挑战的首个多目标堵塞控制算法。MOCC的核心是一个全新的多目标强化学习框架,它可以自动学习不同应用要求和相应最佳控制政策之间的相互关系。在这个框架内,MOCC进一步应用转移学习,将过去的经验传授给新的应用,即使无法预见,也要迅速适应新的目标。我们提供MCC的用户空间和内核空间执行。现实世界实验和广泛的模拟表明,MOCC很好地支持关于个别目标的多重目标、竞争或超过现有最佳CC算法,并迅速适应新的应用(例如,14.2x比以前的工作更快)。