作为网络中使用最广泛的传输协议,TCP的拥塞控制机制是学术界和工业界关注的焦点问题之。然而,目前广泛使用的TCP传输协议的拥塞控制算法仍然使用相对固定的窗口调节策略,无法根据动态变化的场景自适应地调整参数,从而造成不可避免的性能下降。近年来,研究者们开始尝试采用机器学习思想或方法进行拥塞控制算法设计,又引发了新一轮的热潮。
MIT的研究者提出的Remy系统几乎是最早的将TCP拥塞控制问题建模成马尔科夫决策过程(强化学习的理论模型)的系统,从而开启了利用学习方法论进行TCP拥塞控制算法设计的大门Remy能够在给定目标网络假设和流量模型的条件下,通过与网络仿真器不断交互自动学习生成针对相应环境的拥塞控制算法。这个离线学习过程的最终结果是生成一张映射表格(策略),描述在不同网络状态下应该如何变化拥塞窗口(cwnd)。之后作者又进一步对Remy的学习能力进行了更充分的实验评估。近期,斯坦福大学的学者开始尝试采用模仿学习(强化学习分支)的方法进行TCP拥塞控制研究(Indigo算法),并采用长短期记忆(Long Short-Term Memory,LSTM)神经网络结构进行序列特征提取。
离线学习方法虽然能在特定环境下达到令人满意的效果,但将不可避免地引入对网络环境和流量特征的先验假设,同时模型训练所依赖的仿真器无法完全模拟实际系统行为,从而可能影响到模型的泛化能力。UIUC的学者基于在线学习思想,在2015年提出一种面向性能的拥塞控制算法PCC,该算法尝试采用试错机制对TCP的发送速率进行步进式决策。2018年,他们进一步提出了PCC的升级版Vivace,其利用梯度进行速率控制,从而实现在稳定性和灵敏度上的平衡。然而,完全的在线学习无法很好地利用历史数据中可能存在的特征和模式,可能会导致在已知环境下的性能下降。