QTCP ☀

here for paper

  • Author: Weili(NorthEastern University)
  • Congestion Control, Q-learning


摘要:

拥塞控制算法,大多根据特定的网络架构或应用程序,修改核心拥塞控制方法来优化TCP的性能,在广泛的网络场景下并不能很好地概括。很多传统方法使用网络的观察状态与相应操作之间的预先确定映射。因此,这些协议无法适应新环境中的行为,也无法从经验中学习以获得更好的性能。

本文的贡献在于:

  • 我们通过将基于增强的Q学习框架与TCP设计集成在我们称为q tcp的方法中来解决这个问题。‘
  • qtcp使发送方能够在线逐步学习最佳拥塞控制策略。
  • qtcp不需要硬编码规则,因此可以为各种不同的网络场景提供良好的拥塞控制。
  • 此外,我们还开发了一种广义Kanerva编码函数逼近算法,降低了值函数的计算复杂度和状态空间的可搜索性。

引入:

最近有线和无线技术方面的进步引发了新的网络架构的出现,例如

  • 60 GHz mmWave WiFi
  • 认知无线电网络
  • 数据中心网络。

与此同时:

  • 视频流
  • 云存储
  • 在线游戏

的激增为数据传输环境带来了更高的性能要求,并对拥塞控制协议的设计提出了新的挑战。

背景 |

在过去的三十年中,采用了相同的传输协议设计,TCP NewReno是拥塞控制标准之一。尽管已经花费了大量精力来开发新的拥塞控制协议(例如Vegas,FAST),但这些协议大体上存在共同的局限性,即无法在各种网络场景中表现良好,因此,很少部署在现实世界的网络中。

这种基于规则的设计(如NewReno协议使用众所周知的加法增加,乘法减少(AIMD)策略)会导致两个问题:

  • 首先,它会导致拥塞控制协议在网络环境发生变化时无法适应新的情况。由于不同类型的网络在带宽,延迟和网络拓扑方面存在显着差异,因此适用于特定网络的给定TCP风格可能不适用于另一种网络。
  • 其次,操作规则通常建立在标准假设或网络模型之上。

因此,协议重复采用相同的cwnd更改规则,这些规则会带来次优性能,而无需灵活调整行为以获得更好的性能(第2节)。

我们使用强化学习(RL)来设计一个称为QTCP(基于Qlearning的TCP)的拥塞控制协议,它可以自动识别最佳拥塞窗口(cwnd)变化策略,基于从网络环境收集的性能指标的度量,并使用Q学习算法搜索最佳动作。

挑战与创新 |

由于存储state action的空间是个连续,高维状态空间。table需要存储state-action值。
为了使QTCP易于处理,我们应用函数逼近,这是一种有效的方法来减少使用抽象状态表示探索所需的状态空间的大小。

Kanerva编码[7],也称为稀疏分布式存储器(SDM),因为它具有低复杂性,快速收敛性以及解决大型,高维和连续状态空间问题的有效性。整个状态空间由精心选择的状态空间子集表示,基于该子集存储训练值并评估派生策略,从而显着降低了值训练的内存消耗和计算复杂度。因为效果不好,我们提出了一种新颖的方法,基于泛化的Kanerva编码,可以调整状态空间子集的每个条目的抽象级别,从而在探索状态空间时动态地分配子集以找到其近似最优结构。

总之,我们做出以下两个贡献:

  • 我们描述了QTCP,一种基于Q学习的拥塞控制协议,它自动学习调整cwnd的有效策略,以在线方式实现高吞吐量和低延迟。这从根本上改变了以前类似NewReno的TCP变体的设计,这些变体需要固定的手动选择规则。
  • 我们提出了一种新的Kanerva编码算法,当应用于大型复杂状态空间时可以很好地扩展,并且可以大大加快收敛速度​​并提供稳定的性能。我们的算法允许学习的值不再以表格形式存储,因此当应用于大规模问题域时,消除了RL技术的重要限制,例如,无法处理巨大的状态。