CCP (Sigcomm 2018) ☀

here for paper

  • Author: Akshay Narayan (MIT Mohammad Alizadeh Lab )
  • congestion control, operating system


主要做:

这篇文章主要贡献在于提出/实现/评估CCP系统(congestion control panel),通过将复杂的拥塞控制算法,与datapath分离开,datapath包括linux kernel tcp; udp-based quic;kernel-bypass transport tcp-on-dpdk, 这些datapath给出了必要的rtt,losses,ECN 标记等信息。而且这些拥塞控制算法使用了这些信息来控制窗口大小。现在CCP提供了将datapath分离,更好的模块化的抽象,并整合了先前congestion manager的工作。

引入:

以前不好惹datapath分离的拥塞控制算法有三个缺点:

  • 1.新的拥塞控制算法比如bayesian forecast ,remy ,pcc,需要一些配套的库来计算拥塞窗口的大小,kernel并不一定能提供这些library.
    1. kernel tcp stack只是一个常用的datapath。新的一些datapath,比如RDMA, MPTCP, SmartNICs.这些datapath对于某些拥塞控制算法缺乏特定接口,针对特定算法,需要额外的部署时间和精力。
    1. 拥塞控制算法与datapath结合过紧密,会很难提供网络的新特征。因此我们使用了CCP 这个off-datapath module.分离得提供rtt,ecn等信息

CCP这样做有三个好处:

    1. 部署一次,便可在任何地方使用
    1. 更快的快发,因为无需再担心datapath接口问题
    1. 新的网络特征,CCP可以更方便生成各种特征。