文章目录
Abstract
随着有线/无线网络变得越来越复杂,由许多现有TCP variants所建立的基本假设可能不再成立。本文提出了一种基于深度强化学习的model-free智能拥塞控制算法在处理复杂而动态的网络环境具有很大的潜力。我们提出了一种基于tcp深度强化学习的拥塞控制算法(Drinc),该算法从过去的经验,一组可测量的特征中学习,来决定如何调整拥塞窗口的大小。我们介绍了TCP-Drinc的设计,并在额外的ns-3仿真验证了其性能和与五种基准方案做了比较。
1. introduction
之前大部分算法的assumption:假设丢包仅仅是由于发生buffer overflow了,并且将丢包作为拥塞的标志。
本文是基于sender端的,考虑了如下的features:
- congestion window difference
- round trip time (RTT)
- the minimum RTT over RTT ratio
- the difference between RTT and the minimum RTT
- the inter-arrival time of ACKs
并将其历史数据存入buffer中。然后代理端 uses a deep convolutional neural network (DCNN) concatenated with a long short term memory (LSTM) network 从历史数据中学习,从而选择合适的下次发送窗口大小。
本文做的贡献:
- 据他们所知,这是第一个应用DRL做congestion control的。他们提出了一种基于DRL的框架体现在以下几个方面:(1) 如何建立一个经验缓冲去处理延迟网络;(2) 如何解决多代理下的网络竞争问题;(3) 如何巧妙地设计几个关键部分,比如state,action,reward。
- TCP-Drinc框架对于一些长期存在的问题提供了有效的方案,比如:网络延迟,局部的观察信息与测量的变化。此框架利用DCNN作为滤波器从丰富而含有噪声的测量数据中提取特征,并且利用LSTM处理由代理感知到的延迟和部分信息所引入的时间序列的自相关性。
- 本研究在ns-3和tensorflow平台上对TCP-Drinc进行了实现,并且与当前具有代表性的五种congestion control做了比较,在throughput and RTT方面发现性能优于他们。并且在动态网络中具有高的适应性与鲁棒性。
本文结构如下:
- section 1 是introduction
- section 2 回顾了相关工作
- section 3 讨论了DRL的前期工作
- section 4 提出问题与系统建模
- section 5 介绍TCP-Drinc 设计
- section 6 在ns-3 仿真上进行评估
- section 7 做出结论
- 公式变量解释在table 1
2. 相关工作
跳过
3. PRELIMINARIES OF DRL
讲了下DQN,熟悉的可以跳过,不熟悉的可以先网上查资料学习下再看。
4. SYSTEM MODEL AND PROBLEM STATEMENT
基本假设,能够拿到如下信息
- its own sending rate
- congestion window cWnd
- measured RTT
- interarrival times of received ACKs
model参数的一些定义:
w(t)
: cWnd- τ r t t = τ p + τ q ( t ) \tau_{rtt}=\tau_p+\tau_q(t) τrtt=τp+τq(t),其中 τ p \tau_p τp代表传播时间,可以用一个time window里最小的RTT来近似替代, τ q ( t ) \tau_q(t) τq(t)代表当前
t
时间的排队延迟。 x(t)
:实时的发送速率。
他们的关系如下:
w ( t ) = ∫ t − τ r t t t x ( l ) d l w(t)= \int_{t-\tau_{rtt}}^t x(l)dl w(t)=∫t−