最近研究了一下Remy拥塞控制算法,算是在拥塞控制领域第一次采用了机器学习的方式进行速率决策。
论文题目:TCP ex Machina: Computer-Generated Congestion Control,传送门:http://nms.csail.mit.edu/papers/sigcomm13.pdf
下面直接开始写读书笔记。
核心思想:
Remy通过一个目标函数定量判定算法的优劣程度。在生成算法的过程中,针对于不同的网络状态采取不同的方式调节发送窗口,反复修改调节方式,直到目标函数最优。最终会生成一个网络状态到调节方式的Map。在真实网络中,根据Table和网络状态,直接选取调节发送窗口的方法。
对于网络的先验假设:
首先认为网络是一个随机生成过程,并假设其服从马尔科夫过程(未来状态只以来于当前状态)。在本文中,主要使用链路速率,传播时延和复用程度来描述网络状态,也就是网络的先验假设,本文后面设计的算法也是在服从先验假设的网络上得到的。
但是先验假设的精确度是个比较难确定的问题,他会影响到算法性能。如果一个先验假设确定的范围非常小,设计出的算法可能针对这种网络很好,但是不具有普适性,换到不符合先验假设的网络就不好了。反之亦然。
举个栗子:就像是一个专门针对无线网络设计的算法在无线网络中会比通用算法表现好,但是在以太网中会表现得更差。
在此整理了一下比较经典的几种网络:
(1) 数据中心:网络拓扑,链路速率和最小RTT几乎可以视为已知的,但是复用程度会剧烈变动。
(2) 虚拟私网:在链路速率上会有更多的不确定性。
(