CN113315715B - 基于qmix的分布式网内拥塞控制方法 - Google Patents
基于qmix的分布式网内拥塞控制方法 Download PDFInfo
- Publication number
- CN113315715B CN113315715B CN202110370309.XA CN202110370309A CN113315715B CN 113315715 B CN113315715 B CN 113315715B CN 202110370309 A CN202110370309 A CN 202110370309A CN 113315715 B CN113315715 B CN 113315715B
- Authority
- CN
- China
- Prior art keywords
- switch
- agent
- network
- qmix
- algorithm
- 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 34
- 238000012549 training Methods 0.000 claims abstract description 28
- 230000002787 reinforcement Effects 0.000 claims abstract description 14
- 239000003795 chemical substances by application Substances 0.000 claims description 68
- 230000006870 function Effects 0.000 claims description 39
- 230000009471 action Effects 0.000 claims description 28
- 230000009916 joint effect Effects 0.000 claims description 14
- 230000005540 biological transmission Effects 0.000 claims description 10
- 238000005457 optimization Methods 0.000 claims description 9
- 230000008859 change Effects 0.000 claims description 8
- 230000003993 interaction Effects 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 8
- 238000013528 artificial neural network Methods 0.000 claims description 7
- 238000005070 sampling Methods 0.000 claims description 5
- 238000009472 formulation Methods 0.000 claims description 4
- 239000000203 mixture Substances 0.000 claims description 4
- 230000000694 effects Effects 0.000 abstract description 9
- 230000007547 defect Effects 0.000 abstract 1
- 230000000875 corresponding effect Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 5
- 230000004083 survival effect Effects 0.000 description 5
- 230000001276 controlling effect Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000004880 explosion Methods 0.000 description 3
- 238000011144 upstream manufacturing Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 239000000654 additive Substances 0.000 description 2
- 230000000996 additive effect Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002028 premature Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000007704 transition Effects 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
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种基于QMIX的分布式网内拥塞控制方法,本发明通过直接将相关方法部署在网内的三层交换机中,进行数据包的调度与拥塞控制来克服上述传统技术的缺点,同时进一步提升了拥塞控制效果。本发明受到近年来,多智能体系统控制领域中的分布式强化学习方法的启发,采用多智能体强化学习方法中的集中式训练,分布式执行的算法框架,将QMIX算法直接在交换机内部实现,在快速响应毫秒级流量波动的同时,又做到了各交换机之间的协调控制,从而达到稳定的全局最优系统状态,进行网络拥塞控制。利用日趋成熟的多智能体深度强化学习方法来解决传统网络拥塞问题。
Description
技术领域
本发明涉及网络资源技术领域,尤其涉及一种基于QMIX的分布式网内拥塞控制方法。
背景技术
近年来,随着网络结构的规模与复杂性不断提高,由于流量波动导致的网络拥塞问题也越来越严重,对于此,目前常见的解决方法是将网络资源超额配置,以适应最坏情况的拥塞状况(比如链路利用率仅为30%左右)。网络运营商迫切需要制定和实施有效的拥塞控制方案,以提高网络的利用率并降低成本。拥塞控制的核心思想为当某段网络产生拥塞时,减少向该段网络发送数据的速度,防止造成恶性循环;同时在某段网络空闲时,提高向该段网络发送数据的速度,最大限度地利用网络资源。网络流量需求和波动在不同的时间尺度上各不相同,从年尺度到毫秒尺度,不同尺度的流量波动对应着不同的拥塞控制方法。例如在秒的时间尺度下,网络运营商可以通过流量工程(traffic engineering)的方法来平衡流量负载以避免拥堵。流量工程将网络视为一个“可控的交通系统”,即在复杂的网络环境中,控制关键业务作用在最可靠的链路上,来保证服务质量;当某段网络产生拥塞,其还可以动态调整网络的负载均衡,使阻塞链路的流量转移、分流到那些没有被充分利用的链路上去。
除此之外,现阶段的拥塞控制方法大多部署在终端主机中,使用网络反馈信号来调整传输速率,例如在TCP/IP模型中采用的“加性增加/乘法减少”(AIMD)方法,该方法通过拥塞窗口来调整传输速率,“乘法减小”指的是无论是在慢开始阶段还是在拥塞避免阶段,只要发送方判断网络出现拥塞,就把慢开始门限设置为出现拥塞时的发送窗口大小的一半,并执行慢开始算法;“加法增大”是指执行拥塞避免算法后,使拥塞窗口缓慢增大,以防止过早出现拥塞。
然而,在包括上文提及的两种方法在内的相关文献中,作者针对现有的拥塞控制解决方案进行了全面的综合性调研,其结果为:从拥塞控制的效率角度而言,现有的解决方法均需要很长的收敛时间才能达到最优效果;而从流量波动造成拥塞的时间尺度角度而言,现有技术也难以对毫秒级别的微爆流量及时检测和响应。因此,上述提及的拥塞控制方法均难以达到较为理想的效果。
近年来,随着可编程交换机和智能网络接口控制器(NIC)的发展,研究人员可以使用灵活的网络设备来进行流量负载均衡,调整终端主机的传输速率和直接在网内进行数据包的调度。与传统的终端主机解决方案相比,基于网内调整的方案更高效也更灵活,因此能够快速适应以毫秒为单位的流量波动。
发明内容
为此,在本发明中我们针对10到100毫秒的时间尺度上发生的波动,实现了一种将分布式多智能体深度强化学习QMIX算法,直接作用于网络内部的三层交换机中,以进行拥塞控制的解决方案。在仿真软件Omnet++上进行了网络模型建模,并将上述方法以及相关对照实验与网络模型进行了结合、对比,以评估我们提出的方法的拥塞控制效果。
1.基于QMIX的分布式网内拥塞控制方法,其特征在于,包括:
一、系统模型的构建,采用三层交换机作为基本组件进行建模;每个交换机rt都有一组输入端口和一组输出端口/>因此每个输入端口(输出端口)都唯一对应一个源-目的对路径i,规定每个交换机都有且只有两个输出端口。在此基础上,每个输入端口都对应着到达速率,记为/>每个输出端口都对应着服务速率,记为/>同时规定每个交换机都有一个“去尾”(Drop Tail)队列,其容量为/>认为所有交换机缓冲队列的最大容量均为/>设交换机缓存队列当前容量与最大容量的比值为/>
二、优化目标的公式化表述,优化目标包括两方面:
(1)减少所有交换机的全部输入端口的到达速率随时间变化而产生的均方差;
(2)减小平均队列长度的均方差;
三、多智能体深度强化学习算法的设计,采用QMIX算法进行网内拥塞控制;采用一个混合网络对单智能体局部值函数进行合并,使其整体的联合动作值函数与各个智能体的局部动作值函数单调性相同,因此对各个智能体局部值函数取最大,也能使联合动作值函数最大,主要体现在对联合动作值函数取argmax得到的联合动作,等价于对每个局部动作值函数取argmax得到的各智能体动作集合,其公式如下:
而每个智能体的分布式策略,就是基于贪心思想选取局部Q值最大对应的动作,QMIX算法将其转化为一种单调性约束,其公式表述如下:
四、算法与系统模型的交互,首先,环境根据当前系统状态St,为智能体提供联合状态智能体获取各自的状态/>基于各自的决策函数选择动作/>形成联合动作/>上述动作会影响环境,产生新的系统状态St+1以及新的联合观测状态/>同时还会在python端生成单步联合奖励值/> 元组形成一条经验,存储在经验库中。最后,集中式的训练中心对离线经验库进行批量为b的随机采样,通过全局Q值,根据下列更新公式进行神经网络参数更新:
QMIX算法的参数的更新公式如下:
训练过程中的误差函数为(其中b是离线经验库的批量采样大小):
进一步地,所述系统模型对每个智能体的状态空间定义如下:
对每个智能体的状态动作空间定义如下:
对当前交换机rt而言,代表经过第一个输出端口向下游相邻交换机发送的数据包数量,而/>代表经过其第二个输出端口向下游相邻交换机发送的数据包数量;而分别代表其第一、二个输出端口的服务周期,即服务速率的倒数,此处采用服务周期。
进一步地,所述集中式的训练中心会周期性地对所有的交换机,广播发送消息报文,只不过该报文仅用于收集各智能体的状态信息,其发送周期即式29中的基准服务周期act*,对每个智能体的单步奖励函数设置如下:
其中,是到第i个相邻交换机的端口的服务周期,act*代表到训练中心的端口的服务周期,该参数同样为训练中心和交换机进行消息报文交互的,基准服务周期数值;
代表本交换机的队列长度,Oi[0]代表第i个相邻交换机的队列长度,最后代表发往对应第i个相邻交换机的数据包的数量。
附图说明
下面结合附图和具体实施方法对本发明做进一步详细的说明。
图1为本发明中采用QMIX算法控制网络拥塞的完整训练过程流程图;
图2为本发明中系统模型的网络拓扑结构基本示意图;
图3为本发明中交换机协同工作控制网络拥塞的示意图;
图4为本发明中QMIX算法中各智能体的神经网络结构示意图;
图5为本发明中QMIX算法的混合网络结构示意图;
图6为本发明中QMIX算法时算法与模型的交互示意图;
图7为本发明中实验最大队列长度曲线示意图;
图8为本发明中实验平均队列长度曲线示意图;
图9为本发明中实验网络平均生存时间曲线示意图。
具体实施方式
为了使本发明的目的和优点更加清楚明白,下面结合实施例对本发明作进一步描述;应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。
下面参照附图来描述本发明的优选实施方式。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非在限制本发明的保护范围。
需要说明的是,在本发明的描述中,术语“上”、“下”、“左”、“右”、“内”、“外”等指示的方向或位置关系的术语是基于附图所示的方向或位置关系,这仅仅是为了便于描述,而不是指示或暗示所述装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,还需要说明的是,在本发明的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域技术人员而言,可根据具体情况理解上述术语在本发明中的具体含义。
本发明的根本目的在于利用多智能体深度强化学习算法,对多个分布式交换机组成的网络环境进行网络的拥塞控制,该控制方案有着拥塞控制效率高、能够针对毫秒级微爆流量进行检测和处理的优点。我们从工程实现的角度,对系统模型构建、优化目标的公式化表述、多智能体深度强化学习算法的设计、算法与系统模型的交互这四个方面进行详细说明。
(1)系统模型的构建
请参阅图2所示,考虑到本工程的网络拓扑结构应重点突出多个交换机之间的协同、流量控制,而弱化关于IP地址、组网划分等问题,因此我们采用三层交换机作为基本组件进行建模;
规定该网络拓扑结构由一组交换机R、一组有向链路L组成,即N=(R,L),由于训练中心C仅作为数据的收集与交换的媒介,故我们不认为其属于实际网络拓扑结构的一部分,也不对经过其的流量进行控制。其中,r1,r2,r3,r4为三层交换机(rt∈R),与之相对的,每个交换机rt都对应一组源-目的的路径对以从r1为源点的源-目的路径对为例,其包括两条路径,i=1的路径目的点为r2,i=2的路径目的点为r4。值得注意的是,为了缓解流量波动,我们在每个交换机中设置了缓存队列模型。
在上述网络模型中,我们认为每个交换机rt都有一组输入端口和一组输出端口因此每个输入端口(输出端口)都唯一对应一个源-目的对路径i,规定每个交换机都有且只有两个输出端口。在此基础上,每个输入端口都对应着到达速率,记为/>每个输出端口都对应着服务速率,记为/>
式1表示对交换机rt的全部输入端口的到达速率之和(其中),式2表示对交换机rt的全部输出端口的服务速率之和(其中/>):
需要注意的是,各个输入端口的到达速率都应小于等于链路总容量:
我们认为对交换机rt而言,每个输出端口和其对应的源-目的对路径i都有着特定的流量分割比率,记为并满足下式:
对于交换机rt的任意源-目的路径对式5描述了其对应的输入端口到达速率/>在该交换机的全部输入端口的总到达速率之和中所占的比例;式6描述了其相关的输入端口和输出端口之间的关系
综上所述,如式7,若该网络系统的所有输入端口总到达速率以及所有输出端口总服务速率相等,则我们认为网络状况良好,否则将可能出现丢包或网络拥塞的情况。
考虑到在本文中,我们的研究重点为10到100毫秒的时间尺度上发生的微流量波动,因此设置波动变量dx,其中Δdx(t)可以用任何相互独立且均匀分布的随机变量代替表示,例如正态分布和泊松分布。通过式8和式9描述某条源-目的路径对i的到达速率和服务速率波动性;通过式10和式11描述对某交换机rt全部端口的到达速率和服务速率的波动性:
此外,为进一步解决网络拥塞问题,尤其是考虑到当今实际网络系统中,毫秒级流量波动导致的网络拥塞,我们在各交换机上应用缓冲队列以使流量波动平滑化:数据包可以在拥塞发生的期间进行缓存,并在其他时间释放,以避免拥塞和丢包。
规定每个交换机都有一个“去尾”(Drop Tail)队列,其容量为认为所有交换机缓冲队列的最大容量均为/>设交换机缓存队列当前容量与最大容量的比值为/>该队列具有先进先出的性质,若数据包到达时,队列缓存已满,则会进行丢包(此时我们认为产生了网络拥塞)。缓冲队列长度随时间的变化可通过下式表示:
因此,队列长度的变化率为:
考虑到Omnet++是离散时间序列的仿真软件,我们将时间进行离散化,这也便于控制每个输出端口的服务速率,因此,最终,队列长度的变化如下式所述:
其中,τ代表离散采样间隔,n代表当前离散时间。
(2)优化目标的公式化表述
请参阅图3所示,如前文所述,交换机中的队列缓存机制可以使到达速率的瞬时峰值平滑。但是,作为一个多代理系统,交换机需要协同工作来控制整个网络的拥塞。例如,假设上游交换机r1和下游交换机r2的输出端口最大服务速率分别为和两者的队列最大容量/>而r1的到达速率为23Mbps,标准偏差为3Mbps。则在峰值流量时,r1的到达速率将为26Mbps,小于其最大服务速率/>但大于r2的最大服务速率/>如果r1将服务速率设置为26Mbps,则r2的队列将很快存满。此时,为防止网络拥塞,需要做的调整是降低r1的服务速率,以减轻下游交换机r2的处理压力(即在r1的输入端口的到达速率不变情况下减小其输出端口的服务速率)。
虽然降低上游交换机的服务速率可以缓解下游交换机的拥塞压力,但与此同时,过低的服务速率会导致过大的传输延迟,甚至会造成上游交换机的丢包(如上例中的交换机r1在长时间低服务率状态下运行,将导致队列缓存空间不足,导致丢包拥塞)。综上,为了增强整个网络的实用性,我们将优化问题的目标函数构造为:
上式表明,优化目标包括两方面:
①减少所有交换机的全部输入端口的到达速率随时间变化而产生的均方差,这将使得所有输入端口的到达速率尽可能保持一致,宏观表现为全网络系统的流量需求尽可能平稳地变化;
②减小平均队列长度的均方差,即我们希望最大程度地减少交换机的额外传输延迟,通过合理地对网内各交换机的缓存队列进行协调控制,减少局部缓冲队列过长的情况发生,推迟网络拥塞的发生时间。
(3)多智能体深度强化学习算法的设计
在本发明中,我们采用QMIX算法进行网内拥塞控制。以下对于其基础结构与在本文中的详细设置进行说明。
QMIX属于多智能体强化学习算法,其相关概念是对单智能体概念的扩展。对于各个智能体i∈1...n,他们都有各自的动作空间集合A1...An以及状态空间集合O1...On。只有当所有智能体都根据其当前决策函数,针对观测值采取新的动作/>的情况下,系统环境状态才会从St转化为下一时刻St+1,而各智能体才可得到新的单步奖励值/>以及新的局部观测值/>认为每个智能体的动作-观测历史序列为:
并规定,每个智能体的分布式策略为:πi(τi),其局部动作值函数为:Qi(τi,ai)。因此这二者都与动作-观测历史有关,而非仅仅是与当前时刻下的状态观测值有关。与之相对的,每个智能体的神经网络结构都在原DQN神经网络结构的基础上有所更改:采用LSTM层替换原卷积层之后的一个全连接层,来达到能够记忆历史状态的作用,因此可以在部分可观的情况下提高算法性能,
请参阅图4所示,所有智能体的联合动作-观测历史序列为:
τall=(τ1,…,τn), (17)
aall=(a1,…,an), (18)
QMIX算法采用集中式学习,分布式执行应用的框架。通过集中式的信息学习,得到每个智能体的分布式策略。其采用一个混合网络对单智能体局部值函数进行合并,使其整体的联合动作值函数与各个智能体的局部动作值函数单调性相同,因此对各个智能体局部值函数取最大,也能使联合动作值函数最大,主要体现在对联合动作值函数取argmax得到的联合动作,等价于对每个局部动作值函数取argmax得到的各智能体动作集合,其公式如下:
而每个智能体的分布式策略,就是基于贪心思想选取局部Q值最大对应的动作,QMIX算法将其转化为一种单调性约束,其公式表述如下:
请参阅图5所示,图5-1表示QMIX的混合网络结构,它将各个单智能体的局部Q值作为输入,为了满足单调性,混合网络的所有权值都是非负数;而在其中还输入了系统的环境状态St,以更多利用系统的状态信息。此外,还通过线性网络、绝对值激活函数和ReLU激活函数等来实现权值的非负性以及网络的非线性映射。最终,图5-2表示该混合网络的整体结构。此外,QMIX算法还在训练学习过程中加入了全局状态信息的辅助,来提高算法性能。图5-3为各单智能体改进后的神经网络结构(详细结构如图4所示),其输出为拟合可得到局部Q值Qi(τi,ai);
QMIX算法的参数的更新公式如下:
训练过程中的误差函数为(其中b是离线经验库的批量采样大小):
综上所述,QMIX算法最大的优点是在满足集中式训练,分布式执行框架的基础上,通过混合网络结构巧妙地解决了多智能体之间的协作问题,使其满足了单调性约束,从而使得集中式训练产生的全局联合动作就对应着各智能体的局部最优动作。
此外,该算法需要与第1部分的网络模型环境相交互才能进行训练,并影响环境,进行拥塞控制。针对本文中的网络模型,对每个智能体的状态空间定义如
式24,动作空间定义如式25:
对当前交换机rt而言,代表经过第一个输出端口向下游相邻交换机发送的数据包数量,而/>代表经过其第二个输出端口向下游相邻交换机发送的数据包数量;而分别代表其第一、二个输出端口的服务周期,即服务速率的倒数,此处采用服务周期而非服务速率,是为方便程序的实现而进行的设计。此外,由于本文旨在针对毫秒级微爆流量所引发的网络拥塞进行控制,因此有如下设定:
交换机的服务周期均在0至1秒之间,即每条报文发送的间隔均在毫秒级尺度上发生变化。考虑多智能体环境,则联合状态空间定义如式27,联合动作空间定义如式28:
除此之外,奖励函数的设计是另一个关键部分。奖励函数能够直接影响智能体的算法收敛性。适当的奖励函数可以加快训练过程,并使得智能体的策略更合理。对每个智能体的单步奖励函数设置如下:
其中,是到第i个相邻交换机的端口的服务周期,act*代表到训练中心的端口的服务周期,该参数同样为训练中心和交换机进行消息报文交互的,基准服务周期数值。代表本交换机的队列长度,Oi[0]代表第i个相邻交换机的队列长度,最后/>代表发往对应第i个相邻交换机的数据包的数量。
上式意义为:对当前交换机rt,若第i个邻居的队列长度大于其自身的队列长度,增大对应端口的服务周期(即减小服务速率),将降低邻居交换机拥塞发生率,因此可使得奖励值增大;同理,当第i个邻居的队列长度小于其自身的队列长度时,减小对应端口的服务周期(即增大服务速率),将降低自身拥塞发生率,因此可使得奖励值增大。相反的动作则会取得负的奖励值。此外,为已经发往第i个邻居的数据包数量,其意义为权重因子,随着该参数的逐渐增大,奖励函数将对前两项乘积的结果逐渐敏感,因为临近拥塞时刻的流量控制更为关键。该奖励函数的设计也符合式15的优化目标。
多智能体的联合单步奖励值如下:
(4)算法与系统模型的交互
对于基于Omnet++端的环境和基于python端的算法之间的交互方式进行介绍。Omnet++是一款可扩展的、模块化的、基于c++模拟库组件的网络仿真软件,其提供了基于Eclipse的IDE,并具备开源、可扩展以及组件化等良好性质。
由于深度强化学习算法采用训练的方式,通过与网络环境进行交互来实时调整各L3层交换机的输出端口服务速率,以达到缓和毫秒级流量波动,从而推迟网络拥塞发生时间,提高网络的生存时间以及资源利用率的目的,因此,当采用多智能体QMIX算法时,请参阅图5:
蓝色虚线框代表Omnet++端的环境,橙色虚线框代表python端的QMIX算法。首先,环境根据当前系统状态St,为智能体提供联合状态智能体获取各自的状态/>基于各自的决策函数选择动作/>形成联合动作/>上述动作会影响环境,产生新的系统状态St+1以及新的联合观测状态/>同时还会在python端生成单步联合奖励值/> 元组形成一条经验,存储在经验库中。最后,集中式的训练中心对离线经验库进行批量为b的随机采样,通过全局Q值,根据式21至式23的系列更新公式进行神经网络参数更新。
值得注意的是,各智能体在交互过程中对环境产生的影响,具体表现作用于各交换机的输出端口的服务速率变化,即式25所表达的内容。此外,在Omnet++端,联合观测状态的生成是由训练中心得到的,此网络环境中的训练中心同图2中的训练中心C相同,仅作为数据的收集与交换的媒介,而实际不属于网络拓扑结构的一部分。训练中心会周期性地对所有的交换机,广播发送消息报文,只不过该报文仅用于收集各智能体的状态信息,其发送周期即式29中的基准服务周期act*。
请参阅图1所示,图1中给出了对于上述网络环境,QMIX算法完整训练过程的伪代码(设最大训练轮次为MAXepisode,最大单轮次训练步数为MAXstep)
基于上文提到的网络系统模型,我们采用QMIX分布式多智能体深度强化学习方法、作为对照组的DDQN单智能体深度强化学习方法以及固定服务速率的基础对照组这三个方法进行一系列的网络拥塞效果对比分析,以验证我们提出的基于多智能体深度强化学习的网内拥塞控制方法的效果。
(1)最大队列长度
请参阅图7所示,对于最大队列长度,我们统计在最后一轮训练(第15000轮)及其附近20轮的各交换机中,最大的缓冲队列长度随训练步数的平均变化情况,即斜率情况。
首先,固定服务速率的基础对照组在第14个训练步数就达到了缓冲队列的最大容量认为此时发生了网络拥塞。单智能体DDQN算法在第16个训练步数时就发生了网络拥塞;而对于QMIX算法的最大队列长度曲线,其斜率较上述两者更小,且最终直到约20个训练步数时才发生网络拥塞,因此其减缓网络拥塞发生的控制效果是比较明显的。
(2)平均队列长度
请参阅图8所示,对于平均队列长度曲线,我们主要考察随着网络流量波动的累计增大,各交换机能够利用缓存队列进行流量负载均衡,以推迟网络拥塞发生的能力。因此,每个训练轮次中,最后一个训练时刻(即发生拥塞的时刻)对应的各交换机的平均队列长度是最有意义的统计量。在图9中,我们以每100轮为一个周期,对上述统计量计算累计平均值。
同样,针对这一指标,单智能体的DDQN算法仍表现出较低的性能,其与固定服务速率的基础对照组平均队列长度曲线非常接近,且该算法的平均队列长度随着训练轮次的增长较慢,最终收敛时的数值仅达到约650,而基础对照组的平均队列长度约为630,二者差异很小,这表明其难以有效利用各交换机的缓存队列进行流量负载均衡,这也进一步反应了单智能体算法的局部“自私”行为无法达到良好的全局状态;而QMIX算法的平均队列长度曲线虽然和图5-1的累计奖励值曲线相似,波动性较大,但其总体随着训练轮次的增加而逐步上升,尤其是当训练轮次达到约13500时,QMIX算法达到收敛,其平均队列长度也有较大的增长,最终这一数值可以达到约875。
因此,对于DDQN算法和基础对照组,我们认为其缓存队列的平均利用率约为:
而QMIX算法的缓存队列平均利用率约为:
所以,QMIX算法的缓存队列平均利用率比DDQN算法和基础对照组增长了约22.5%,表明其能够更好地在网络流量波动情况严重时,利用各交换机的缓存队列进行流量均衡,推迟网络拥塞发生。
(3)网络平均生存时间
请参阅图9所示,在本实验中,我们利用单轮训练的总训练步数来反应本轮的网络生存时间,虽然训练步数不能精确对应于具体时间尺度,但通过对比该参数在不同算法上,随着训练轮次产生的变化曲线,可以衡量其拥塞控制效果。各算法的曲线图波动情况同图9的曲线波动情况十分一致,这也证明网络生存时间与各交换机利用缓存队列进行流量均衡的能力是正相关的。
固定服务速率的基础对照组的网络平均生存时间约为14,而DDQN算法的网络生存时间同样并未随训练轮次的增大而产生明显的增长,其最终收敛数值约为14.5;QMIX算法的网络平均生存时间同样波动性较大,但总体呈上升趋势,最终收敛数值约为19.5,相比基础对照组约提高了39%,而相比DDQN算法约提高了35%,这再次证明该算法能够有效增长网络的平均生存时间,推迟拥塞发生。
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征做出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。
以上所述仅为本发明的优选实施例,并不用于限制本发明;对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (2)
1.基于QMIX的分布式网内拥塞控制方法,其特征在于,包括:
一、系统模型的构建,采用三层交换机作为基本组件进行建模;每个交换机rt都有一组输入端口和一组输出端口/>因此每个输入端口和输出端口都唯一对应一个源-目的对路径i,规定每个交换机都有且只有两个输出端口;在此基础上,每个输入端口都对应着到达速率,记为/>每个输出端口都对应着服务速率,记为/>同时规定每个交换机都有一个“去尾”队列,其容量为/>认为所有交换机缓冲队列的最大容量均为/>设交换机缓存队列当前容量与最大容量的比值为/>
二、优化目标的公式化表述,优化目标包括两方面:
(1)减少所有交换机的全部输入端口的到达速率随时间变化而产生的均方差;
(2)减小平均队列长度的均方差;
三、多智能体深度强化学习算法的设计,采用QMIX算法进行网内拥塞控制;采用一个混合网络对单智能体局部值函数进行合并,使其整体的联合动作值函数与各个智能体的局部动作值函数单调性相同,因此对各个智能体局部值函数取最大,也能使联合动作值函数最大,主要体现在对联合动作值函数取argmax得到的联合动作,等价于对每个局部动作值函数取argmax得到的各智能体动作集合,其公式如下:
其中,τall表示各智能体集合,aall表示各动作体集合;
而每个智能体的分布式策略,就是基于贪心思想选取局部Q值最大对应的动作,QMIX算法将其转化为一种单调性约束,其公式表述如下:
四、算法与系统模型的交互,所述系统模型对每个智能体的状态空间定义如下:
对每个智能体的状态动作空间定义如下:
对当前交换机rt而言,代表经过第一个输出端口向下游相邻交换机发送的数据包数量,而/>代表经过其第二个输出端口向下游相邻交换机发送的数据包数量;而分别代表其第一、二个输出端口的服务周期,即服务速率的倒数,此处采用服务周期;
首先,环境根据当前系统状态St,为智能体提供联合状态智能体获取各自的状态/>基于各自的决策函数选择动作/>形成联合动作/>上述动作会影响环境,产生新的系统状态St+1以及新的联合观测状态/>同时还会在python端生成单步联合奖励值元组形成一条经验,存储在经验库中;最后,集中式的训练中心对离线经验库进行批量为b的随机采样,通过全局Q值,根据下列更新公式进行神经网络参数更新:
QMIX算法的参数的更新公式如下:
训练过程中b是离线经验库的批量采样大小,其具体误差函数为:
2.根据权利要求1所述的基于QMIX的分布式网内拥塞控制方法,其特征在于,所述集中式的训练中心会周期性地对所有的交换机,广播发送消息报文,只不过该报文仅用于收集各智能体的状态信息,其发送周期即式29中的基准服务周期act*,对每个智能体的单步奖励函数设置如下:
其中,是到第i个相邻交换机的端口的服务周期,act*代表到训练中心的端口的服务周期,该参数同样为训练中心和交换机进行消息报文交互的,基准服务周期数值;
代表本交换机的队列长度,Oi[0]代表第i个相邻交换机的队列长度,最后/>代表发往对应第i个相邻交换机的数据包的数量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110370309.XA CN113315715B (zh) | 2021-04-07 | 2021-04-07 | 基于qmix的分布式网内拥塞控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110370309.XA CN113315715B (zh) | 2021-04-07 | 2021-04-07 | 基于qmix的分布式网内拥塞控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113315715A CN113315715A (zh) | 2021-08-27 |
CN113315715B true CN113315715B (zh) | 2024-01-05 |
Family
ID=77371946
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110370309.XA Active CN113315715B (zh) | 2021-04-07 | 2021-04-07 | 基于qmix的分布式网内拥塞控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113315715B (zh) |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001036575A (ja) * | 1999-07-16 | 2001-02-09 | Keiogijuku | ネットワーク流量コントロール法 |
US6965943B1 (en) * | 1999-06-05 | 2005-11-15 | Lucent Technologies Inc. | End-to-end internet control |
CN104811336A (zh) * | 2015-04-02 | 2015-07-29 | 南京邮电大学 | 基于智能优化的分布式网络流量预测方法 |
CN107888412A (zh) * | 2016-11-08 | 2018-04-06 | 清华大学 | 多智能体网络有限时间包容控制方法及装置 |
CN107948083A (zh) * | 2017-11-07 | 2018-04-20 | 浙江工商大学 | 一种基于增强学习的sdn数据中心拥塞控制方法 |
WO2018150223A1 (en) * | 2017-02-14 | 2018-08-23 | Telefonaktiebolaget Lm Ericsson (Publ) | A method and system for identification of traffic flows causing network congestion in centralized control plane networks |
WO2018225039A1 (en) * | 2017-06-09 | 2018-12-13 | Telefonaktiebolaget Lm Ericsson (Publ) | Method for congestion control in a network |
WO2019026684A1 (ja) * | 2017-08-04 | 2019-02-07 | 日本電信電話株式会社 | 経路制御方法及び経路設定装置 |
CN110581808A (zh) * | 2019-08-22 | 2019-12-17 | 武汉大学 | 一种基于深度强化学习的拥塞控制方法及系统 |
CN111526036A (zh) * | 2020-03-20 | 2020-08-11 | 西安电子科技大学 | 一种短流量实时性优化方法、系统、网络传输终端 |
WO2020181761A1 (zh) * | 2019-03-11 | 2020-09-17 | 江苏君英天达人工智能研究院有限公司 | 一种sdn增强路径装箱装置及方法 |
CN111817975A (zh) * | 2020-07-23 | 2020-10-23 | 北京邮电大学 | 混合式网内动态负载均衡方法、装置及系统 |
CN111818570A (zh) * | 2020-07-25 | 2020-10-23 | 清华大学 | 一种面向真实网络环境的智能拥塞控制方法及系统 |
US10931602B1 (en) * | 2019-05-10 | 2021-02-23 | Innovium, Inc. | Egress-based compute architecture for network switches in distributed artificial intelligence and other applications |
CN112491712A (zh) * | 2020-11-30 | 2021-03-12 | 复旦大学 | 一种基于多智能体深度强化学习的数据包路由算法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7161902B2 (en) * | 2001-08-08 | 2007-01-09 | Nortel Networks Limited | Reducing network traffic congestion |
TWI244285B (en) * | 2002-02-05 | 2005-11-21 | Via Tech Inc | Ethernet switch controller and its congestion control method |
US7961613B2 (en) * | 2009-02-05 | 2011-06-14 | Silver Spring Networks, Inc. | System and method of monitoring packets in flight for optimizing packet traffic in a network |
US9356868B2 (en) * | 2013-08-23 | 2016-05-31 | Broadcom Corporation | Congestion detection and management at congestion-tree roots |
US9342982B2 (en) * | 2013-09-09 | 2016-05-17 | International Business Machines Corporation | Traffic control agency deployment and signal optimization for event planning |
US9929956B2 (en) * | 2015-02-26 | 2018-03-27 | Citrix Systems, Inc. | System for bandwidth optimization with initial congestion window determination |
-
2021
- 2021-04-07 CN CN202110370309.XA patent/CN113315715B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6965943B1 (en) * | 1999-06-05 | 2005-11-15 | Lucent Technologies Inc. | End-to-end internet control |
JP2001036575A (ja) * | 1999-07-16 | 2001-02-09 | Keiogijuku | ネットワーク流量コントロール法 |
CN104811336A (zh) * | 2015-04-02 | 2015-07-29 | 南京邮电大学 | 基于智能优化的分布式网络流量预测方法 |
CN107888412A (zh) * | 2016-11-08 | 2018-04-06 | 清华大学 | 多智能体网络有限时间包容控制方法及装置 |
WO2018150223A1 (en) * | 2017-02-14 | 2018-08-23 | Telefonaktiebolaget Lm Ericsson (Publ) | A method and system for identification of traffic flows causing network congestion in centralized control plane networks |
WO2018225039A1 (en) * | 2017-06-09 | 2018-12-13 | Telefonaktiebolaget Lm Ericsson (Publ) | Method for congestion control in a network |
WO2019026684A1 (ja) * | 2017-08-04 | 2019-02-07 | 日本電信電話株式会社 | 経路制御方法及び経路設定装置 |
CN107948083A (zh) * | 2017-11-07 | 2018-04-20 | 浙江工商大学 | 一种基于增强学习的sdn数据中心拥塞控制方法 |
WO2020181761A1 (zh) * | 2019-03-11 | 2020-09-17 | 江苏君英天达人工智能研究院有限公司 | 一种sdn增强路径装箱装置及方法 |
US10931602B1 (en) * | 2019-05-10 | 2021-02-23 | Innovium, Inc. | Egress-based compute architecture for network switches in distributed artificial intelligence and other applications |
CN110581808A (zh) * | 2019-08-22 | 2019-12-17 | 武汉大学 | 一种基于深度强化学习的拥塞控制方法及系统 |
CN111526036A (zh) * | 2020-03-20 | 2020-08-11 | 西安电子科技大学 | 一种短流量实时性优化方法、系统、网络传输终端 |
CN111817975A (zh) * | 2020-07-23 | 2020-10-23 | 北京邮电大学 | 混合式网内动态负载均衡方法、装置及系统 |
CN111818570A (zh) * | 2020-07-25 | 2020-10-23 | 清华大学 | 一种面向真实网络环境的智能拥塞控制方法及系统 |
CN112491712A (zh) * | 2020-11-30 | 2021-03-12 | 复旦大学 | 一种基于多智能体深度强化学习的数据包路由算法 |
Non-Patent Citations (4)
Title |
---|
一种基于深度强化学习的动态路由算法;肖扬;吴家威;李鉴学;刘军;;信息通信技术与政策(第09期);全文 * |
命名数据网络中的一种主动拥塞控制机制研究;王亚东;张悦;陈延祥;张宇;;载人航天(第01期);全文 * |
基于MAS的高性能网络拥塞控制研究;张文逸, 杨家本;北京理工大学学报(社会科学版)(第S1期);全文 * |
基于深度强化学习的TCP拥塞控制机制研究;高少华;信息科技(第4期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113315715A (zh) | 2021-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111010294B (zh) | 一种基于深度强化学习的电力通信网路由方法 | |
CN106411770A (zh) | 一种基于sdn架构的数据中心网络节能路由算法 | |
US20230362095A1 (en) | Method for intelligent traffic scheduling based on deep reinforcement learning | |
CN104994031A (zh) | 一种主动队列自适应管理方法asred | |
CN107070802A (zh) | 基于pid控制器的无线传感器网络拥塞控制技术 | |
CN109787910A (zh) | 一种流量管理方法、系统及织状网络处理器 | |
CN109698925A (zh) | 基于数据驱动的实时视频拥塞控制方法及装置 | |
Zarchy et al. | Axiomatizing congestion control | |
CN113315715B (zh) | 基于qmix的分布式网内拥塞控制方法 | |
Wang et al. | Load balancing for heterogeneous traffic in datacenter networks | |
Shen et al. | Poche: A priority-based flow-aware in-network caching scheme in data center networks | |
CN115811799A (zh) | 一种基于ddpg的5g-tsn联合资源调度装置及方法 | |
Hou et al. | An Active Queue Management Algorithm to Guarantee the QoS of LEO Satellite Network | |
CN112887221B (zh) | 基于广义预测控制的周期性节能方法 | |
CN110891027B (zh) | 基于队列调度的命名数据网络传输控制方法、装置和设备 | |
Guan et al. | Adaptive fuzzy sliding mode active queue management algorithms | |
Ye et al. | Reinforcement Learning-based Traffic Engineering for QoS Provisioning and Load Balancing | |
Liao et al. | Astraea: Towards Fair and Efficient Learning-based Congestion Control | |
Wu et al. | Design and implementation of an adaptive feedback queue algorithm over OpenFlow networks | |
Xu et al. | Dual channel adaptive congestion control for datacenters | |
Wang et al. | DDPG based dynamic scheduling optimization mechanism in real switch | |
Mondal | Traffic Engineering in Software-Defined Data Center Networks for IOT | |
Cui et al. | A novel multi-radio packet scheduling algorithm for real-time traffic on generic link layer | |
Lei et al. | HOMMO: A hierarchical flow management framework for multi-objective data center networks | |
Hwang et al. | Reinforcement learning cooperative congestion control for multimedia networks |
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 |