Learning-Based-and-Data-Driven-TCP 🌞

here for paper

  • Author: Wei Li(NorthEastern University)
  • TCP, IoT, Q-learning, Kanerva coding


摘要:

无线技术的进步已导致在form因子,存储器和计算能力。具有高度可变性的设备的普遍部署。维持提供高可靠性数据的连续连接的需要重新考虑传输层协议的传统设计。

本文研究了在拥塞避免状态期间在TCP cwnd自适应中使用Q学习,其中窗口的经典方法被替换,允许协议立即响应先前看到的网络状况。我们降低了基于学习的协议的内存要求,同时保持了相同的吞吐量和延迟。

引入:

现在大规模部署无限科技的流行趋势,例如IoTs中的应用,当流行的部署的传感器报告了对中央服务器的分析重要的数据。

它们包含了源节点返回来的ACKs的消息。TCP是一个合适的选择对于传输层的可供实现的端到端的包发送。因此,我们提出了一个更新的,技术来调整cwnd基于Q-Learning.然后从过去的经验中设置了更优的控制参数。然后我们提供了两种可供变化的优化函数:

  • CMAC
  • fuzzy Kanerva

经典的TCP flavors 包含TCP New Reno,依赖于对cwnd窗口的一个探测操作。当网络环境迅速变化的时候,即使他们遵循一个带宽的复发模式,New Reno必须每次继续探索最佳的cwnd。这一方法,包含了每次以1的数量递增cwnd窗口,加法增加,减法递减(multiplicative decrease)但它也会影响模拟当带宽变化,这刺激了我们使用机器学习技术的方法,其中根据状态 - 动作对观察和捕获某些网络条件。

Q-learning,因为状态存储空间太大,引起了相当高的内存消耗。CMAC使用了tile来generize
而Q-learning使用模糊的基于Kanerva的函数逼近。CMAC和基于模糊Kanerva的Qlearning都使用函数逼近技术来减少存储算法历史记录所需的内存量。

  • 该协议的整体操作解释如下:

我们保留New Reno的慢启动阶段,并且仅在线性或拥塞避免阶段进入基于学习的适应。基于观察到的效用,测量为端到端吞吐量和延迟的加权差异,通过标量来概率地改变cwnd。在每个时间点,记录网络状态和期望的实用程序以供以后使用,从而创建快速扩展的网络行为表,稍后用于制定TCP窗口设置决策.

  • 这篇文章的主要贡献如下:
  1. 我们提出了一种基于Q学习的自学习和无监督TCP cwnd自适应技术,该技术可以根据先前看到的网络条件适当地缩放cwnd。

  2. 我们分析了函数逼近对CMAC和Fuzzy Kanervabased TCP Q-learning的吞吐量和延迟的影响。基于模糊Kanerva的TCP Qlearning,与纯Q学习相比,它实现了与纯Qlearning相似的性能,而仅使用1.2%的内存。

  3. 我们通过ns-3中的数据包级仿真演示了针对上述方法的TCP New Reno的显着改进。

PCC 劣势:
但是,学习过程并没有利用以往经验及其结果的记忆。 PCC积极寻找能够实时改变发送速率的更好策略。它采用梯度上升学习方法,在某些情况下,探测可以陷入局部最优,使得很难实现全局最优解。 Remy和PCC都将网络视为一个黑盒子,专注于寻找可以带来最佳性能的发送速率变化,而无需直接解释环境或利用以前的经验。