- Author:
Akshay Narayan
(MITMohammad 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.
- kernel tcp stack只是一个常用的datapath。新的一些datapath,比如RDMA, MPTCP, SmartNICs.这些datapath对于某些拥塞控制算法缺乏特定接口,针对特定算法,需要额外的部署时间和精力。
- 拥塞控制算法与datapath结合过紧密,会很难提供网络的新特征。因此我们使用了CCP 这个off-datapath module.分离得提供rtt,ecn等信息
CCP这样做有三个好处:
- 部署一次,便可在任何地方使用
- 更快的快发,因为无需再担心datapath接口问题
- 新的网络特征,CCP可以更方便生成各种特征。