CN112469079B - 结合深度强化学习与传统拥塞控制的新型拥塞控制方法 - Google Patents
结合深度强化学习与传统拥塞控制的新型拥塞控制方法 Download PDFInfo
- Publication number
- CN112469079B CN112469079B CN202011227115.6A CN202011227115A CN112469079B CN 112469079 B CN112469079 B CN 112469079B CN 202011227115 A CN202011227115 A CN 202011227115A CN 112469079 B CN112469079 B CN 112469079B
- Authority
- CN
- China
- Prior art keywords
- congestion control
- reinforcement learning
- congestion
- deep reinforcement
- rate
- 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
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/0289—Congestion control
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种结合深度强化学习与传统拥塞控制的新型拥塞控制方法,步骤如下:步骤一:传输层协议获取实际应用根据需求所定义的性能偏好,交付给新型拥塞控制算法的深度强化学习模块;步骤二:以预定义的间隔为基本单位,根据应答反馈收集并更新往返时延、丢包率来反应网络中实际状况的信息;步骤三:基于已有的信息,分别运行深度强化学习模块与传统拥塞控制模块,获取两个模块所决策的拥塞速率调整量;步骤四:根据事先定义好的结合策略,选取并计算最终的拥塞窗口调整决策,对当前传输速率进行调整,传输数据。本发明能够有效的适应应用的需求,提升性能,并且能够提供更优的公平性与收敛性,具有实用价值。
Description
技术领域
本发明属于通信网络拥塞控制技术领域,具体涉及一种结合深度强化学习与传统拥塞控制的新型拥塞控制方法。
背景技术
随着广域网链路带宽的不断增长、4G网络以及5G网络的应用及数据中心等场景的出现,自二十世纪八十年代被提出以来,业界对于拥塞控制算法的需求长期一直存在。现今各类网络应用往往存在不同的需求,如网页浏览要求的低时延,下载或视频传输应用要求的高带宽等等,单一的拥塞控制算法往往难以适应全部场景和应用需求,以至于当今Linux系统内核中内置了超过十五种拥塞控制算法可供选择。
传统拥塞控制方法往往通过丢包或往返时延等拥塞控制信号推测当前网络状况,并通过预定义的固定策略对拥塞窗口或传输速率进行调整,具有易于解释、较好的公平性及收敛性的优点。重要的传统拥塞控制算法包括:基于丢包的CUBIC,其将丢包视为拥塞发生的标志,观测到丢包时将速率以一定比例缩减,未观测到丢包时按照三次函数增加发送速率;基于时延的Vegas,其将往返时延的增加视为队列积累,以此推测网络中拥塞程度,并致力于将网络中队列长度维持在预定义的范围之内以控制拥塞;基于探测的BBR,其定期排空队列对网络带宽进行探测,并控制发送速率维持在充分利用链路带宽但不积累队列的最优点。
然而,传统拥塞控制方法也存在着诸多问题,包括:第一,传统拥塞控制方法主要使用预定义的固定策略,不能根据网络状况灵活调整,其性能具有较大提升空间;第二,一大部分传统拥塞控制方法无法分辨拥塞丢包与随机丢包,这也就是说,在无线链路等随机丢包率较高的场景下吞吐量会大幅衰减,性能表现不佳;第三,传统拥塞控制方法往往针对于某一特定场景或需求进行设计,推广到其他场景需要耗费巨大努力。为了解决传统拥塞控制策略的如上问题,近些年来,多种使用机器学习相关技术的智能拥塞控制算法被提出。这些算法应用不同的机器学习技术,如在线学习及强化学习等等,提供了更为灵活高效的控制策略,但也存在新的问题,包括:第一,在实际测试中不能满足公平性与收敛性的要求;第二,由于机器学习技术的黑盒决策过程,其决策难以解释,无法提供最坏情况下的性能保证。针对智能拥塞控制策略的第一个问题,各种研究提出了不同的方法。部分研究试图通过修改效用函数的设计保证公平性/收敛性,通过纳什均衡等理论进行说明;部分研究通过修改训练过程试图解决,则其通过专家知识辅助学得满足公平性/收敛性要求的策略。
发明内容
本发明针对现有的通信网络传输层拥塞控制策略无法兼顾高性能、适应性、公平性与收敛性等要求的问题,提供一种结合深度强化学习与传统拥塞控制的新型拥塞控制方法,通过深度强化学习与传统拥塞控制协同合作,共同决策,吸取两者优点,解决存在的问题,能够有效的适应应用的需求,最终提升性能;并且在当前网络中广泛部署CUBIC的实际情况下,能够提供更优的公平性与收敛性,具有实用价值。具有较高的实用价值。
为实现上述目的,本发明采用以下技术方案:结合深度强化学习与传统拥塞控制的新型拥塞控制方法,包括如下步骤:
步骤一:传输层协议获取实际应用根据需求所定义的性能偏好,交付给新型拥塞控制算法的深度强化学习模块;
步骤二:以预定义的间隔为基本单位,根据应答反馈收集并更新往返时延、丢包率来反应网络中实际状况的信息;
步骤三:基于已有的信息,分别运行深度强化学习模块与传统拥塞控制模块,获取两个模块所决策的拥塞速率调整量;
步骤四:根据事先定义好的结合策略,选取并计算最终的拥塞窗口调整决策,对当前传输速率进行调整,传输数据。
为优化上述技术方案,采取的具体措施还包括:
进一步地,步骤一中,新型拥塞控制算法提供用于获取上层应用性能偏好的接口,如上层应用未加以调用,则使用默认权重设置性能偏好,从而适应不同应用的性能需求。
进一步地,步骤二中,建立TCP连接后,每个TCP连接以预定义的时间间隔为基本单位,计算并维护最近若干个时间段内从应答反馈中获取到的反应当前网络状况的状态信息数组,包括当前速率、丢包率、往返时延及梯度。
进一步地,步骤二中,传输层协议在最初的时间间隔中使用默认的传统拥塞控制算法决策,后续拥塞避免阶段,收集到足够网络状态信息后,激活深度强化学习模块进行协同决策。
进一步地,步骤三中,将所获取的网络中实际状况的信息作为深度强化学习模块的输入,深度强化学习模块决策出当前发送速率的调整倍数,并转换为具体速率调整值作为其输出;
对于传统方法模块,维护拥塞窗口减少前的最大值,并根据预定义的参数,如决策增长速率的三次函数系数以及拥塞时速率降低的比例等,遵循增长规则计算出窗口的增长值,或根据丢包信息按照比例减少窗口,最终转化为对应速率的调整值作为模块的输出。
进一步地,步骤四中,拥塞控制算法根据步骤二中收集到的反应当前网络状况的信息,判断当前网络状况;状况一,当前网络中仍有较为充裕的剩余带宽,则以步骤三中获取到的两个模块速率增长量的较大值作为最终决策;状况二,当前发送速率接近网络带宽,则依赖强化学习模块的智能调整;状况三,当前由于带宽变化或其他流加入竞争,导致产生队列积累或丢包超出限度,则依照传统方法降低速率,释放占用带宽。拥塞控制算法根据收集及维护的网络信息,在如上不同状况之间进行切换。
本发明的有益效果是:
本发明提出了结合深度强化学习与传统拥塞控制(CUBIC)的新型TCP拥塞控制方法,协同考虑强化学习与传统拥塞控制方法两者的决策,根据当前网络状况使用不同的结合方法,在灵活调整的同时提升公平性/收敛性,并提供性能保证。
本发明针对最新的TCP拥塞控制方法所存在的问题,通过结合的方法分别予以解决,并支持应用设置性能偏好,可以灵活适应应用需求。
本发明在广域网及无线(LTE)链路上均可取得较好性能表现,即本发明适用于多种网络环境,易于推广,具有较高的实用价值。
附图说明
图1是本发明的新型拥塞控制算法总体框架示意图。
图2是本发明中深度强化学习算法模块的示意图。
图3是本发明中传统拥塞控制方法模块的示意图。
图4是本发明中协同决策模块的算法流程图。
具体实施方式
现在结合附图对本发明作进一步详细的说明。
需要注意的是,发明中所引用的如“上”、“下”、“左”、“右”、“前”、“后”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。
本发明是一种结合深度强化学习与传统拥塞控制(CUBIC)的新型拥塞控制方法,其主要包括如下步骤:
步骤一,传输层协议获取实际应用根据需求所定义的性能偏好,交付给新型拥塞控制算法的深度强化学习模块;新型拥塞控制算法提供用于获取上层应用性能偏好的接口,如上层应用未加以调用,则使用默认权重设置性能偏好,从而灵活适应不同应用的性能需求。
步骤二,建立TCP连接后,每个TCP连接以预定义的间隔为基本单位,计算并维护最近若干个时间段内从应答反馈中获取到的反应当前网络状况的状态信息数组,主要包括当前速率、丢包率、往返时延及梯度等等。传输层协议在最初的时间间隔中使用默认的传统拥塞控制算法决策,后续拥塞避免阶段收集到足够网络状态信息后激活深度强化学习模块进行协同决策。
步骤三,拥塞控制算法基于已有的信息,即预定义的性能偏好、传统拥塞控制中控制增减速率的参数,以及收集到的网络状况信息(往返时延、丢包率等),分别运行深度强化学习模块与传统拥塞控制(CUBIC)模块,获深度强化学习模块与传统拥塞控制(CUBIC)模块所决策的拥塞速率调整量。深度强化学习模块包含了agent,agen指的是运行强化学习算法的决策体/学习器。具体而言,其将所获取的网络中实际状况的信息作为深度强化学习模块的输入,深度强化学习模块决策出当前发送速率的调整倍数,并转换为具体速率调整值作为其输出;对于传统方法(CUBIC)模块,其维护拥塞窗口减少前的最大值,并根据预定义的参数,如决策增长速率的三次函数系数以及拥塞时速率降低的比例等,遵循增长规则计算出窗口的增长值,或根据获取到的丢包信息按照比例减少窗口,最终转化为对应速率的调整值作为模块的输出。
步骤四,拥塞控制算法根据事先定义好的结合策略,选取并计算最终的拥塞窗口调整决策,对当前传输速率进行调整,传输数据。本发明的拥塞控制算法根据步骤二中收集到的反应当前网络状况的信息,判断当前网络状况如,状况1,当前网络中仍有较为充裕的剩余带宽,则以第三步中获取到的两个模块速率增长量的较大值作为最终决策;状况2,当前发送速率接近网络带宽,则主要依赖强化学习模块的智能调整;或状况3,当前由于带宽变化或其他流加入竞争,导致产生队列积累或丢包超出限度,则依照传统方法降低速率,释放占用带宽。拥塞控制算法根据收集及维护的网络信息,在如上不同状况之间进行切换。
图1是本发明的拥塞控制算法总体框架的展示,主要涉及网络协议栈中的应用层与传输层部分。如图所示,本发明主要包括三个模块:深度强化学习模块、传统拥塞控制模块以及将两者输出进行组合的协同决策模块。其中,当新的TCP连接建立时:首先,应用层通过调用接口,设置其对于吞吐量、时延等性能指标的偏好,如未调用则使用默认设置;之后,在最初阶段,拥塞控制算法使用传统方法进行窗口的设置,并通过Pacing机制转化为发送速率传输数据;进入拥塞避免阶段后,若根据应答反馈(ACK)收集到的网络状况信息足够,则激活深度强化学习模块进行协同决策。
图2是本发明的深度强化学习算法模块的示意图,为了简化说明,此示意图中仅仅给出模块中所采用的深度强化学习算法名称,对于具体内部算法逻辑不进行详细说明。深度强化学习模块将上层应用设置的性能偏好,与目前为止根据应答反馈(ACK)所获取的反应网络状况的信息作为学习器的输入。在每个决策时间段内,学习器主要使用基于策略梯度的算法PPO通过多层神经网络拟合策略,使用吞吐量、时延以及丢包率的线性组合作为奖赏函数,输出速率调整决策,与传统方法输出的决策协同指导发送速率的调整。随之根据下一时间段的应答反馈统计并更新网络状况信息,作为下一时刻学习器的输入,重复运行。
图3是本发明中的传统拥塞控制模块示意图,以CUBIC为例展示了传统拥塞控制方法的决策过程。具体而言,基于丢包的传统拥塞控制方法根据当前窗口、丢包情况以及历史窗口信息共同决策当前窗口的调整量。当未发生丢包时,拥塞窗口拟合三次函数进行增长;当检测到丢包时,则以一定比例进行窗口的缩减。由于本发明提出的拥塞控制方法主要基于速率,最终窗口的调整量应同样通过Pacing机制转化为速率的调整量,并最终交付于协同决策模块。
图4是本发明中协同决策模块的算法流程图。在每个决策时间段内,本发明的新型TCP拥塞控制算法首先根据当前所收集的网络状况信息,分别计算出深度强化学习模块与传统拥塞控制模块的速率调整量。之后,根据深度强化学习的连续动作决策,即连续增加或连续减少发送速率,以及当前网络丢包率、往返时延等信息,判断网络中瓶颈链路是否存在空闲带宽。若存在,则应迅速增长传输速率,此时取两模块增长速率的较大值作为传输速率的最终调整。若不存在大量空闲带宽,则进一步根据当前网络状况信息判定是否有必要降低速率以释放带宽。若需要,则遵循传统拥塞控制算法,以一定比例减少发送速率;否则依赖深度强化学习的智能决策进行细粒度的速率调整。
本发明的整个拥塞控制方法以预定义的决策时间段为基本决策单位,这意味着,拥塞控制算法收集并维护预定的时间长度内的网络状况信息,并输入到深度强化学习模块以获取即时的决策,并综合传统拥塞控制算法的决策协同考虑,调整最终的传输速率,并开始收集并更新下一时间段的网络状况信息,该过程循环进行。
本发明的新颖之处在于此结合方法能够吸取传统拥塞控制以及深度强化学习方法的优点,并且解决两者存在的问题,并支持应用设置性能偏好,对吞吐量、时延等指标可以根据应用需求进行适应。同时,本发明既适用于随机丢包率较高的无线网络场景,也适用于普通广域网网络,具有极强适应能力。
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。
Claims (5)
1.结合深度强化学习与传统拥塞控制的新型拥塞控制方法,其特征在于,包括如下步骤:
步骤一:传输层协议获取实际应用根据需求所定义的性能偏好,交付给新型拥塞控制算法的深度强化学习模块;
步骤二:以预定义的间隔为基本单位,根据应答反馈收集并更新往返时延、丢包率来反应网络中实际状况的信息;
步骤三:基于步骤一中获取的性能偏好、步骤二中收集到的反映网络状况的信息以及传统拥塞控制模块的参数,分别运行深度强化学习模块与传统拥塞控制模块,获取两个模块所决策的拥塞速率调整量;
步骤四:根据事先定义好的结合策略,选取并计算最终的拥塞窗口调整决策,对当前传输速率进行调整,传输数据;具体步骤为:
拥塞控制算法根据步骤二中收集到的反应当前网络状况的信息,判断当前网络状况;状况一,当前网络中仍有较为充裕的剩余带宽,则以步骤三中获取到的两个模块所决策的拥塞速率调整量的较大值作为最终决策;状况二,当前发送速率接近网络带宽,则依赖强化学习模块的智能调整;状况三,当前由于带宽变化或其他流加入竞争,导致产生队列积累或丢包超出限度,则依照传统方法降低速率,释放占用带宽。
2.如权利要求1所述的新型拥塞控制方法,其特征在于,步骤一中,新型拥塞控制算法提供用于获取上层应用性能偏好的接口,如上层应用未加以调用,则使用默认权重设置性能偏好,从而适应不同应用的性能需求。
3.如权利要求1所述的新型拥塞控制方法,其特征在于,步骤二中,建立TCP连接后,每个TCP连接以预定义的时间间隔为基本单位,计算并维护最近若干个时间段内从应答反馈中获取到的反应当前网络状况的状态信息数组,包括当前速率、丢包率、往返时延及梯度。
4.如权利要求1所述的新型拥塞控制方法,其特征在于,步骤二中,传输层协议在最初的时间间隔中使用默认的传统拥塞控制算法决策,后续拥塞避免阶段,收集到足够网络状态信息后,激活深度强化学习模块进行协同决策。
5.如权利要求1所述的新型拥塞控制方法,其特征在于,步骤三中,将所获取的网络中实际状况的信息作为深度强化学习模块的输入,深度强化学习模块决策出当前发送速率的调整倍数,并转换为具体的拥塞速率调整量作为其输出;
对于传统方法模块,维护拥塞窗口减少前的最大值,并根据预定义的参数,遵循增长规则计算出窗口的增长值,或根据丢包信息按照比例减少窗口,最终转化为对应的拥塞速率调整量作为模块的输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011227115.6A CN112469079B (zh) | 2020-11-05 | 2020-11-05 | 结合深度强化学习与传统拥塞控制的新型拥塞控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011227115.6A CN112469079B (zh) | 2020-11-05 | 2020-11-05 | 结合深度强化学习与传统拥塞控制的新型拥塞控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112469079A CN112469079A (zh) | 2021-03-09 |
CN112469079B true CN112469079B (zh) | 2022-04-22 |
Family
ID=74825814
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011227115.6A Active CN112469079B (zh) | 2020-11-05 | 2020-11-05 | 结合深度强化学习与传统拥塞控制的新型拥塞控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112469079B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113872873B (zh) * | 2021-09-29 | 2023-05-02 | 西安交通大学 | 一种适合5g新应用的多场景跨层拥塞控制方法 |
CN114039916B (zh) * | 2021-10-21 | 2022-09-16 | 北京邮电大学 | 面向实时视频质量优化的深度混合模型流量控制方法、装置和存储介质 |
CN114915600B (zh) * | 2022-06-10 | 2023-06-27 | 贵州大学 | 一种深度缓冲区下BBRv2拥塞控制方法 |
CN115277531B (zh) * | 2022-07-29 | 2023-07-25 | 南京大学 | 面向云上广域网的多径瓶颈公平性约束的两阶段路由方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107171842A (zh) * | 2017-05-22 | 2017-09-15 | 南京大学 | 基于强化学习的多路径传输协议拥塞控制方法 |
CN108881048A (zh) * | 2018-08-23 | 2018-11-23 | 北京理工大学 | 一种基于强化学习的命名数据网络拥塞控制方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107634911B (zh) * | 2017-10-31 | 2020-03-10 | 河南科技大学 | 一种信息中心网络中基于深度学习的自适应拥塞控制方法 |
CN110581808B (zh) * | 2019-08-22 | 2021-06-15 | 武汉大学 | 一种基于深度强化学习的拥塞控制方法及系统 |
CN111092823B (zh) * | 2019-12-25 | 2021-03-26 | 深圳大学 | 一种自适应调节拥塞控制初始窗口的方法和系统 |
CN111818570B (zh) * | 2020-07-25 | 2022-04-01 | 清华大学 | 一种面向真实网络环境的智能拥塞控制方法及系统 |
-
2020
- 2020-11-05 CN CN202011227115.6A patent/CN112469079B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107171842A (zh) * | 2017-05-22 | 2017-09-15 | 南京大学 | 基于强化学习的多路径传输协议拥塞控制方法 |
CN108881048A (zh) * | 2018-08-23 | 2018-11-23 | 北京理工大学 | 一种基于强化学习的命名数据网络拥塞控制方法 |
Non-Patent Citations (2)
Title |
---|
TCP-Drinc: Smart Congestion Control Based on Deep Reinforcement Learning;Kefan Xiao等;《IEEE Access》;20190111;第7卷;全文 * |
基于多Agent强化学习的Ad hoc网络跨层拥塞控制策略;邵飞等;《电子与信息学报》;20100615(第06期);第254-258页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112469079A (zh) | 2021-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112469079B (zh) | 结合深度强化学习与传统拥塞控制的新型拥塞控制方法 | |
CN110581808B (zh) | 一种基于深度强化学习的拥塞控制方法及系统 | |
CN107634911B (zh) | 一种信息中心网络中基于深度学习的自适应拥塞控制方法 | |
CN110809306B (zh) | 一种基于深度强化学习的终端接入选择方法 | |
CN113518040B (zh) | 一种面向时延敏感业务的多径耦合拥塞控制方法 | |
CN109462858A (zh) | 一种无线传感器网络参数自适应调节方法 | |
CN104994031A (zh) | 一种主动队列自适应管理方法asred | |
CN101146032A (zh) | 一种媒体流传输带宽自适应的方法 | |
CN109698925B (zh) | 基于数据驱动的实时视频拥塞控制方法及装置 | |
CN107070802A (zh) | 基于pid控制器的无线传感器网络拥塞控制技术 | |
CN103269458B (zh) | 一种针对窄带网络情况下视频传输的调节控制方法 | |
CN112714074B (zh) | 智能tcp拥塞控制方法、系统、设备和存储介质 | |
CN110535770B (zh) | 一种SDN环境下基于QoS感知的视频流智能路由方法 | |
CN109996294B (zh) | 基于多智能体网络状态值差异的分布式自适应调节算法 | |
CN104219170B (zh) | 无线网络中基于概率重传的包调度方法 | |
CN116915706B (zh) | 数据中心网络拥塞控制方法、装置、设备及存储介质 | |
CN102752076B (zh) | 数据发送的控制方法及装置及计算机系统 | |
CN114500394A (zh) | 一种区分服务的拥塞控制方法 | |
CN110943927B (zh) | 基于时延管理的命名数据网络传输控制方法、装置和设备 | |
CN107071919B (zh) | 一种基于丢包率的lte下行实时业务调度改进方法 | |
CN115022719B (zh) | 一种远程驾驶自适应视频码率控制传输方法与系统 | |
CN113630901B (zh) | 一种异构无线网络中动态多优先级自适应退避算法 | |
CN113783798A (zh) | 数据传输方法及系统、边缘服务设备 | |
RU2005122644A (ru) | Способ и устройство для передачи данных по обратному каналу в системах связи | |
CN107770082A (zh) | 数据中心网络中一种基于任务流量特性的传输控制方法 |
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 |