基于深度增强学习与子流耦合感知的多路传输控制机制
2022-04-18秦久人许长桥杨树杰张宏科
秦久人,许长桥,杨树杰,高 楷,张宏科
(1.北京邮电大学网络与交换技术国家重点实验室,北京 100876;2.北京交通大学电子信息工程学院,北京 100044)
1 引言
近年来,无人驾驶、虚拟现实、视频监控等应用的快速发展[1],对异构、动态网络下的传输提出了更高的带宽、时延以及稳定性需求. 多路径传输控制协议(Multipath Transmission Control Protocol,MPTCP)[2]能够利用通信终端的多个网络接口建立多条子流进行并行传输,且子流间互为备份,可有效提高传输效率与稳定性,从而被越来越广泛的应用到天地一体化网络[3]、工业互联网[4]与车联网[5]等多种网络中.
图1描述了异构、动态网络环境下典型的多路传输场景. 然而,标准MPTCP 缺乏对网络环境的认知,在实际应用中仍存在诸多问题. 其一,多条子流虽然依照不同网络接口的IP 地址独立路由,但目的终端相同,在靠近用户的边缘地区,多条子流经常共享同一路由节点,该节点被称为共享瓶颈,拥有共享瓶颈的子流成为耦合子流[6]. MPTCP 对子流耦合状况感知的缺乏导致耦合子流的吞吐量经常出现剧烈抖动,严重影响传输质量. 其二,网络的异构性以及部分节点的移动性,导致不同子流所在的链路质量在空间与时间上都存在较大的差异性.MPTCP 默认采用LIA 拥塞控制算法[7],每次成功传输后增大拥塞控制窗口,出现拥塞信号时减小拥塞控制窗口,拥塞控制策略单一,缺少对网络传输状态的感知与定义,使得部分子流因负载过高而拥塞,其余部分子流的带宽被浪费,导致传输效率大幅降低[8].
图1 异构、动态网络环境下典型的多路传输场景
为了解决上述问题,本文在自身一系列先前研究的基础上[9~12],提出了一种基于耦合感知与深度Q网络的多路传输控制机制(WaveLet and Deep Q Network based multipath transmission control mechanism,WL-DQN).WLDQN 创新性地利用小波去噪[13]技术进行子流耦合特征识别,并基于深度增强学习[14]理论,设计了多路拥塞控制方案. 本文主要贡献概括如下.
(1)构建了离线训练与在线学习双层协作并行的WL-DQN 多路传输控制系统. 通过离线训练获得较好初始评估网络,保证传输控制的基本性能. 通过在线学习更好地适应实时网络环境.
(2)提出了基于小波去噪的子流耦合识别方法. 通过对子流单程传输时延进行小波去噪,有效消除其中非共享路段排队时延以及噪声的影响. 同时,利用子流互相关系数,对链路质量的空间差异进行量化,并据此定义路径耦合特征元组.
(3)设计了基于深度Q 网络(Deep Q Network,DQN)的多路拥塞控制算法. 面向传输时隙,定义路径拥塞特征元组,描述链路质量的时间差异性,并通过耦合特征与拥塞特联合构建系统状态空间. 最终,结合深度增强学习理论对多路拥塞控制过程进行建模,设计多路DQN拥塞控制算法.
(4)仿真结果表明,在单终端与多终端场景下,本文WL-DQN机制在吞吐量、时延、重传等方面的性能都要优于MPTCP标准算法以及具有代表性的相似解决方案.
2 相关工作
为了提高异构、动态网络环境下的传输性能,许多研究人员对相关机理进行了深入研究. 文献[15]搭建了一种软件定义的车联网络原型,利用实际硬件实现控制器功能,完成了车辆拓扑预测与最佳传输路径选取. 文献[16]利用欧氏范数对车联网传输的可靠性和延迟进行联合分析,并通过蒙特卡洛模拟对可靠性与延迟之间的相互关系进行说明,最后提出一种网络切片方案,提高传输的可靠与延迟性能. 文献[17]利用时变连续图模型表征天地一体化网络的拓扑、链路、缓存等多维资源特征,设计具有时延保障的时间确定路由协议,提高网络资源利用率,保障网络端到端传输时延. 文献[18]利用n-shift 加密原理设计了一种新的混沌保密通信方案,来提高工业互联网中数据传输的安全性. 文献[19]将软件定义网络与边缘计算进行结合,综合考虑时间期限、复杂均衡和能耗等因素,选择最优路径进行数据传输,以保证不同智能设备的传输需求.
针对异构、动态网络环境特点,一些研究人员对多路径传输协议进行了改进[20]. 文献[21]利用负载均衡理论与前向纠错编码对MPTCP 进行优化,来满足视频业务传输的时延需求,保障传输的可靠性. 文献[22]结合软件定义网络技术,针对密集小单元场景下MPTCP的子路径切换与管理问题,提高了车辆到基础设施(V2I)连接的稳定性. 近年来,随着人工智能技术发展,一些MPTCP 智能控制算法被提出. 文献[23]对车辆的社会属性和物理属性进行分析,提出了基于卷积神经网络的内容共享发现算法,提高了消息传递效率,降低了传输平均传输时延. 文献[24]基于Q 学习(Q-learning)理论对MPTCP 的多路拥塞控制进行建模,并训练出适应网络环境的拥塞控制规则. 文献[25]实现了一种基于深度强化学习的多路拥塞控制框架,对终端上所有MPTCP流进行联合控制,最大化总体传输效用. 然而,文献[24]与[25]都并未对子流耦合状况进行识别,且在设计学习算法时,并未考虑丢包因素对传输质量的影响.
因此,本文面向异构动态网络环境,主动感知子流耦合状态,同时综合考虑影响网络传输质量的吞吐量、时延、丢包等因素,提出了子流耦合感知多路深度增强学习拥塞控制算法.
3 系统设计
图2 描述了WL-DQN 系统框架. 虚线将系统分为离线训练与在线学习双层;点划线矩形框界定了发送方与接收方.WL-DQN 工作于发送方,通过训练器辅助决策,对各子流拥塞窗口进行控制. 如图例所示,实心箭头描述了数据流,展示了数据从服务器流向用户的过程;空心箭头描述了控制流,展示了WL-DQN 内部控制信息及参数的传递过程;虚线箭头描述了信息流,展示了反馈信息的获取过程;圆角矩形界定了WL-DQN的功能模块. 表1 给出了本文所涉及的主要参数及其含义.
图2 WL-DQN系统结构
表1 参数
WL-DQN 系统主要工作流程概括如下:(1)初始化目标网络、评估网络与样本空间中的先验样本;(2)自样本空间随机选择样本,对评估网络进行更新;(3)周期性利用评估网络参数对目标网络进行更新;(4)步骤2 和3 在本地进行,属于离线训练,在线学习过程执行在数据发送终端上,周期性依据离线训练传递的神经网络参数更新Q 值函数;(5)发送方通过小波去噪与子流互相关系数确定子流耦合特征元组,通过反馈信息获得子流拥塞特征元组,联合两者获得系统状态;(6)发送方通过线上值函数确定动作;(7)发送方执行动作后,根据反馈信息获得回报;(8)发送方收集控制日志作为补充样本,存储至样本空间;(9)重复步骤2~8,直到完成传输.
WL-DQN 的离线训练由就近的本地网络控制中心完成,依据样本空间进行预训练,生成更为精确的拟合值函数;在线学习由移动终端完成,周期性依据离线训练结果更新Q 值函数,并将拥塞控制产生的日志作为补充样本,与先验样本共同构成样本空间,为离线训练提供最新的实测数据. 通过双层协作并行,在降低移动终端的计算资源消耗的基础上,提高多路拥塞控制精度,适配动态变化的网络环境. 下文对WL-DQN系统算法设计进行了介绍.
4 基于小波去噪的子流耦合识别
MPTCP 的多条子流依据不同的套接字进行独立路由. 但链路中间节点由于地理位置等因素的限制,子流间存在共享瓶颈的概率较高. 这些子流间存在耦合关系,吞吐量与时延变化具有同步特点.MPTCP缺乏对于耦合路径的感知,导致传输控制效率低下,系统吞吐量抖动剧烈,影响传输效果. 因此,本章设计了一种基于小波去噪的子流耦合识别方法.
4.1 柔性阈值的小波去噪
在MPTCP 传输中,子流往返传输时延通常由以下成分组成:
其中,τα,τβ,τγ,τσ,φ分别表示发送时延、传播时延、排队时延、处理时延、随机噪声. 由于共享路段通常成为传输瓶颈,各条子流经瓶颈路段路由转发时,具有相同的排队时延. 此排队时延在rtt中占比较高,波动明显.故可通过滤除rtt 中的其余时延,对瓶颈路段处排队时延的相关性进行分析,并以此作为子流耦合判断的指标.
由式(1)可知,rtt 测量值中存在非耦合路段排队时延、其他时延以及随机噪声. 为减少其影响,本文采用文献[6]提出的单程传输时延,并利用小波去噪方法,获得耦合路段的排队时延. WL-DQN 定义发送方连续两次收到ACK 的时间间隔为时隙t,将其作为参数计算与拥塞控制的基本时间单元. 设多路传输连接的子流集合L={1,2,…,l}.∀l∈L,单程传输时延
其中,bl(t)为瓶颈路段排队时延,hl(t)为其余时延及噪声.ol(t)可通过文献[6]中的方法获得测量序列:ol(t)={ol1,ol2,…,olt}. 为滤除其中的hl(t),对ol(t)进行小波展开如下:
其中,ψm,n(t)=2-m/2ψ(2-mt-n)为标准小波正交基.Omn为小波系数,其计算公式如下:
Bmn与Hmn可分别通过式(6)和式(7)计算如下:
利用标准小波基对bl(t)进行非线性逼近,其近似函数bl′(t)可表示为
其中,dY()为阈值函数,Y为临界阈值,本文选用柔性阈值,定义如下:
通过小波去噪,∀l∈L,可得到瓶颈近似排队时延bl′(t).
4.2 子流耦合特征识别
在上述小波去噪的基础上,为了判断子流间的耦合程度,∀i,j∈L,设其小波去噪后的瓶颈路段近似排队时延分别为bi′(t)={bi1′,bi2′,…,bit′},bj′(t)={bj1′,bj2′,…,bjt′}. 据此定义子流互相关系数δij如下:
子流互相关系数δij=0 表示子流i和j的单程时延独立变化没有共享瓶颈;δij=1表示子流i和j的单程时延变化完全相同,传输路径完全重合.
基于子流互相关系数,对多路传输中的子流按耦合程度进行分组,并定义子流耦合特征元组Fi,描述子流耦合情况.∀i∈L,Fi=(cp,num). 其中cp 为耦合标志参数,cp=0 表示子流独立传输,不存在共享瓶颈;cp=1表示子流与其它子流存在共享瓶颈;num 表示与之耦合的子流数目. 因此,多路传输连接的耦合特征元组可表示为F=(F1,F2,…,Fl). 算法1 展示了F的获得方法.
算法1 传输耦合特征元组获取输入:子流总数l,bi′(t),bj′(t)输出:耦合特征元组F 1) ∀i∈L,Fi=(0,0);2) FOR(i=1;i
上述算法通过遍历计算任意子流与其余子流的互相关系数,并将互相关系数大于阈值的两条子流定义为耦合子流. 定义子流耦合特征元组Fi,通过参数cp记录子流是否耦合,通过参数num记录子流的耦合程度,有效描述了每条子流的耦合状态. 在子流耦合特征元组Fi的基础上,定义路径耦合特征元组F=(F1,F2,…,Fl)描述当前传输连接的耦合状态.F从空间角度对子流状态进行了描述,并将作为参数与后续拥塞特征元组C联合确定多路DQN拥塞控制系统的状态.
5 基于DQN的多路传输控制
深度Q 网络(DQN)是一种基于值函数的增强学习算法[25]. 定义值函数Q(s,a)评估智能体A在状态s下选择动作a后,直到最终状态所有回报r总和的期望. 依据Q(s,a)估计值,智能体A 能够执行符合选择策略的动作. 不同于Q 学习(Q-learning)算法利用表格记录Q(s,a),DQN 通过神经网络(Neural Network,NN)来对Q(s,a)进行拟合. 通过从样本空间中随机选择样本,对神经网络进行训练得到参数w. 本节基于深度Q学习理论对多路传输控制进行建模,并设计多路DQN拥塞控制算法.
5.1 多路DQN传输模型
MPTCP 的默认拥塞控制算法LIA[7],为每条子流维护单独的拥塞控制窗口,在拥塞避免阶段,当子流l每次收到ACK或拥塞信号(3次累积确认或超时)时,会依照下列方法对子流拥塞窗口(Congestion Window)进行调整,变量用cwnd表示:
◆收 到ACK 时,cwndl←cwndl+ min(θ/cwndtotal,1/cwndl);
◆收到拥塞控制信号时,cwndl←cwndl/2.
其中,cwndtotal=cwndl,θ为均衡因子,保证MPTCP子流
对TCP流的公平性,其计算方法如式(13)所示:
基于深度Q 学习理论,对上述拥塞控制过程进行建模. 对多路DQN拥塞控制主要参数定义如下.
(1)状态s
基于深度Q学习理论,状态是对当前系统一种定量的描述. 在每个时隙t中,综合考虑每条子流的拥塞状态与耦合状态,定义状态st=(C,F). 其中F为传输连接耦合特征元组,获取方法如算法1 所示.C=(C1,C2,…,Cl)为传输连接拥塞特征元组.∀l∈L,子流拥塞特征元组Cl可通过式(14)获得:
其中,rttl为子流传输往返时延,可通过MPTCP 头部时间戳选项获得. 对于任意子流l,在时隙t中,设MPTCP发送数据包时的系统时间戳选项为time1,收到携带该时间戳ACK的系统时间为time2,故可得rttl如下:
式(14)中,thl为子流吞吐量,WL-DQN 定义发送方连续两次收到ACK 的时间间隔为时隙. 在每个时隙中,对于任意子流l,发送的数据包数量由拥塞控制窗口cwndl的大小决定. 当收到对应的ACK 时,这些数据包的传输被判定为完成. 故据吞吐量定义(单位时间内完成传输的数据量),可通过下式对其进行估算:
pl为子流丢包率,在WL-DQN 中,可通过pl=1/τl进行估算.τl表示两次超时重传的时间间隔. 若传输开始至今仍未发生超时重传,则令τl=∞;若传输开始至今仅发生一次超时重传,则令τl为传输开始至今所经历的时间.sthl与srttl分别为子流l的平滑吞吐量与平滑往返传输时延. 两者可以通过式(17)进行计算:
(2)动作a
动作是智能体对自身做出的改变. 在WL-DQN 中,定义动作为每条拥塞窗口的调整. 如上文介绍的LIA算法,现有MPTCP 及TCP 主要采用加性增长乘性减少(Additive Increase Multiplicative Decrease,AIMD)的拥塞控制模式. 为了保持对AIMD 算法的公平性,WLDQN 定义动作a={Λ,Γ}. 其中Λ={Λ1,Λ2,…,Λl}为多路拥塞控制的加性因子,Γ={Γ1,Γ2,…,Γl}为多路拥塞控制的乘性因子. 对于子流l,在执行动作a时,可据式(18)对拥塞窗口进行更新:
(3)回报r
回报是对智能体在某种状态下,采取某种动作的评价. 回报是智能体动作选择的主要参考指标. 智能体通常以最大化、最小化或实现特定回报为目标,进行动作选择. WL-DQN 采用文献[26]中提出的效用评估模型,综合评估影响多路拥塞控制质量的吞吐量、时延、丢包等因素,对回报r定义如下:
其中,μ和ν为权重因子,用以平衡吞吐量、时延、丢包三者在回报评定中的比重.
(4)策略π
策略是智能体在某种状态下选择动作的规则.由回报r的定义可知,WL-DQN 的回报为正向激励,拥塞控制的最终目标是累积收益最大化,故本文采用ε-greedy 策略. 以ε 的概率随机选择动作,防止算法受限于局部最优,同时以1-ε的概率选取拥有最大累积回报值的动作,从而优化多路拥塞控制效果.
通过上述对深度增强学习模型中的关键参数进行多路拥塞控制定义,WL-DQN 将多路拥塞控制转化为一个深度增强学习的过程.
5.2 多路DQN拥塞控制算法
基于前文的多路增强学习参数定义,本小节对多路DQN拥塞控制算法进行具体介绍.
对于样本空间D中任意样本(si,ai,ri,si′),状态si的值函数为
其中,γ为折扣因子,为状态转移概率,据此可知,在状态si下,执行动作ai的Q值函数为
DQN 利用神经网络对Q值函进行拟合. 将初始状态si与动作ai带入权重参数为w的评估网络中可得评估值:
将更新状态si′带入权重参数为w′的目标函数,计算更新动作ai′:
据式(21)可得神经网络的目标值为
之后,计算DQN损失函数L(w):
依据随机梯度下降法,对评估网络权重参数w进行更新. 计算损失函数L(w)的梯度为
利用梯度函数,以步长λ对权重参数进行更新:
每隔T次训练,更新w′ ←w. 经过M次训练后得到最新权重w. 以此参数更新多路传输控制Q值函数. 之后,在多路传输控制中,继续收集新的样本存入补充样本. 训练器可通过补充样本继续周期性更新线上Q值函数.
图3 描述了多路DQN 拥塞控制算法的执行过程.算法的初始化阶段包括:(1)初始化评价网络权重参数w,并令目标网络权重w′=w;(2)明确样本空间D;(3)定义目标网络更新周期T和离线训练周期M.
通过离线训练与在线控制双层协作并行,多路DQN 拥塞控制算法能够拥有较好的初始控制效果,并不断利用新的补充样本,提高控制精度.
为了论证上述算法的可行性,对其计算复杂度和信息复杂度进行分析如下.
深度增强学习算法的计算复杂度由状态空间S和动作空间A共同决定,可表示为O(S×A). 本文定义状态s=(C,F),其中,C=(C1,C2,…,Cl),F=(F1,F2,…,Fl). 据此可知状态s的维数与子流数量l具有线性关系. 同时,本文定义动作a={Λ,Γ},其中Λ={Λ1,Λ2,…,Λl},Γ={Γ1,Γ2,…,Γl}. 据此可知动作a的维数与子流数量l同样具有线性关系. 故算法的计算复杂度为O(l2). 在算法实施过程中,智能算法的训练由本地网络控制中心完成,无须占用移动终端的计算资源. 移动终端只须负责控制算法的执行与控制日志的回传.
深度增强学习算法的信息复杂度主要由训练算法的收敛速度决定. 本文在仿真分析中,给出了所提智能学习算法与类似方案的收敛速度对比图. 实验结果显示,本文算法的收敛速度要优于对比方案.
6 仿真分析
为了验证所提WL-DQN 算法的有效性,本文依托NS-3[27]仿真实验环境,搭建复杂异构实验环境. 测试WL-DQN 与相似智能算法DRL-CC[25]在该场景下的算法收敛速度. 并设计单终端、多终端、链路切换与动态流量等场景,对比WL-DQN、MPTCP 标准拥塞控制算法LIA[7]和DRL-CC 在吞吐量、时延、数据包重传等方面的性能.
6.1 仿真场景设计
为验证WL-DQN 在复杂动态网络环境中的性能,本文设计3 种场景.(1)单终端场景. 如图4 所示,服务器与用户之间通过3 种最常见的无线连接方式(WiMAX,WiFi,Cellular)建立了3 条子流. 3 条子流向用户并行发送数据,且其中2条子流拥有共享瓶颈.(2)多终端场景. 在单终端场景的基础上,依次加入1~6 个竞争用户,检测传输资源受限的情况下WL-DQN 的性能.(3)动态网络场景. 模拟真实网络环境中的子流中断、子流增加与动态数据源场景,测试WL-DQN 在动态网络场景下的性能.
图4 单终端场景仿真拓扑
实验其余参数设置如表2所示.
表2 仿真系统参数
6.2 仿真性能分析
(1)算法收敛性能分析
为了测试WL-DQN 算法的信息复杂度,即通过样本训练时算法的收敛性能,本文利用相同的样本空间对WL-DQN 与相似智能算法DRL-CC 进行训练,并定义归一化回报=(预期回报-实际回报)/预期回报,用以评价算法的收敛性能. 图5展示了WL-DAN 与DRL-CC 的收敛情况. 由图可知,随着训练时间的增加,2种方案的归一化回报开始增加明显,在20 min 左右趋于稳定.WL-DQN 在训练时间为30 min 时,归一化回报稳定约0.95. 而DRL-CC 在训练时间为30 min 时,归一化回报约为0.9. 因此,相较于类似的智能解决方案,WL-DQN具有较好的收敛性能.
图5 算法收敛性比较
(2)单终端场景
在图4 所示的在单终端场景中,只有单一用户接入服务器. 为了探索不同解决方案的传输控制效率,服务器向用户持续发送数据300 s. 通过收集3 种方案的吞吐量与时延信息,对3 种方案的性能进行比较.
图6 给出了3 种方案的平均吞吐量对比情况. 由图6 可知,WL-DQN 在3 条子流上都拥有更高的平均吞吐量. 其中,在WiMAX 子流上,WL-DQN,DRL-CC,LIA平均吞吐量分别约为17 Mbps,13 Mbps,10.5 Mbps.WL-DQN 较DRL-CC 和LIA 性能分别提高约30%和61%. 在Wi-Fi 子流上,WL-DQN,DRL-CC,LIA 平均吞吐量分别约为25 Mbps,20 Mbps,17 Mbps.WL-DQN 较DRL-CC 和LIA 性能分别提高约25%和47%. 在Cellular 子流上,WL-DQN,DRL-CC,LIA 平均吞吐量分别约为55 Mbps,45 Mbps,38 Mbps. WL-DQN 较DRL-CC 和LIA 性能分别提高约22%和44%. WL-DQN 能够对路径耦合状态,以及吞吐量、时延、丢包的变化进行识别,从而做出更为精确的拥塞控制,故能大幅提高系统吞吐量.
图6 平均吞吐量对比
图7 给出了3 种方案的平均时延对比情况. 由图7可知,WL-DQN 在3 条子流上的平均时延同样拥有优势. 在WiMAX 子流上,WL-DQN,DRL-CC,LIA 平均时延分别约为32.5 ms,34 ms,37 ms.WL-DQN 较DRL-CC和LIA平均时延分别降低约4.4%和12%. 在Wi-Fi子流上,WL-DQN,DRL-CC,LIA 平均时延分别约为45 ms 和47 ms,49 ms.WL-DQN 较DRL-CC 和LIA 平均时延分别降 低 约4.2% 和8.2%. 在Cellular 子 流 上,WL-DQN,DRL-CC,LIA 平均时延分别约为70 ms,73 ms,76 ms.WL-DQN 较DRL-CC 和LIA 平均时延分别降低约4.1%和7.8%. WL-DQN 对路径耦合状态的判断以及路径吞吐量、时延、丢包的感知,可有效避免数据包因拥塞导致的重传,从而减少传输时延. 然而,WL-DQN 较高的吞吐量会向各子流发送更多的数据,增加对应子流的排队时延. 通过实验结果可知,2种因素互相作用,最终WL-DQN能小幅降低传输时延.
图7 平均时延对比
(3)多终端场景
为了验证WL-DQN 在竞争环境下的性能,本文设计了多终端场景. 图8展示了多终端场景的仿真拓扑.在该场景中,分别向网络中增加1~6 名竞争用户,与目标用户共享3 条链路. 服务仍然向用户持续发送数据300 s. 比较3 种方案在不同竞争用户情况下的传输性能.
图8 多终端场景仿真拓扑
图9 给出了3 种方案在不同数量竞争用户的情况下平均吞吐量的数值. 随着竞争用户的增多,由于带宽资源有限,用户获得的平均吞吐量下降. 但WL-DQN的性能仍优于其余2 种方案. 图10 给出了WL-DQN 相较于其余2 种方案,在不同数量竞争用户的情况下,平均吞吐量提高的百分比. 随着竞争用户数量的增加,相较于DRL-CC 和LIA,WL-DQN 的平均吞吐量提高存在上升趋势. 在WiMAX子流上,WL-DQN较DRL-CC平均吞吐量提高百分比范围为23%~36%,较LIA 平均吞吐量提高百分比范围为52%~63%. 在Wi-Fi 子流上,WLDQN 较DRL-CC 平均吞吐量提高百分比范围为26%~36%,较LIA 平均吞吐量提高百分比范围为49%~60%.在Cellular 子流上,WL-DQN 较DRL-CC 平均吞吐量提高百分比范围为22%~30%,较LIA 平均吞吐量提高百分比范围为42%~51%. 这是由于随着竞争用户的增多,WL-DQN 离线训练、在线学习的双层协作控制优势更加明显,可有效针对网络变化,做出有效的窗口调整动作.
图9 多终端场景下平均吞吐量对比
图10 多终端场景下平均时延对比
图11 给出了3 种方案在不同数量竞争用户的情况下,平均时延的数值. 由图11 可知,随着竞争用户的增多,更多的数据被传递到网络中,导致各路段排队时延与拥塞风险增加,平均时延变长. 但在不同竞争用户的场景中,WL-DQN 的平均时延仍低于其余2 种方案. 图12 给出了WL-DQN 相较于其余2 种方案,在不同数量竞争用户的情况下,平均时延降低的百分比.由图12 可知,随着竞争用户数量的增加,相较于DRLCC 和LIA,WL-DQN 的平均时延降低整体上呈上升趋势. 在WiMAX子流上,WL-DQN较DRL-CC平均时延降低百分比范围为4%~9%,较LIA 平均时延降低百分比范围为11%~15%. 在Wi-Fi子流上,WL-DQN较DRL-CC平均时延降低百分比范围为4.5%~8.5%,较LIA平均时延降低百分比范围为8%~16%. 在Cellular 子流上,WLDQN较DRL-CC平均时延降低百分比范围为4%~7%,较LIA平均时延降低百分比范围为7%~12%. 与吞吐量情况类似,在存多个竞争用户的情况下,WL-DQN的智能控制方法,能有效感知网络状态,主动规避拥塞的发生.
图11 多终端场景下平均时延比较
图12 多终端场景下平均时延降低百分比
图13给出了多终端场景下,3种方案的平均重传概率. 重传概率可通过重传数据包的数量与传输数据包总量相除得到. 在异构动态网络环境中,重传主要由2种因素导致:(1)节点移动性导致的链路错误,造成数据包丢失;(2)拥塞导致的传输超时. 因素(1)导致的重传是网络节点的固有特性,很难避免. 本文主要减少由因素(2)导致的重传. 由图13 可知,随着竞争用户数量的增加,网络拥塞风险提高,3 种方案的平均重传概率均呈上升趋势. 但WL-DQN 重传概率一直低于其余2 种方案. 这是由于WL-DQN 在子流耦合识别与网络感知方面的优势,导致其拥塞避免能力增加.
图13 多终端场景下平均重传概率比较
(4)动态网络场景
本小节对动态网络环境进行模拟,在图4基础拓扑的基础上,设计了子流中断、子流增加与动态数据源3种应用场景,并比较了WL-DQN与其余2种方案在不同应用场景下的性能.
在子流中断场景中,当t=0 s时,链路1,2与3连接.服务器利用不同的链路分别建立子流1,2,3,并通过3条子流向用户发送数据. 当t=50 s 时,链路1(WiMAX路径)中断,子流1 因此中断,服务器通过子流2,3 向用户发送数据. 图14 展示了该场景下3 种方案的系统平均吞吐量变化. 由图14可知,在子流1中断后,3种方案的系统平均吞吐量都出现了明显的下降,而后又小幅上升,最终恢复稳定. 这是由于在子流1 突然中断时,除了损失该子路径的带宽之外,接收端会出现大量失序数据包,影响其余子流的传输效率. 而这种影响会随着失序数据包的超时丢弃与重传慢慢恢复. 由图可知,在子流1 中断前WL-DQN 的系统平均吞吐量约为90 Mbps,DRL-CC 与LIA 的系统平均吞吐量分别约为72 Mbps 与61 Mbps. 在子流1 中断后,WL-DQN 的系统平均吞吐量约为71 Mbps,DRL-CC 与LIA 的系统平均吞吐量分别约为60 Mbps 与50 Mbps. WL-DQN 的系统平均吞吐量始终高于对比方案.
图14 子流中断场景下系统平均吞吐量比较
在子流增加场景中,当t=0 s 时,链路1 与2 连接,链路3 中断. 服务器通过链路1 与2 建立子流1 与2,并通过这2 条子流向用户发送数据. 当t=50 s 时,链路3(Cellular 路径)连接,服务器建立子流3,并通过3 条子流向用户发送数据. 图15 展示了该场景下3 种方案的系统平均吞吐量变化. 由图15可知,在子流3建立后,3种方案的系统平均吞吐量都有较大幅度的上涨,但WL-DQN 的上涨速率更快,并且上涨的幅度更大. 在子流3建立前,WL-DQN 的系统平均吞吐量约为40 Mbps,DRL-CC 与LIA 的系统平均吞吐量分别约为31 Mbps与27 Mbps. 在子流3建立后,WL-DQN 的系统平均吞吐量约为90 Mbps,DRL-CC 与LIA 的系统平均吞吐量分别约为70 Mbps 与57 Mbps.WL-DQN 的系统平均吞吐量提高了约50 Mbps,而RL-CC 与LIA 的系统平均吞吐量分别提高约39 Mbps 与30 Mbps. 这是由于WL-DQN通过训练,在新子流建立之初,采取更激进的拥塞窗口增长策略,从而能够更快速地利用新增子流的带宽.
图15 子流增加场景下系统平均吞吐量比较
图16 展示了动态数据源场景下的系统吞吐量情况. 在该场景下,本文使数据源在40~50 Mbps 区间内生成随机比特率的数据流. 此时,3 种方案所提供的聚合带宽均能满传输需求,性能差别主要体现在应对动态网络拓扑时的稳定性. 由图16 可知,相较于其余2 种方案,WL-DQN 能够将系统吞吐量维持在较为稳定的范围内. 这是由于WL-DQN 通过综合分析路径的耦合与拥塞特征,对子流的传输能力具有更为细致的认知,并通过离线训练与在线学习相结合,更好地应对数据源流量的变化,维持系统吞吐量的稳定.
图16 动态数据源场景下系统吞吐量比较
7 结束语
本文对异构动态网络环境下的多路拥塞控制策略进行研究. 基于小波去噪与子流互相关性分析,提取子流的耦合特征. 在此基础上,依据深度增强学习理论,对多路拥塞控制进行建模,并构建离线训练与在线学习协作并行的拥塞控制系统,设计多路DQN 拥塞控制算法,有效提高传输控制精度. 仿真结果表明,本文所提WL-DQN 在多种场景下,与其他方案相比,能大幅提高系统吞吐量,小幅降低传输时延,有效降低数据包重传概率.
此外,本文也存在若干问题需要进一步探索.
(1)网络状态的最优定义问题. 本文针对动态异构网络环境,通过提取子流的耦合特征与拥塞特征对网络状态进行定义. 未来将进一步探索影响多路传输的复杂网络因素,通过寻找网络状态的最优定义,提高深度增强学习算法的工作效率.
(2)训练代价与控制效果的博弈问题. 本文设计了离线训练与在线学习双层协作的工作模式. 该种方式虽然能够减小线上传输控制的决策成本,却需要本地计算资源的辅助. 未来将对训练代价与控制效果的博弈问题进行深入分析,探索最优的深度增强学习解决方案.