CN113595923B - 一种网络拥塞控制方法及装置 - Google Patents
一种网络拥塞控制方法及装置 Download PDFInfo
- Publication number
- CN113595923B CN113595923B CN202110918502.2A CN202110918502A CN113595923B CN 113595923 B CN113595923 B CN 113595923B CN 202110918502 A CN202110918502 A CN 202110918502A CN 113595923 B CN113595923 B CN 113595923B
- Authority
- CN
- China
- Prior art keywords
- network
- congestion control
- reward
- reward function
- model
- 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
- 238000000034 method Methods 0.000 title claims abstract description 40
- 230000002787 reinforcement Effects 0.000 claims abstract description 24
- 238000012549 training Methods 0.000 claims abstract description 17
- 238000004088 simulation Methods 0.000 claims abstract description 9
- 230000006870 function Effects 0.000 claims description 46
- 230000009471 action Effects 0.000 claims description 27
- 230000015654 memory Effects 0.000 claims description 21
- 238000001514 detection method Methods 0.000 claims description 19
- 230000005540 biological transmission Effects 0.000 claims description 18
- 238000013528 artificial neural network Methods 0.000 claims description 15
- 230000008859 change Effects 0.000 claims description 14
- 238000010276 construction Methods 0.000 claims description 9
- 230000003993 interaction Effects 0.000 claims description 6
- 238000003062 neural network model Methods 0.000 claims description 4
- 230000000306 recurrent effect Effects 0.000 claims description 2
- 230000007547 defect Effects 0.000 abstract description 4
- 239000003795 chemical substances by application Substances 0.000 description 31
- 230000000875 corresponding effect Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007787 long-term memory Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000000523 sample Substances 0.000 description 2
- 230000006403 short-term memory Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000011217 control strategy Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种网络拥塞控制方法及装置,方法包括:通过网络仿真器仿真获取网络环境的数据集;构建基于深度强化学习算法实现的拥塞控制算法模型,拥塞控制算法模型的输入包括所述网络环境的数据集;对所述拥塞控制算法模型进行训练,直至所述拥塞控制算法达到预设的收敛条件,得到拥塞控制算法结果模型;采用所述拥塞控制结果模型进行拥塞控制。上述方案由于基于网络环境进行决策控制,因此能够克服传统拥塞算法存在的无法动态感知网络状态的缺陷;同时采用传统拥塞算法作为深度强化学习算法的指导,避免算法陷入局部最优,能够实现对大流量网络拥塞情况的智能控制。
Description
技术领域
本申请涉及人工智能领域,更具体的说,是涉及一种网络拥塞控制方法及装置。
背景技术
电力物联网的建设是电网业务与新兴业务发展的强大支撑和强大动力,并将进一步全面形成能源互联网数字化生态圈。随着电力物联网数字化进程的不断发展建设,设备接入节点数增多,可靠传输要求提高,发生网络拥塞造成电力信息流的丢失和时延过大的可能性增加。在网络信息的传输中,如果发送方发送信息的速度过快,超过了接收方的接收能力范围,就会造成网络的拥塞;如果发送方发送信息的速度过慢,则造成网络资源的浪费。因此,拥塞控制算法就是通过实时监测当前时刻的网络状态反馈信息,例如发送速率、延迟、信息往返时间等,来自适应地控制和调整发送速率。从而做到有效感知网络状态,智能调整拥塞窗口,以最大效率使用网络带宽,提升吞吐量和成功率、降低平均时延。
传统拥塞控制算法的网络状态和响应之间存在固定映射关系,事件与预定义动作之间的固定响应无法准确地感知网络状态,也无法做出可以改变网络拥塞状态的正确决策。随着电力物联网的建设对能源感知的深度广度需求不断提升,要求平台层具备亿级终端接入、千万级并发连接,而传统的网络架构已无法满足需求,传统拥塞控制算法在对系统吞吐量要求较高、实时性较强的应用场景中也已经不能满足要求。
发明内容
有鉴于此,本申请提供如下技术方案:
一种网络拥塞控制方法,包括:
通过网络仿真器仿真获取网络环境的数据集,不同的网络环境数据集对应不同的网络环境;
构建基于深度强化学习算法实现的拥塞控制算法模型,所述拥塞控制算法模型的输入包括所述网络环境的数据集;
对所述拥塞控制算法模型进行训练,直至所述拥塞控制算法达到预设的收敛条件,得到拥塞控制算法结果模型;
采用所述拥塞控制结果模型进行拥塞控制。
可选的,所述网络环境的数据集中至少包括:固定的往返传播时间、固定或可变的网络带宽、队列大小、排队规则和随机丢包率的任意一种或几种。
可选的,所述构建基于深度强化学习算法实现的拥塞控制算法模型,包括:
构建包含智能体和网络环境的拥塞控制算法模型,其中,所述网络环境的数据集所对应的网络状态作为所述智能体的输入,所述智能体依据所述网络状态做出决策动作实现与所述网络环境的交互,所述智能体还以所述网络环境对应的奖励函数作为输入,所述智能体采用的神经网络为深度强化华学习算法。
可选的,所述网络状态包括带宽、排队时延和数据的发送速率。
可选的,所述智能体依据所述网络状态做出决策动作包括:控制拥塞窗口与带宽延迟积相同。
可选的,所述网络状态包括启动阶段、排空阶段、带宽探测阶段和时延探测阶段,其中所述启动阶段、排空阶段和所述带宽探测阶段对应有不同的奖励函数。
可选的,在所述网络状态为启动阶段时,奖励函数为发送速率的预设倍数;
在所述网络状态为排空阶段时,设置发送速率的变化比率和排队时延的差值来确定奖励函数;
在所述带宽探测阶段时,通过调节发送速率的速度变化比率和奖励值的权重来确定奖励函数。
可选的,所述拥塞控制算法模型采用循环神经网络的变体双向长短期记忆网络作为神经网络模型。
一种网络拥塞控制装置,包括:
数据集获取模块,用于通过网络仿真器仿真获取网络环境的数据集,不同的网络环境数据集对应不同的网络环境;
模型构建模块,用于构建基于深度强化学习算法实现的拥塞控制算法模型,所述拥塞控制算法模型的输入包括所述网络环境的数据集;
模型训练模块,用于对所述拥塞控制算法模型进行训练,直至所述拥塞控制算法达到预设的收敛条件,得到拥塞控制算法结果模型;
拥塞控制模块,用于采用所述拥塞控制结果模型进行拥塞控制。
可选的,所述模型构建模块具体用于:构建包含智能体和网络环境的拥塞控制算法模型,其中,所述网络环境的数据集所对应的网络状态作为所述智能体的输入,所述智能体依据所述网络状态做出决策动作实现与所述网络环境的交互,所述智能体还以所述网络环境对应的奖励函数作为输入,所述智能体采用的神经网络为深度强化华学习算法。
经由上述的技术方案可知,与现有技术相比,本申请实施例公开了一种网络拥塞控制方法及装置,方法包括:通过网络仿真器仿真获取网络环境的数据集,不同的网络环境数据集对应不同的网络环境;构建基于深度强化学习算法实现的拥塞控制算法模型,所述拥塞控制算法模型的输入包括所述网络环境的数据集;对所述拥塞控制算法模型进行训练,直至所述拥塞控制算法达到预设的收敛条件,得到拥塞控制算法结果模型;采用所述拥塞控制结果模型进行拥塞控制。上述方案由于基于网络环境进行决策控制,因此能够克服传统拥塞算法存在的无法动态感知网络状态、自适应的做出调整的缺陷;同时采用传统拥塞算法作为深度强化学习算法的指导,避免算法陷入局部最优,从而通过使用传统算法对当前网络状态的监测,利用深度强化学习算法进行智能决策,实现对大流量网络拥塞情况的智能控制。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例公开的一种拥塞控制方法的流程图;
图2为本申请实施例公开的网络拥塞控制方法的原理图;
图3为本申请实施例公开的网络拥塞控制模型的智能体结构;
图4为本申请实施例公开的一种网络拥塞控制装置的结构示意图;
图5为本申请实施例公开的一种电子设备的结构示意图。
具体实施方式
为了引用和清楚起见,下文中使用的技术名词的说明、简写或缩写总结如下:
BBR:Bottleneck Bandwidth and Round-trip propagation time,2016年提出一种基于延时带宽积的算法,该算法定义链路的最大负载为链路的时延往返时间与链路带宽的乘积(Bandwidth Delay Product,BDP),使用交替测试链路的最大带宽与最小的往返时间的思路解决拥塞控制问题,不使用数据包丢失作为拥塞信号,而是根据观察到的带宽和延迟值来调节其流量,有效地控制网络延的同时,最大限度避免网络排队的情况,提高吞吐量,对抗丢包。
RTT:Round-Trip Time,往返时延。在计算机网络中它是一个重要的性能指标,表示从发送端发送数据开始,到发送端收到来自接收端的确认(接收端收到数据后便立即发送确认),总共经历的时延。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请实施例公开的一种拥塞控制方法的流程图,参见图1所示,拥塞控制方法可以包括:
步骤101:通过网络仿真器仿真获取网络环境的数据集,不同的网络环境数据集对应不同的网络环境。
本申请实施例中,将网络环境的数据集能够表征的网络状态作为智能体的输入,以做出适应当前网络环境的拥塞控制决策。因此需要首先获取网络环境的数据集。
实现中,可以在OpenAI Gym环境中运行Mahimahishell,Linux中的Mahimahi是一种基于容器的网络仿真器,它使用真实的Linux栈跨过虚拟网络接口实现数据的接收和发送。所述网络环境的数据集中至少包括:固定的往返传播时间、固定或可变的网络带宽、队列大小、排队规则和随机丢包率的任意一种或几种。关于其中固定的往返传播时间,可结合下述内容理解:往返延时由三个部分决定:即链路的传播时间、末端系统的处理时间以及路由器的缓存中的排队和处理时间。其中,前面两个部分的值作为一个TCP(TransmissionControl Protocol,一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC793定义。)连接相对固定,路由器的缓存中的排队和处理时间会随着整个网络拥塞程度的变化而变化。这里的往返传播时间指的是链路的传播时间和末端系统的处理时间之和,即理想状态下,不发生网络拥塞的传播时间。
其中,OpenAI Gym是python中用来制定强化学习算法实验环境的工具包,本文实验所使用的网络模拟环境就是由此工具来实现。当然,实现中也可以在其他环境中运行网络仿真器来获取网络环境的数据集,例如Tkinter环境。
步骤102:构建基于深度强化学习算法实现的拥塞控制算法模型,所述拥塞控制算法模型的输入包括所述网络环境的数据集。
本申请所提出的网络拥塞控制算法以传统控制算法BBR为指导,结合了基于双向长短期记忆网络(Bi-LSTM)的深度强化学习算法,对网络状态进行检测,并做出对应的决策动作,从而实现网络拥塞状态的缓解与控制,基于BBR和深度强化学习的网络拥塞控制方法的原理图可见图2。
在一个示意性的示例中,所述构建基于深度强化学习算法实现的拥塞控制算法模型,可以包括:构建包含智能体和网络环境的拥塞控制算法模型,其中,所述网络环境的数据集所对应的网络状态作为所述智能体的输入,所述智能体依据所述网络状态做出决策动作实现与所述网络环境的交互,所述智能体还以所述网络环境对应的奖励函数作为输入,所述智能体采用的神经网络为深度强化华学习算法。
具体的,结合图2,拥塞控制算法模型中主要涉及状态空间(状态空间指的是需要监测的、可以反映网络状态的一些指标,比如丢包率、网络时延等)的设置、动作的决策、奖励函数的定义以及智能体中神经网络的选择。将网络环境中的数据集中的网络状态或状态信息作为智能体中的网络Bi-LSTM的输入去判断网络的实时状态并做出决策动作,当网络环境按照相应动作做出改变后,将计算一个奖励值来表征所执行动作的优劣,同时指导智能体的学习训练。
其中,关于状态空间:状态信息或环境状态是拥塞控制算法做出决策的依据,它反映了所构建算法所观察到的当前网络状态。当算法中输入的状态信息越多,性能也会越好,但考虑到模型需要更快的收敛速度达到最优策略,需要选择出具有代表性的状态空间。本申请将结合传统拥塞控制算法BBR的控制方式,使用带宽、排队时延QD和发送速率V作为对过去步骤的总结,但实际情况中并不限制为这几种参数。
关于决策动作:动作信息是拥塞控制算法做出决策后采取的行动,它通过调节发送速率来和网络环境进行交互。在最理想的情况下,我们希望拥塞窗口等于带宽延迟积,从而最大程度地利用网络。因此,动作信息是发送速率和拥塞窗口之间的离散变化关系。本文将采用和BBR一样的控制策略,即当发送速率增加或减少2.89倍或1.25倍的同时,拥塞窗口分别增加或减少2倍或1.25倍。其中,带宽延迟积指的是链路的带宽(每秒比特)与来回通信延迟(RTT,单位秒)的乘积,结果为比特的数据量,表示在特定时间该网络上的最大数据量(即已发送但尚未确认的数据)带宽时延乘积对网络性能的影响。一个例子中,开了100Mb的通信宽带,但由于中间一些路由器以及链路的瓶颈,导致ping对端主机的通信延迟为1s,对端的窗口大小为64kB,那么你的发包速度很快会占满窗口,必须等ACK(表示发来的数据已确认无误)回来才能重新发包,所以你的速度大概最高只能有64KB/S。将拥塞窗口大小设置为等于带宽延迟积,是希望在有通信延迟的情况下,尽量避免发包的等待,从而最大程度地利用网络。基于以上,所述智能体依据所述网络状态做出决策动作包括:控制拥塞窗口与带宽延迟积相同。
关于奖励函数:奖励函数是网络执行了拥塞控制算法所做的决策后可获得的标量奖励值,该值代表了所执行动作的性能。对于不同的网络环境,应设置不同的奖励值。本实现中,将网络状态分为启动、排空、带宽探测和时延探测四个阶段。由于任何状态均可进入时延探测状态,该状态不可作为衡量网络情况的状态。因此,本文将针对启动阶段、排空阶段和带宽探测阶段这三种网络环境设置不同的奖励函数,以辅助模型自适应地调节网络状态。
启动阶段:在启动阶段网络还没有经历过时延,发送速率应该以指数型增长趋势来探测网络的瓶颈带宽。因此,在所述网络状态为启动阶段时,奖励函数为发送速率的预设倍数。如果网络的发送速率的变化比率增大,所获得的奖励也应该增多,如公式1所示。
reward=5×ΔV (1)
其中,常数5用来帮助设置奖励的上限,V代表网络的发送速率。
排空阶段:当启动阶段的网络达到了瓶颈带宽后仍在发送报文,就会使网络缓存被填充,此时的网络进入了排空阶段。该阶段的主要任务是排空网络缓存中的报文,通过调整网络的发送速率,使得网络的排队时延不断减小,因此可以设置发送速率的变化比率和排队时延的差值来确定奖励值的大小,即在网络状态为排空阶段时,设置发送速率的变化比率和排队时延的差值来确定奖励函数,可见公式(2)。在发送速率的变化比率一定的情况下,当排队时延越小,奖励值越大。
reward=5×ΔV-0.5×QD (2)
其中,V代表网络的发送速率,QD为排队时延。
带宽探测阶段:当缓存中的报文全都被清理后,网络进入带宽探测阶段。该阶段是一种稳定状态,此时网络的带宽得到了充分利用,网络会偶尔进行小幅度的提速来探测是否还会有更大的带宽,所以该阶段的速度变化比率的增大对获得奖励的影响较小,反而如果发生延迟,则对获得奖励的影响非常大,因此可以通过调节二者的权重来实现对该状态的控制,即在带宽探测阶段时,通过调节发送速率的速度变化比率和奖励值的权重来确定奖励函数,其奖励函数见公式(3)。
reward=2×ΔV-1.5×QD (3)
关于智能体:智能体使用了神经网络来帮助我们做出正确的决策。在常用的深度强化学习算法中,常用前馈神经网络来实现,对于不同的输入特征,神经网络会给出不同的权重。但是,前馈神经网络只关注当前输入,遗忘了过去输入的历史状态,而网络的拥塞控制是一系列连续事件起的作用,拥塞控制算法采取的行动取决于以前采取过的行动。相比之下,循环神经网络(RNN)可以通过共享相同的参数实现对历史信息的读取,这一特点使得循环神经网络具有更大的优势。因此,本申请将采用RNN的变体双向长短期记忆网络(Bi-LSTM)作为神经网络模型进行训练。本申请所建立的智能体结构可见图3,包括eval_net和target_net两个网络。其中target_net为记忆网络不参与训练,eval_net为可训练的网络,训练2000轮得到的参数将直接赋值给target_net用于重复学习。eval_net的输入为当前时刻的状态信息和target_net中冻结了的参数q_target,eval_net的输出为表征下一时刻可选动作的概率值的参数信息;target_net的输入为下一时刻的状态信息,该网络不做训练。两个网络中均使用了两层双向长短期记忆网络(Bi-LSTM)作为特征提取工具,所设置的隐藏单元数为64。其中,Bi-LSTM由输入层、隐藏层、输出层构成。隐藏单元即为隐藏层状态的维度数,即隐藏层节点的个数,这个维数值可以自定义。前述隐藏单元的个数64是通过做实验对比得到,当隐藏单元数为64时,具有最短的收敛时间和最佳的策略选择,当然本申请对此不做限定。
步骤102后,进入步骤103。
步骤103:对所述拥塞控制算法模型进行训练,直至所述拥塞控制算法达到预设的收敛条件,得到拥塞控制算法结果模型。
在拥塞控制算法模型的训练中本申请只对eval_net进行训练,每隔500个回合,将eval_net得到的参数赋值给target_net。因此这两个网络的结构相同,参数不同。前者拥有最新的参数,后者拥有比较靠前的参数,这是一种打乱经历之间相关性的机理,使得网络的更新更有效率。其中,从开始训练到训练结束算一个回合,每个回合中又分很多换个批次。一个模型达到完全收敛需要多个回合的训练。
当拥塞控制算法模型训练结束,其达到收敛条件后,可以将得到的拥塞控制算法结果模型在不同的网络环境下进行测试,例如高度动态的链路环境,验证了所提算法的有效性。
步骤104:采用所述拥塞控制结果模型进行拥塞控制。
得到了最终的拥塞控制结果模型投入实际应用,实现网络拥塞的控制。
本申请实施例所述网络拥塞控制方法,以传统拥塞控制算法为指导,结合基于Bi-LSTM的深度强化学习算法的新型拥塞控制算法,克服了仅使用传统算法控制存在的无法动态感知网络状态、自适应地做出调整的缺陷,解决了仅使用基于深度强化学习算法易陷入局部最优和鲁棒性不强的问题。得到一种既可以自适应地调整网络信息,帮助大流量网络获得最大带宽的同时,避免和解决拥塞状态;又可以适应多种网络环境,具有较强的鲁棒性,能够满足当前环境下的网络拥塞控制需求。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
上述本申请公开的实施例中详细描述了方法,对于本申请的方法可采用多种形式的装置实现,因此本申请还公开了一种装置,下面给出具体的实施例进行详细说明。
图4为本申请实施例公开的一种网络拥塞控制装置的结构示意图,参见图4所示,网络拥塞控制装置40可以包括:
数据集获取模块401,用于通过网络仿真器仿真获取网络环境的数据集,不同的网络环境数据集对应不同的网络环境。
模型构建模块402,用于构建基于深度强化学习算法实现的拥塞控制算法模型,所述拥塞控制算法模型的输入包括所述网络环境的数据集。
模型训练模块403,用于对所述拥塞控制算法模型进行训练,直至所述拥塞控制算法达到预设的收敛条件,得到拥塞控制算法结果模型。
拥塞控制模块404,用于采用所述拥塞控制结果模型进行拥塞控制。
本实施例所述网络拥塞控制装置,由于基于网络环境进行决策控制,因此能够克服传统拥塞算法存在的无法动态感知网络状态、自适应的做出调整的缺陷;同时采用传统拥塞算法作为深度强化学习算法的指导,避免算法陷入局部最优,从而通过使用传统算法对当前网络状态的监测,利用深度强化学习算法进行智能决策,实现对大流量网络拥塞情况的智能控制。
一个实现中,所述网络环境的数据集中至少包括:固定的往返传播时间、固定或可变的网络带宽、队列大小、排队规则和随机丢包率的任意一种或几种。
一个实现中,所述模型构建模块具体用于:构建包含智能体和网络环境的拥塞控制算法模型,其中,所述网络环境的数据集所对应的网络状态作为所述智能体的输入,所述智能体依据所述网络状态做出决策动作实现与所述网络环境的交互,所述智能体还以所述网络环境对应的奖励函数作为输入,所述智能体采用的神经网络为深度强化华学习算法。
一个实现中,所述网络状态包括带宽、排队时延和数据的发送速率。
一个实现中,所述智能体依据所述网络状态做出决策动作包括:控制拥塞窗口与带宽延迟积相同。
一个实现中,所述网络状态包括启动阶段、排空阶段、带宽探测阶段和时延探测阶段,其中所述启动阶段、排空阶段和所述带宽探测阶段对应有不同的奖励函数。
一个实现中,在所述网络状态为启动阶段时,奖励函数为发送速率的预设倍数;在所述网络状态为排空阶段时,设置发送速率的变化比率和排队时延的差值来确定奖励函数;在所述带宽探测阶段时,通过调节发送速率的速度变化比率和奖励值的权重来确定奖励函数。
一个实现中,所述拥塞控制算法模型采用循环神经网络的变体双向长短期记忆网络作为神经网络模型。
上述实施例中的所述的任意一种网络拥塞控制装置包括处理器和存储器,上述实施例中的数据集获取模块、模型构建模块、模型训练模块、拥塞控制模块等均作为程序模块存储在存储器中,由处理器执行存储在所述存储器中的上述程序模块来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序模块。内核可以设置一个或多个,通过调整内核参数来实现回访数据的处理。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本申请实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现上述实施例中所述的网络拥塞控制方法。
本申请实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述实施例中所述的网络拥塞控制方法。
进一步,本实施例提供了一种电子设备,如图3所示,该电子设备30包括至少一个处理器301、以及与所述处理器连接的至少一个存储器302、总线303;其中,所述处理器301、所述存储器302通过所述总线303完成相互间的通信;处理器301用于调用所述存储器302中的程序指令,所述处理器配置为经由执行所述可执行指令来执行上述实施例中所述的网络拥塞控制方法。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (7)
1.一种网络拥塞控制方法,其特征在于,包括:
通过网络仿真器仿真获取网络环境的数据集,不同的网络环境数据集对应不同的网络环境;
构建基于深度强化学习算法实现的拥塞控制算法模型,所述拥塞控制算法模型的输入包括所述网络环境的数据集;
对所述拥塞控制算法模型进行训练,直至所述拥塞控制算法达到预设的收敛条件,得到拥塞控制算法结果模型;
采用所述拥塞控制结果模型进行拥塞控制;
所述构建基于深度强化学习算法实现的拥塞控制算法模型中的智能体依据网络状态做出决策动作,包括:控制拥塞窗口与带宽延迟积相同;
网络状态包括启动阶段、排空阶段、带宽探测阶段和时延探测阶段,其中所述启动阶段、排空阶段和所述带宽探测阶段对应有不同的奖励函数;
在所述网络状态为启动阶段时,奖励函数为发送速率的预设倍数,所述奖励函数依据reward=5×ΔV公式计算,reward为奖励函数,ΔV为发送速率;
在所述网络状态为排空阶段时,设置发送速率的变化比率和排队时延的差值来确定奖励函数,所述奖励函数依据reward=5×ΔV-0.5×QD公式计算,reward为奖励函数,ΔV为发送速率,QD为排队时延;
在所述带宽探测阶段时,通过调节发送速率的速度变化比率和奖励值的权重来确定奖励函数,所述奖励函数依据reward=2×ΔV-1.5×QD公式计算,reward为奖励函数,ΔV为发送速率,QD为排队时延。
2.根据权利要求1所述的网络拥塞控制方法,其特征在于,所述网络环境的数据集中至少包括:固定的往返传播时间、固定或可变的网络带宽、队列大小、排队规则和随机丢包率的任意一种或几种。
3.根据权利要求1所述的网络拥塞控制方法,其特征在于,所述构建基于深度强化学习算法实现的拥塞控制算法模型,包括:
构建包含智能体和网络环境的拥塞控制算法模型,其中,所述网络环境的数据集所对应的网络状态作为所述智能体的输入,所述智能体依据所述网络状态做出决策动作实现与所述网络环境的交互,所述智能体还以所述网络环境对应的奖励函数作为输入,所述智能体采用的神经网络为深度强化华学习算法。
4.根据权利要求3所述的网络拥塞控制方法,其特征在于,所述网络状态包括带宽、排队时延和数据的发送速率。
5.根据权利要求1所述的网络拥塞控制方法,其特征在于,所述拥塞控制算法模型采用循环神经网络的变体双向长短期记忆网络作为神经网络模型。
6.一种网络拥塞控制装置,其特征在于,包括:
数据集获取模块,用于通过网络仿真器仿真获取网络环境的数据集,不同的网络环境数据集对应不同的网络环境;
模型构建模块,用于构建基于深度强化学习算法实现的拥塞控制算法模型,所述拥塞控制算法模型的输入包括所述网络环境的数据集;所述构建基于深度强化学习算法实现的拥塞控制算法模型中的智能体依据网络状态做出决策动作,包括:控制拥塞窗口与带宽延迟积相同;
模型训练模块,用于对所述拥塞控制算法模型进行训练,直至所述拥塞控制算法达到预设的收敛条件,得到拥塞控制算法结果模型;
拥塞控制模块,用于采用所述拥塞控制结果模型进行拥塞控制;
网络状态包括启动阶段、排空阶段、带宽探测阶段和时延探测阶段,其中所述启动阶段、排空阶段和所述带宽探测阶段对应有不同的奖励函数;
在所述网络状态为启动阶段时,奖励函数为发送速率的预设倍数,所述奖励函数依据reward=5×ΔV公式计算,reward为奖励函数,ΔV为发送速率;
在所述网络状态为排空阶段时,设置发送速率的变化比率和排队时延的差值来确定奖励函数,所述奖励函数依据reward=5×ΔV-0.5×QD公式计算,reward为奖励函数,ΔV为发送速率,QD为排队时延;
在所述带宽探测阶段时,通过调节发送速率的速度变化比率和奖励值的权重来确定奖励函数,所述奖励函数依据reward=2×ΔV-1.5×QD公式计算,reward为奖励函数,ΔV为发送速率,QD为排队时延。
7.根据权利要求6所述的网络拥塞控制装置,其特征在于,所述模型构建模块具体用于:构建包含智能体和网络环境的拥塞控制算法模型,其中,所述网络环境的数据集所对应的网络状态作为所述智能体的输入,所述智能体依据所述网络状态做出决策动作实现与所述网络环境的交互,所述智能体还以所述网络环境对应的奖励函数作为输入,所述智能体采用的神经网络为深度强化华学习算法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110918502.2A CN113595923B (zh) | 2021-08-11 | 2021-08-11 | 一种网络拥塞控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110918502.2A CN113595923B (zh) | 2021-08-11 | 2021-08-11 | 一种网络拥塞控制方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113595923A CN113595923A (zh) | 2021-11-02 |
CN113595923B true CN113595923B (zh) | 2024-06-14 |
Family
ID=78257149
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110918502.2A Active CN113595923B (zh) | 2021-08-11 | 2021-08-11 | 一种网络拥塞控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113595923B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114047701B (zh) * | 2021-11-22 | 2023-08-11 | 广西电网有限责任公司电力科学研究院 | 一种智能传感器网络拥塞自适应模型预测控制方法 |
CN114745337B (zh) * | 2022-03-03 | 2023-11-28 | 武汉大学 | 一种基于深度强化学习的实时拥塞控制方法 |
CN114945004B (zh) * | 2022-05-23 | 2024-01-02 | 国网信息通信产业集团有限公司 | 拥塞控制方法、装置、电子设备及存储介质 |
US11979295B2 (en) | 2022-07-05 | 2024-05-07 | Zhejiang Lab | Reinforcement learning agent training method, modal bandwidth resource scheduling method and apparatus |
CN114866494B (zh) * | 2022-07-05 | 2022-09-20 | 之江实验室 | 强化学习智能体训练方法、模态带宽资源调度方法及装置 |
CN115865806A (zh) * | 2022-11-25 | 2023-03-28 | 新华三技术有限公司 | 一种拥塞控制方法、装置、电子设备及存储介质 |
CN116232998B (zh) * | 2022-12-28 | 2024-04-05 | 鹏城实验室 | 基于深度强化学习的网络拥塞控制方法、系统及相关设备 |
CN116915706B (zh) * | 2023-09-13 | 2023-12-26 | 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) | 数据中心网络拥塞控制方法、装置、设备及存储介质 |
CN117651024A (zh) * | 2023-12-01 | 2024-03-05 | 北京基流科技有限公司 | 一种预测数据中心网络链路拥塞的方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113207147A (zh) * | 2021-03-16 | 2021-08-03 | 网络通信与安全紫金山实验室 | 基于深度强化学习的mptcp拥塞控制方法及其存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7778265B2 (en) * | 2008-06-04 | 2010-08-17 | Lockheed Martin Corporation | Method and apparatus for local adaptive provisioning at a node |
CN113114581A (zh) * | 2021-05-14 | 2021-07-13 | 南京大学 | 基于多智能体深度强化学习的tcp拥塞控制方法及装置 |
-
2021
- 2021-08-11 CN CN202110918502.2A patent/CN113595923B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113207147A (zh) * | 2021-03-16 | 2021-08-03 | 网络通信与安全紫金山实验室 | 基于深度强化学习的mptcp拥塞控制方法及其存储介质 |
Non-Patent Citations (1)
Title |
---|
Congestion Control and Packet Scheduling for Multipath Real Time Video Streaming;SONGYANG ZHANG 等;《IEEE ACCESS》;说明书第IV.A节 * |
Also Published As
Publication number | Publication date |
---|---|
CN113595923A (zh) | 2021-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113595923B (zh) | 一种网络拥塞控制方法及装置 | |
La et al. | Utility-based rate control in the Internet for elastic traffic | |
JPH03174848A (ja) | コンピュータ回路網における遅延ベース混雑回避方法及び装置 | |
CN113259255B (zh) | 一种网络拥塞控制方法、装置、终端及存储介质 | |
US20130039209A1 (en) | Data transfer | |
CN102592171A (zh) | 基于bp神经网络的认知网络性能预测方法及装置 | |
CN115499376B (zh) | 一种负载均衡方法、系统、电子设备及存储介质 | |
CN113315716A (zh) | 拥塞控制模型的训练方法和设备及拥塞控制方法和设备 | |
CN114866489A (zh) | 拥塞控制方法和装置及拥塞控制模型的训练方法和装置 | |
CN113114581A (zh) | 基于多智能体深度强化学习的tcp拥塞控制方法及装置 | |
CN112383485B (zh) | 一种网络拥塞控制方法及装置 | |
CN106936730A (zh) | 一种报文发送方法、tcp代理以及tcp客户端 | |
Razmara et al. | A Hybrid Neural Network Approach for Congestion Control in TCP/IP Networks | |
Bai et al. | RNN-based approach to TCP throughput prediction | |
Badarla et al. | Learning-TCP: A stochastic approach for efficient update in TCP congestion window in ad hoc wireless networks | |
CN116192766A (zh) | 用于调整数据发送速率和训练拥塞控制模型的方法及装置 | |
CN113556780B (zh) | 一种拥塞控制方法及装置 | |
Gao et al. | Quasiperiodic route to chaotic dynamics of Internet transport protocols | |
Zhang et al. | LearningCC: An online learning approach for congestion control | |
CN114500383B (zh) | 天地一体化信息网络智能拥塞控制方法、系统及介质 | |
CN114362892B (zh) | 基于CoAP的物联网重传超时更新方法、装置及介质 | |
Tsai et al. | A Transmission Control Protocol with High Throughput of Using Low Earth-Orbit Satellite to Collect Data from the Floats on Sea Surface | |
CN114567597B (zh) | 一种物联网中基于深度强化学习的拥塞控制方法及装置 | |
Shirazi | Smart Congestion Control in TCP/IP Networks | |
Sundaram et al. | GA-based PI-PD controller for TCP routers |
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 |