CN110278149B - 基于深度强化学习的多路径传输控制协议数据包调度方法 - Google Patents
基于深度强化学习的多路径传输控制协议数据包调度方法 Download PDFInfo
- Publication number
- CN110278149B CN110278149B CN201910537886.6A CN201910537886A CN110278149B CN 110278149 B CN110278149 B CN 110278149B CN 201910537886 A CN201910537886 A CN 201910537886A CN 110278149 B CN110278149 B CN 110278149B
- Authority
- CN
- China
- Prior art keywords
- scheduling
- neural network
- mptcp
- data packet
- packet scheduling
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了基于深度强化学习的多路径传输控制协议数据包调度方法。在多路径传输控制协议(MPTCP)中,通过设置周期性的调度机制,将数据包调度过程转化为马尔可夫决策过程,并通过深度强化学习,用神经网络表示MPTCP的数据包调度策略,并且学出各种网络环境下的最优数据包调度策略。从根本上解决启发式MPTCP数据包调度无法适应复杂多样的动态网络环境导致MPTCP性能下降的问题。本发明方法使用Actor‑Critic强化学习框架,采用基于策略梯度的深度强化学习算法,直接对MPTCP数据包调度策略进行建模和学习,从而提高策略优化效率,加速MPTCP数据包调度策略神经网络的训练。
Description
技术领域
本发明涉及多路径传输控制协议,具体涉及一种基于深度强化学习的多路径传输控制协议数据包调度方法。
背景技术
多路径传输控制协议(Multipath Transmission Control Protocol,MPTCP)数据包调度器负责将发送方总缓冲区的数据包调度分配到可用的子流,MPTCP数据包调度器所用的调度算法会显著影响MPTCP的性能。
目前在Linux内核所实现的MPTCP数据包调度算法有:MinRTT(default)、Round-Robin、Redundant算法。其中MinRTT算法是这三个算法中综合性能最优的,也是默认的算法,该算法优先给往返时延最小的子流调度数据包,直到该子流的拥塞窗口已满,然后给往返时延第二小的子流调度数据包。MinRTT根据子流往返时延的大小顺序来调度数据包,在异构网络中,MinRTT可以降低应用时延,提高用户体验。
Round-Robin算法以轮询的方式调度数据包给各个子流,设置为真正的轮询调度时,每个子流分配基本相同的数据量,但这会导致无法充分利用带宽较大的子流链路。Round-Robin算法性能较差,一般只用于学术和测试的目的。
Redundant算法和ReMP算法的工作方式一样,其目的为最小化时延。通过将相同的数据包复制多份,然后调度给各个子流,提高了鲁棒性并且最小化时延。但是Redundant算法发送了大量冗余的数据包,增大了网络的负载,以牺牲带宽换来时延的最小化,不能满足综合性的服务质量指标。
除了Linux内核中已经实现的以上三种MPTCP数据包调度算法,研究者们还提出了众多针对不同应用场景的MPTCP数据包调度算法。ECF算法根据子流的拥塞窗口和往返时延进行数据包调度,从而避免不必要的子流空闲时期,提高总吞吐量。eMPTCP算法是针对MPTCP耗能问题而设计的数据包调度算法,其在调度过程中,将链路的能耗考虑进来,从而降低MPTCP的传输能耗。BLEST算法通过检测发送窗口是否阻塞,来最小化异构网络场景的队头阻塞问题,从而提高MPTCP在异构网络传输时的有效吞吐量。DEMS算法通过保证各个子流同时完成数据包传输来进行数据包调度,从而最小化数据下载时间。
与传统的单路径TCP相比,数据包调度是MPTCP独有的机制,然而上述MPTCP数据包调度算法都是启发式算法,只针对单一的网络模型,使用固定的调度策略进行数据包调度,所以缺乏通用性,无法在多种网络场景下都取得最优的性能。带宽、往返时延等链路特性的差异,甚至传输数据量的大小都会对数据包调度结果的好坏造成影响。例如在一个典型的WiFi链路和LTE链路的异构网络场景中,智能手机使用MPTCP通过这两条链路同时进行数据传输,当进行网页加载等小文件传输时,最优的调度策略应当是优先给时延较小的链路子流分配数据包,缩短网页加载时间,提高用户体验;当进行大文件传输时,最优的调度策略为优先给带宽较大的链路子流分配数据包,提高MPTCP的总吞吐量,从而最小化下载时间。如何设计在多种网络场景下,都能达到最优调度的MPTCP数据包调度算法,是一个具有挑战性的问题。
发明内容
发明目的:针对上述问题,本发明提出一种基于深度强化学习的多路径传输控制协议数据包调度方法,能够从根本上解决现有启发式MPTCP数据包调度算法无法适应复杂多样的动态网络环境导致MPTCP性能下降的问题。
技术方案:为了实现以上发明目的,本发明的技术方案如下:
一种基于深度强化学习的多路径传输控制协议数据包调度方法,包括以下步骤:
(1)将MPTCP发送方的数据包调度过程划分为若干个调度周期;
(2)在每个调度周期,MPTCP发送方测量网络参数作为网络环境的状态,将这些环境状态输入表示数据包调度策略的Actor神经网络,并根据Actor神经网络输出的调度动作执行该调度周期的调度;
(3)根据设定的奖赏函数计算每个调度周期中Actor神经网络输出的调度动作的奖赏值;
(4)将每个调度周期的环境状态、奖赏函数的奖赏值、调度动作输入Critic神经网络,输出对调度动作的评估结果,即动作的好坏;
(5)根据Critic神经网络输出的评估结果,更新Actor神经网络参数,即更新数据包调度策略,同时也更新Critic神经网络参数。
进一步地,所述步骤2中网络参数包括:MPTCP子流的往返时延RTT、MPTCP子流的拥塞窗口大小cwnd、MPTCP子流的缓冲区队列长度。
进一步地,所述步骤2中Actor神经网络输出的调度动作为分配到各个MPTCP子流的数据包数量的分流比,所述分流比的计算方式为:分配到该子流上的数据包个数除以发送方当前缓冲区的总数据包个数,设第i个子流的分流比为pi,0≤pi≤1,则一个动作向量表示为:a=(p1,...,pi,...),其中pi满足∑ipi=1。
进一步地,所述步骤4中Critic神经网络输出一个函数值,作为值函数的估值信息,所述步骤5中Actor神经网络根据该函数值更新Actor神经网络参数,Critic神经网络根据奖赏值和函数值,更新Critic神经网络参数。
有益效果:本发明首次提出使用深度强化学习算法来优化MPTCP网络传输,利用人工深度神经网络表示MPTCP数据包调度策略,并且学出各种网络环境下的最优数据包调度策略,从根本上解决现有启发式MPTCP数据包调度算法无法适应复杂多样的动态网络环境导致MPTCP性能下降的问题。此外,使用Actor-Critic强化学习框架,采用基于策略梯度的深度强化学习算法,直接对MPTCP数据包调度策略进行建模和学习,从而提高策略优化效率,加速MPTCP数据包调度策略神经网络的训练。
附图说明
图l是基于深度强化学习的多路径传输控制协议数据包调度方法的框架图;
图2是根据本发明实施例的Actor神经网络和Critic神经网络结构示例图;
图3是根据本发明实施例的MPTCP数据包调度流程图;
图4是根据本发明实施例的神经网络训练流程图。
具体实施方式
下面结合附图对本发明的技术方案作进一步说明。应当了解,以下提供的实施例仅是为了详尽地且完全地公开本发明,并且向所属技术领域的技术人员充分传达本发明的技术构思,本发明还可以用许多不同的形式来实施,并且不局限于此处描述的实施例。对于表示在附图中的示例性实施方式中的术语并不是对本发明的限定。
图1是基于深度强化学习的多路径传输控制协议数据包调度方法的框架图,如图所示,为了提高策略的学习效率,本发明使用Actor-Critic强化学习框架,采用基于策略梯度的深度强化学习算法,直接对MPTCP数据包调度策略进行建模和学习,从而提高策略优化效率,加速MPTCP数据包调度策略神经网络的训练。本发明将MPTCP的调度过程划分为若干个调度周期,实现周期性的调度机制。将周期性的数据包调度过程建模为马尔可夫决策过程,从而可以使用强化学习框架解决调度问题。利用Actor神经网络和Critic神经网络,作为深度强化学习所使用的神经网络。
具体地,在每个调度周期,MPTCP数据包调度器观测当前周期的网络状态,然后根据状态和调度策略执行调度的动作。调度周期的状态包括当前调度周期的:MPTCP子流的往返时延(RTT)、MPTCP子流的拥塞窗口大小(cwnd)、MPTCP子流的缓冲区队列长度。调度周期的调度动作为分配到各个MPTCP子流的数据包数量的分流比,分流比的计算方式为:分配到该子流上的数据包个数除以发送方当前总缓冲区的数据包个数。设第i个子流的分流比为pi,0≤pi≤1。所以一个动作向量可以表示为:a=(p1,...,pi,...),其中pi满足∑ipi=1。
图2是根据本发明实施例的Actor神经网络和Critic神经网络结构示例图。策略可以看作是一个函数(策略函数),输入状态,输出动作,本发明中的Actor神经网络表示的就是策略函数,也可称为策略神经网络。最初始,策略神经网络初始化为随机网络,在策略神经网络,不断输入状态、输出动作的训练过程中,策略神经网络得到优化,输出的动作逐渐变为最优动作。在Actor神经网络的输出层使用sofimax激活函数使得输出的数值pi满足0≤pi≤1的要求,并且Actor神经网络输出为一个动作向量a=(p1,...,pi,...),其中pi是第i个子流的分流比,满足∑ipi=1。神经网络的具体参数设置为:Actor神经网络和Critic神经网络都有两个隐藏层,每层有100个神经元,每个神经元使用ReLU激活函数;每次批训练经验元组数=50;折扣因子=0.99;神经网络的学习速率=0.001。使用两个神经网络使得神经网络的函数拟合更加准确,可以更准确的进行策略优化。
图3是根据本发明实施例的MPTCP数据包调度流程图,进行数据包调度之前,首先要设置调度周期,将调度过程的时间轴划分成连续的时间周期,每个时间周期称为调度周期。一个典型的调度周期为200ms,大约是3到4个WiFi链路往返时延的时间。之后建立MPTCP连接,调度开始,在每个调度周期开始时,调度器将观察到的环境状态作为神经网络的输入,然后策略神经网络输出动作,即用于数据包调度的分流比,在该周期结束时,调度器根据网络环境反馈的信息,利用奖赏函数计算出一个奖赏,同时环境状态转移到下一个状态,进入下一个调度周期。每个调度周期循环进行上述流程,直到MPTCP连接关闭,即数据包传输结束。
本发明采用综合多种服务质量指标的奖赏函数作为强化学习的优化目标,其中,Vt throughput表示MPTCP连接所有n个子流的总吞吐量;表示该调度周期中所有数据包的平均往返时延;0<α<1,0<β<1为权重参数。α越大,即Vt throughput的权重越大,奖赏函数更看重子流的总吞吐量;β越大,即的权重越大,奖赏函数更看重所有数据包的平均往返时延。默认参数设置为α=0.5,β=0.5。该奖赏函数简明实用,计算开销低,响应更加迅速,适用于各种网络环境。
图4是MPTCP调度策略神经网络训练流程图。在深度强化学习算法中,用人工深度神经网络来表示调度策略和值函数的估值。在神经网络训练过程中,调度器观察到的环境状态作为Actor神经网络的输入,Actor神经网络输出一个代表各个子流分流比例的向量(p1,...,pi,...),该向量可以视为MPTCP数据包调度的动作。Critic神经网络根据状态、奖赏值和动作,输出输出一个函数值,作为值函数的估值信息,用于对Actor神经网络的策略进行评估。Actor神经网络依据Critic神经网络输出的函数值,调整MPTCP数据包调度策略,即更新Actor神经网络参数。Critic神经网络根据奖赏和函数值来更新自己的Critic神经网络参数。该训练过程在MPTCP的数据包调度过程中,循环进行,不断优化MPTCP数据包调度策略。通过深度强化学习,学出不同网络环境下最优的调度策略,从而能够适应动态变化的各种网络场景。本发明使用基于Actor-Critic框架的同策略(on-policy)强化学习算法,直接针对策略进行优化,比通常的Q-learning算法更加准确。
以上详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种等同变换,这些等同变换均属于本发明的保护范围。
Claims (3)
1.一种基于深度强化学习的多路径传输控制协议数据包调度方法,其特征在于,该方法包括以下步骤:
(1)将MPTCP发送方的数据包调度过程划分为若干个调度周期;
(2)在每个调度周期,MPTCP发送方测量网络参数作为网络环境的状态,将这些环境状态输入表示数据包调度策略的Actor神经网络,并根据Actor神经网络输出的调度动作执行该调度周期的调度,其中网络参数包括:MPTCP子流的往返时延RTT、MPTCP子流的拥塞窗口大小cwnd、MPTCP子流的缓冲区队列长度;其中Actor神经网络输出的调度动作为分配到各个MPTCP子流的数据包数量的分流比,所述分流比的计算方式为:分配到该子流上的数据包个数除以发送方当前缓冲区的总数据包个数,设第i个子流的分流比为pi,0≤pi≤1,则一个动作向量表示为:a=(p1,...,pi,...),其中pi满足∑ipi=1;
(3)根据设定的奖赏函数计算每个调度周期中Actor神经网络输出的调度动作的奖赏值,其中奖赏函数为:其中,Vt throughput表示MPTCP连接所有n个子流的总吞吐量;表示该调度周期中所有数据包的平均往返时延;0<α<1,0<β<1为权重参数;
(4)将每个调度周期的环境状态、奖赏函数的奖赏值、调度动作输入Critic神经网络,输出对调度动作的评估结果,即动作的好坏;
(5)根据Critic神经网络输出的评估结果,更新Actor神经网络参数,即更新数据包调度策略,同时也更新Critic神经网络参数。
2.根据权利要求1所述的基于深度强化学习的多路径传输控制协议数据包调度方法,其特征在于,所述步骤1中调度周期时长为3到4个WiFi链路往返时延的时间。
3.根据权利要求1所述的基于深度强化学习的多路径传输控制协议数据包调度方法,其特征在于,所述步骤4中Critic神经网络输出一个函数值,作为值函数的估值信息,所述步骤5中Actor神经网络根据该函数值更新Actor神经网络参数,Critic神经网络根据奖赏值和函数值,更新Critic神经网络参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910537886.6A CN110278149B (zh) | 2019-06-20 | 2019-06-20 | 基于深度强化学习的多路径传输控制协议数据包调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910537886.6A CN110278149B (zh) | 2019-06-20 | 2019-06-20 | 基于深度强化学习的多路径传输控制协议数据包调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110278149A CN110278149A (zh) | 2019-09-24 |
CN110278149B true CN110278149B (zh) | 2022-10-18 |
Family
ID=67962240
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910537886.6A Active CN110278149B (zh) | 2019-06-20 | 2019-06-20 | 基于深度强化学习的多路径传输控制协议数据包调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110278149B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111064704B (zh) * | 2019-11-19 | 2021-02-09 | 中国科学院计算技术研究所 | 一种基于mptcp启动窗口自适应的数据传输方法、装置和介质 |
CN111092823B (zh) * | 2019-12-25 | 2021-03-26 | 深圳大学 | 一种自适应调节拥塞控制初始窗口的方法和系统 |
CN111130698B (zh) * | 2019-12-26 | 2022-05-31 | 南京中感微电子有限公司 | 无线通信接收窗口预测方法、装置及无线通信设备 |
CN113286374B (zh) * | 2020-02-19 | 2023-05-09 | 华为技术有限公司 | 调度方法、调度算法的训练方法及相关系统、存储介质 |
CN111555907B (zh) * | 2020-04-19 | 2021-04-23 | 北京理工大学 | 基于强化学习的数据中心网络能耗和服务质量优化方法 |
CN112104563B (zh) * | 2020-08-12 | 2022-08-30 | 新华三技术有限公司 | 一种拥塞控制方法及装置 |
CN112019249B (zh) * | 2020-10-22 | 2021-02-19 | 中山大学 | 一种基于深度强化学习的智能反射面调控方法及装置 |
CN112261725B (zh) * | 2020-10-23 | 2022-03-18 | 安徽理工大学 | 一种基于深度强化学习的数据包传输智能决策方法 |
CN112347104B (zh) * | 2020-11-06 | 2023-09-29 | 中国人民大学 | 一种基于深度强化学习的列存储布局优化方法 |
CN113162850B (zh) * | 2021-01-13 | 2023-10-24 | 中国科学院计算技术研究所 | 基于人工智能的异构网络多路径调度方法和系统 |
CN113207147A (zh) * | 2021-03-16 | 2021-08-03 | 网络通信与安全紫金山实验室 | 基于深度强化学习的mptcp拥塞控制方法及其存储介质 |
CN113114581A (zh) * | 2021-05-14 | 2021-07-13 | 南京大学 | 基于多智能体深度强化学习的tcp拥塞控制方法及装置 |
CN113746757B (zh) * | 2021-08-26 | 2023-05-26 | 中国电子科技集团公司第七研究所 | 一种基于业务类别的多链路传输智能报文调度方法 |
CN115379469B (zh) * | 2022-08-12 | 2023-11-28 | 江苏省电力试验研究院有限公司 | 一种基于机器学习的多接入异构网络mptcp子流调度方法 |
CN115665060A (zh) * | 2022-12-26 | 2023-01-31 | 中国华能集团清洁能源技术研究院有限公司 | 一种用于异构网络的多路径传输调度方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101925125B (zh) * | 2010-04-23 | 2013-01-30 | 清华大学 | 一种与移动ip结合的具有移动性的多路径tcp的方法 |
US9350672B2 (en) * | 2014-03-13 | 2016-05-24 | Cisco Technology, Inc. | Performance enhancement and congestion control of multipath protocol packets in a heterogeneous network environment with multipath transport protocols |
CN107171842B (zh) * | 2017-05-22 | 2020-01-03 | 南京大学 | 基于强化学习的多路径传输协议拥塞控制方法 |
CN109818856B (zh) * | 2019-03-07 | 2021-07-13 | 北京西米兄弟未来科技有限公司 | 一种多路径数据传输方法及装置 |
-
2019
- 2019-06-20 CN CN201910537886.6A patent/CN110278149B/zh active Active
Non-Patent Citations (2)
Title |
---|
"ReLeS: A Neural Adaptive Multipath Scheduler based on Deep Reinforcement Learning";Han Zhang等;《IEEE》;20190617;第1648-1656页 * |
Experience-Driven Congestion Control: When Multi-Path TCP Meets Deep Reinforcement Learning;Zhiyuan Xu等;《IEEE》;20190311;第37卷(第6期);第1325-1336页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110278149A (zh) | 2019-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110278149B (zh) | 基于深度强化学习的多路径传输控制协议数据包调度方法 | |
CN110581808B (zh) | 一种基于深度强化学习的拥塞控制方法及系统 | |
CN113254197B (zh) | 一种基于深度强化学习的网络资源调度方法及系统 | |
US11206221B1 (en) | Online task dispatching and scheduling system and method thereof | |
CN106973413B (zh) | 面向无线传感器网络的自适应QoS控制方法 | |
CN110708259A (zh) | 自动调整队列阈值的信息无感知Coflow调度系统及其调度方法 | |
CN114866474B (zh) | 一种端网协同流量调度方法、装置、系统及存储介质 | |
CN113207147A (zh) | 基于深度强化学习的mptcp拥塞控制方法及其存储介质 | |
CN114760644A (zh) | 基于深度强化学习的多链路传输智能报文调度方法 | |
CN109474960B (zh) | 一种基于q学习的双连接流量分配方法 | |
CN114866494B (zh) | 强化学习智能体训练方法、模态带宽资源调度方法及装置 | |
CN107070802A (zh) | 基于pid控制器的无线传感器网络拥塞控制技术 | |
CN109698925A (zh) | 基于数据驱动的实时视频拥塞控制方法及装置 | |
CN112799823A (zh) | 边缘计算任务的在线分派调度方法和系统 | |
KR20220042927A (ko) | 인공지능을 이용하여 복수의 단말들의 작업들과 관련된 복수의 패킷들을 스케줄링하는 방법 및 이를 수행하는 전자 장치 | |
CN113595684B (zh) | 一种基于深度强化学习的mptcp动态编码调度方法和系统 | |
Tang et al. | A MPTCP scheduler combined with congestion control for short flow delivery in signal transmission | |
Wang et al. | Load balancing for heterogeneous traffic in datacenter networks | |
CN114501667A (zh) | 一种考虑业务优先级的多信道接入建模及分布式实现方法 | |
CN116166406B (zh) | 个性化边缘卸载调度方法、模型训练方法和系统 | |
CN110971451A (zh) | Nfv资源分配方法 | |
CN113872873B (zh) | 一种适合5g新应用的多场景跨层拥塞控制方法 | |
Huang et al. | Objective-oriented resource pooling in MPTCP: A deep reinforcement learning approach | |
CN113672372B (zh) | 一种基于强化学习的多边缘协同负载均衡任务调度方法 | |
Eugster et al. | Essential traffic parameters for shared memory switch performance |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |