CN116155819A - 基于可编程数据平面的智能网内负载均衡方法与装置 - Google Patents

基于可编程数据平面的智能网内负载均衡方法与装置 Download PDF

Info

Publication number
CN116155819A
CN116155819A CN202310424468.2A CN202310424468A CN116155819A CN 116155819 A CN116155819 A CN 116155819A CN 202310424468 A CN202310424468 A CN 202310424468A CN 116155819 A CN116155819 A CN 116155819A
Authority
CN
China
Prior art keywords
switch
forwarding path
target
load balancing
network
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.)
Granted
Application number
CN202310424468.2A
Other languages
English (en)
Other versions
CN116155819B (zh
Inventor
姚海鹏
欧阳天昊
何文吉
葛洪武
朱雪田
韩宝磊
董涛
张尼
忻向军
王富
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN202310424468.2A priority Critical patent/CN116155819B/zh
Publication of CN116155819A publication Critical patent/CN116155819A/zh
Application granted granted Critical
Publication of CN116155819B publication Critical patent/CN116155819B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

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

基于可编程数据平面的智能网内负载均衡方法与装置
技术领域
本发明涉及通信的技术领域,尤其是涉及一种基于可编程数据平面的智能网内负载均衡方法与装置。
背景技术
负载均衡是计算机网络的经典问题,它是指通过一定的策略来调度平衡网内各条链路上的流量使网络整体能够高效尽量不堵塞地传输数据包。ECMP(Equal Cost Multi-path,等价多路径路由)是一种传统计算机网络中常用的负载均衡方案,属于分布式局部拥塞考量的方案,其目的主要是使经过当前交换机的流量能够平均地分配到可选的两条转发路径上去。但是,由于ECMP缺乏拥塞感知机制,因此在网络中已经产生拥塞的情况下,如果仍然按照ECMP中平均转发逻辑进行的话,网络的拥塞以及负载不平衡的情况可能会加重。并且,网络拓扑的不对称会使得平均转发的流量对网内设备造成负载的不均衡,所以ECMP在不对称拓扑网络中的表现较差。
综上所述,现有的负载均衡方法难以保证负载均衡效果且存在普适性差的技术问题。
发明内容
本发明的目的在于提供一种基于可编程数据平面的智能网内负载均衡方法与装置,以缓解了现有的负载均衡方法负载均衡效果差和普适性差的技术问题。
第一方面,本发明提供一种基于可编程数据平面的智能网内负载均衡方法,应用于控制平面,包括:获取网络系统的目标数据;其中,所述目标数据包括:所述网络系统中每个交换机的队列深度和每个目标交换机的转发路径集合;所述目标交换机表示所述网络系统中待进行负载均衡的交换机;利用强化学习算法对所述目标数据进行处理,得到所述网络系统中每个所述目标交换机的端口转发概率;其中,所述强化学习算法的环境输出状态值为所有交换机的队列深度,所述强化学习算法中智能体的输出动作为所述端口转发概率,所述强化学习算法的奖励函数值与所述网络系统中交换机的队列深度差值和平均队列深度成反比;获取所述目标交换机的交换机入口控制处理管道中的时间戳,并基于所述目标交换机的端口转发概率、所述转发路径集合和所述时间戳确定所述目标交换机的数据包转发路径;基于所有所述目标交换机的数据包转发路径确定所述网络系统的负载均衡策略。
在可选的实施方式中,在每个所述目标交换机的转发路径集合包括第一转发路径和第二转发路径的情况下,基于所述目标交换机的端口转发概率、所述转发路径集合和所述时间戳确定所述目标交换机的数据包转发路径,包括:将所述时间戳指定位数上对应的数据作为参考随机数;基于所述端口转发概率和预设数值计算概率比较值;其中,所述预设数值为2的a次幂结果,a的取值为所述参考随机数对应的时间戳位数;在所述参考随机数大于所述概率比较值的情况下,将所述第一转发路径作为所述目标交换机的数据包转发路径;在所述参考随机数小于或等于所述概率比较值的情况下,将所述第二转发路径作为所述目标交换机的数据包转发路径。
在可选的实施方式中,所述强化学习算法的奖励函数表示为:
Figure SMS_1
;其中,a和b表示预设超参数,
Figure SMS_2
表示目标交换机n的第一转发路径对应的交换机n1的队列深度,
Figure SMS_3
表示目标交换机n的第二转发路径对应的交换机n2的队列深度,
Figure SMS_4
表示所述网络系统中的交换机i的队列深度,m表示所述网络系统中的交换机总数。
在可选的实施方式中,每个所述交换机的队列深度存储于每个所述交换机的出口控制处理管道中指定寄存器中;所述控制平面通过控制器读取所述指定寄存器以获取所述网络系统中每个交换机的队列深度。
在可选的实施方式中,在所述强化学习算法采用PPO算法的情况下,所述PPO算法的目标函数表示为:
Figure SMS_12
;其中,
Figure SMS_8
表示智能体的动作,
Figure SMS_9
表示环境输出状态值,
Figure SMS_7
表示重要性采样系数,
Figure SMS_10
表示在当前策略神经网络参数
Figure SMS_14
下,智能体在环境输出状态值为
Figure SMS_18
时输出动作
Figure SMS_17
的概率,
Figure SMS_21
表示在旧策略神经网络参数
Figure SMS_5
下,智能体在环境输出状态值为
Figure SMS_13
时输出动作
Figure SMS_15
的概率,
Figure SMS_19
表示在旧策略神经网络参数
Figure SMS_16
下,优势函数输出的
Figure SMS_20
状态下动作
Figure SMS_6
的价值估计值,
Figure SMS_11
表示预设参数。
第二方面,本发明提供一种基于可编程数据平面的智能网内负载均衡装置,应用于控制平面,包括:获取模块,用于获取网络系统的目标数据;其中,所述目标数据包括:所述网络系统中每个交换机的队列深度和每个目标交换机的转发路径集合;所述目标交换机表示所述网络系统中待进行负载均衡的交换机;处理模块,用于利用强化学习算法对所述目标数据进行处理,得到所述网络系统中每个所述目标交换机的端口转发概率;其中,所述强化学习算法的环境输出状态值为所有交换机的队列深度,所述强化学习算法中智能体的输出动作为所述端口转发概率,所述强化学习算法的奖励函数值与所述网络系统中交换机的队列深度差值和平均队列深度成反比;第一确定模块,用于获取所述目标交换机的交换机入口控制处理管道中的时间戳,并基于所述目标交换机的端口转发概率、所述转发路径集合和所述时间戳确定所述目标交换机的数据包转发路径;第二确定模块,用于基于所有所述目标交换机的数据包转发路径确定所述网络系统的负载均衡策略。
在可选的实施方式中,在每个所述目标交换机的转发路径集合包括第一转发路径和第二转发路径的情况下,所述第一确定模块具体用于:将所述时间戳指定位数上对应的数据作为参考随机数;基于所述端口转发概率和预设数值计算概率比较值;其中,所述预设数值为2的a次幂结果,a的取值为所述参考随机数对应的时间戳位数;在所述参考随机数大于所述概率比较值的情况下,将所述第一转发路径作为所述目标交换机的数据包转发路径;在所述参考随机数小于或等于所述概率比较值的情况下,将所述第二转发路径作为所述目标交换机的数据包转发路径。
在可选的实施方式中,所述强化学习算法的奖励函数表示为:
Figure SMS_22
;其中,a和b表示预设超参数,
Figure SMS_23
表示目标交换机n的第一转发路径对应的交换机n1的队列深度,
Figure SMS_24
表示目标交换机n的第二转发路径对应的交换机n2的队列深度,
Figure SMS_25
表示所述网络系统中的交换机i的队列深度,m表示所述网络系统中的交换机总数。
第三方面,本发明提供一种电子设备,包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现前述实施方式中任一项所述的基于可编程数据平面的智能网内负载均衡方法的步骤。
第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令被处理器执行时实现前述实施方式中任一项所述的基于可编程数据平面的智能网内负载均衡方法。
本发明提供的基于可编程数据平面的智能网内负载均衡方法,通过获取网络系统中每个交换机的队列深度来实现全局拥塞感知,并利用强化学习算法确定目标交换机的端口转发概率,以辅助决策目标交换机的数据包转发路径。由于强化学习算法的奖励函数值与网络系统中交换机的队列深度差值和平均队列深度成反比,所以能够达到网络中负载均衡效果越差则奖励越少的目的,进而使得智能体输出的动作向减小拥塞、增强负载均衡效果的方向发展。在不对称的网络拓扑环境中仍具备较佳的负载均衡效果,有效地缓解了现有的负载均衡方法负载均衡效果差和普适性差的技术问题。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为ECMP的方案架构图;
图2为本发明实施例提供的一种基于可编程数据平面的智能网内负载均衡方法的流程图;
图3为本发明实施例提供的一种portdecide表的示意图;
图4为本发明实施例提供的一种网络系统的实例图;
图5为本发明实施例提供的一种PPO算法中智能体与环境交互的过程示意图;
图6为本发明实施例提供的一种PPO算法的流程图;
图7为10Mbps发包速率下ECMP与PPO的队列深度差值比较图;
图8为15Mbps发包速率下ECMP与PPO的队列深度差值比较图;
图9为20Mbps发包速率下ECMP与PPO的队列深度差值比较图;
图10为PPO队列深度差值的纵向比较图;
图11为PPO平均队列深度的纵向比较图;
图12为基于可编程数据平面的智能网内负载均衡装置的功能模块图;
图13为一种电子设备的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
ECMP是一种传统计算机网络中常用的负载均衡方案,属于分布式局部拥塞考量的方案,其方案架构如图1所示,当目的地址为host的数据包到达交换机s1的时候,有s1-s2-s4和s1-s3-s4两条跳数相等的路径能够进行转发,这时交换机s1则会根据其中运行的ECMP选路策略进行转发路径的选择。常用的ECMP选路策略有轮询、哈希等,其目的主要是使经过交换机s1的流量能够平均地分配到s1-s2-s4和s1-s3-s4两条转发路径上去。但是ECMP缺乏拥塞感知机制,且ECMP在不对称拓扑网络中的表现较差。有鉴于此,本发明实施例提供了一种基于可编程数据平面的智能网内负载均衡方法,用以缓解上文中所提出的技术问题。
实施例一
图2为本发明实施例提供的一种基于可编程数据平面的智能网内负载均衡方法的流程图,该方法应用于控制平面,如图2所示,该方法具体包括如下步骤:
步骤S102,获取网络系统的目标数据。
其中,目标数据包括:网络系统中每个交换机的队列深度和每个目标交换机的转发路径集合;目标交换机表示网络系统中待进行负载均衡的交换机。
本发明实施例采用可编程数据面技术与强化学习方法来设计负载均衡方案,在数据平面利用P4语言自定义交换机拥塞信息,且拥塞信息的定义是在数据包出口控制处理管道中,以交换机队列深度来体现。因此,为了实现全局拥塞感知,控制平面需要获取网络系统中每个交换机的队列深度。
进一步的,为了制定负载均衡方案,控制平面还需获取每个目标交换机的转发路径集合。转发路径唯一的交换机不需要进行负载均衡,因此,以图1为例,交换机s1即为待进行负载均衡的交换机,s1的转发路径集合中包括:转发路径(s1-s2)和转发路径(s1-s3),也就是说,s1的转发路径集合是s1的下一跳节点与s1之间的路径组成的集合。
步骤S104,利用强化学习算法对目标数据进行处理,得到网络系统中每个目标交换机的端口转发概率。
其中,强化学习算法的环境输出状态值为所有交换机的队列深度,强化学习算法中智能体的输出动作为端口转发概率,强化学习算法的奖励函数值与网络系统中交换机的队列深度差值和平均队列深度成反比。
具体的,在获取到网络系统的目标数据之后,本发明实施例使用强化学习算法对目标数据进行处理,以为网络系统中的每个目标交换机确定相应的端口转发概率。其中,端口转发概率用于辅助确定目标交换机的数据包转发端口,由于数据包转发端口一旦确定,数据包转发路径也即随之确定,因此,端口转发概率还可以理解为用于辅助确定目标交换机的数据包转发路径。
强化学习算法中,将网络系统中所有交换机的队列深度作为强化学习算法的环境输出状态值,也即,智能体所感知到的环境状态。将智能体在当前网络参数下根据上述环境状态所输出的动作设置为每个目标交换机的端口转发概率。也即,网络中搭载负载均衡功能的交换机(也即,目标交换机)是强化学习算法中智能体输出动作的执行者。如果网络系统中存在X个目标交换机,那么智能体所输出的动作即为X个目标交换机所对应的X个端口转发概率。
强化学习算法的目的是奖励最大化,因此,为了实现网络系统中负载均衡的目的,本发明实施例将强化学习算法的奖励函数值与网络系统中交换机的队列深度差值和平均队列深度成反比,也就是说,如果网络系统中交换机的队列深度差值/平均队列深度越大(说明网络负载不均衡),那么奖励函数值越小;反之,如果网络系统中交换机的队列深度差值/平均队列深度越小,那么奖励函数值越大。显然,基于以上奖励设置可以实现数据包以小概率向拥塞路径转发的效果,以此来使网络内部负载均衡。
步骤S106,获取目标交换机的交换机入口控制处理管道中的时间戳,并基于目标交换机的端口转发概率、转发路径集合和时间戳确定目标交换机的数据包转发路径。
在P4语言中,数据包从交换机转出的端口是由入口控制处理管道(ingress)中定义的元数据来确定。为了实现数据包能够按照强化学习算法输出的端口转发概率进行转发,本发明实施例在交换机的入口控制处理管道中定义了portdecide表以及portid动作,如图3所示,portdecide表的匹配项是数据包IP报文中的IPv4目的地址,也即,可以选择指定对发往某个IP地址的数据流进行负载均衡。
一般地,portdecide表中的可选动作有三种动作:portid动作、drop动作、NoAction动作。portid动作即本发明中设计的端口概率转发动作,drop动作是指将数据包丢弃,NoAction则是P4程序中的默认动作(例如存储在缓存中)。但实际应用中,本发明实施例的控制平面为流表下发的动作中并不设置drop和NoAction相关的流表项,也就是说,只有portid动作。
本发明实施例采用蒙特卡洛的方法来模拟实现数据包按概率转发,具体的,根据获取到的目标交换机的交换机入口控制处理管道中的时间戳和目标交换机的端口转发概率,从目标交换机的转发路径集合中选择出当前状态下目标交换机的数据包转发路径。
步骤S108,基于所有目标交换机的数据包转发路径确定网络系统的负载均衡策略。
本发明实施例提供的基于可编程数据平面的智能网内负载均衡方法,通过获取网络系统中每个交换机的队列深度来实现全局拥塞感知,并利用强化学习算法确定目标交换机的端口转发概率,以辅助决策目标交换机的数据包转发路径。由于强化学习算法的奖励函数值与网络系统中交换机的队列深度差值和平均队列深度成反比,所以能够达到网络中负载均衡效果越差则奖励越少的目的,进而使得智能体输出的动作向减小拥塞、增强负载均衡效果的方向发展。在不对称的网络拓扑环境中仍具备较佳的负载均衡效果,有效地缓解了现有的负载均衡方法负载均衡效果差和普适性差的技术问题。
本发明实施例所提供的方法可应用于目标交换机存在多条转发路径的情况,为了便于理解,下面对目标交换机只存在两条转发路径时,如何选择数据包转发路径进行具体介绍。
在一个可选的实施方式中,在每个目标交换机的转发路径集合包括第一转发路径和第二转发路径的情况下,上述步骤S106中,基于目标交换机的端口转发概率、转发路径集合和时间戳确定目标交换机的数据包转发路径,具体包括如下步骤:
步骤S1061,将时间戳指定位数上对应的数据作为参考随机数。
一般地,时间戳为16位数据(高八位低八位),可选择将时间戳低八位上对应的数据作为参考随机数tmp,本发明实施例不对参考随机数在时间戳上的指定位数进行具体限定,用户也可以选择高八位,高六位,或者指定具体几位上的数据(例如,第1,3,5,6,7位)作为参考随机数。假设选择将时间戳低8位上对应的数据作为参考随机数,那么可知参考随机数tmp的取值范围为0到255,因为28=256。
步骤S1062,基于端口转发概率和预设数值计算概率比较值。
其中,预设数值为2的a次幂结果,a的取值为参考随机数对应的时间戳位数。
在本发明实施例中,强化学习算法中智能体输出的端口转发概率的取值是0到1之间的值,而交换机中比较不了小数,故而需要转换成整数进行比较。如果参考随机数是时间戳低8位上对应的数据,那么参考随机数对应的时间戳位数即为8,也即a=8,预设数值为2a=28=256,此时,概率比较值possibility=端口转发概率×256。
在参考随机数大于概率比较值的情况下,执行下述步骤S1063;在参考随机数小于或等于概率比较值的情况下,执行下述步骤S1064。
步骤S1063,将第一转发路径作为目标交换机的数据包转发路径。
步骤S1064,将第二转发路径作为目标交换机的数据包转发路径。
在计算出参考随机数tmp和概率比较值possibility之后,通过比较大小即可确定出目标交换机的数据包转发路径。若tmp大,则向port1端口转发,也即,选择第一转发路径;反之,则向port2端口转发,也即选择第二转发路径。
在确定了目标交换机的转发端口之后,当数据包从相应的端口转发之前,还应修改数据包中以太网协议头部的源目mac地址以及IP协议头部中的ttl值。
在一个可选的实施方式中,在每个目标交换机的转发路径集合包括第一转发路径和第二转发路径的情况下,强化学习算法的奖励函数表示为:
Figure SMS_26
;其中,a和b表示预设超参数,
Figure SMS_27
表示目标交换机n的第一转发路径对应的交换机n1的队列深度,
Figure SMS_28
表示目标交换机n的第二转发路径对应的交换机n2的队列深度,
Figure SMS_29
表示网络系统中的交换机i的队列深度,m表示网络系统中的交换机总数。
基于上述奖励函数的表达式可知,本发明实施例中奖励函数的计算方法能够达到网络中负载均衡效果越差则奖励越少的目的,进而使得智能体采取的动作向减小拥塞、增强负载均衡效果的方向发展。为了便于理解,下面进行举例说明。
如图4所示,假设网络拓扑中设置了h1和h2两个终端主机,它们的IP和mac地址如图中所示。其中h1作为用户端运行发包程序,h2则作为服务端来接收数据包。另外还设置了s1到s5五个交换机以及连接它们的网络链路,且5个交换机以不对称的方式连接起来从而构建了一个具有不对称拓扑结构的网络,其中,交换机s1和s2搭载负载均衡功能(也即,s1和s2为目标交换机),在它们的2口和3口之间进行流量的负载均衡,而s3到s5三个交换机则是普通交换机,完成流量从h1发送到h2的转发过程。
通过上文对本发明实施例所使用的强化学习算法的解释说明可知,s1-s5交换机的队列深度
Figure SMS_30
需要以五元组的形式作为强化学习算法的环境输出状态值,且目标交换机s1和s2为智能体输出动作的执行者。因此交换机s1、s2的portdecide表会被控制平面在算法训练的过程中不断修改来执行智能体输出的动作。已知奖励函数的设置可以引导强化学习算法模型训练的方向,因此本发明实施例以平均队列深度和队列深度差值来设计奖励函数。
由于s1和s2为目标交换机,因此,s2、s3的队列深度差值表征s1处负载均衡效果,s5、s4的队列深度差值表征s2处负载均衡效果。在为该网络系统进行负载均衡时,强化学习算法的奖励函数具体为:
Figure SMS_31
,其中,
Figure SMS_32
表示队列深度差值奖励,显然,队列深度差值越小,队列深度差值奖励越大,奖励函数值R越大。
Figure SMS_33
表示平均队列深度的奖励,根据奖励函数的表达式可知,平均队列深度越小,平均队列深度的奖励越大,奖励函数值R越大。
a和b表示预设超参数,需要根据网络情况来进行调整。采用log函数来处理平均队列深度奖励能够体现本发明实施例对队列深度差值奖励的重视程度更大,以实现算法在局部尽可能负载均衡的同时也考虑整体网络的拥塞情况。
在一个可选的实施方式中,每个交换机的队列深度存储于每个交换机的出口控制处理管道中指定寄存器中;控制平面通过控制器读取指定寄存器以获取网络系统中每个交换机的队列深度。
上文中介绍了本发明实施例以交换机的队列深度来反应网内的拥塞状况。具体的,在数据平面中,通过P4语言的特性可在每个交换机的出口控制处理管道(egress)中定义一个寄存器(例如32位的寄存器)来存储交换机的队列深度(如果选择32位的寄存器,则队列深度值是32位bit),当交换机中数据包的IP头部有效时即可将元数据中的队列深度值写入其中。在控制器中通过调用相应的API可以持续地读取该寄存器的值以获得拥塞信息,由此实现控制平面对网内拥塞信息的全局感知。
通过控制器读取拥塞信息的方式不会加重网络中的负载。另外,由于数据平面的寄存器一直在记录交换机的队列深度并传递给控制平面,因此负载均衡决策也会随网内拥塞信息状况改变而改变。
在一个可选的实施方式中,在强化学习算法采用PPO算法的情况下,PPO算法的目标函数表示为:
Figure SMS_43
;其中,
Figure SMS_35
表示智能体的动作,
Figure SMS_39
表示环境输出状态值,
Figure SMS_42
表示重要性采样系数,
Figure SMS_45
表示在当前策略神经网络参数
Figure SMS_46
下,智能体在环境输出状态值为
Figure SMS_49
时输出动作
Figure SMS_47
的概率,
Figure SMS_50
表示在旧策略神经网络参数
Figure SMS_37
下,智能体在环境输出状态值为
Figure SMS_41
时输出动作
Figure SMS_34
的概率,
Figure SMS_40
表示在旧策略神经网络参数
Figure SMS_44
下,优势函数输出的
Figure SMS_48
状态下动作
Figure SMS_36
的价值估计值,
Figure SMS_38
表示预设参数。
PPO算法属于强化学习中基于概率(Policy-Based)的方法,PPO算法中智能体与环境交互的过程如图5所示,环境负责输出每个阶段的状态即s,当智能体感受到环境状态s后会根据策略π来输出这个阶段的动作a,策略π通常由一个神经网络来表示,其参数为θ。经过算法智能体与环境不断地交互,会生成一个由不同阶段状态和动作组成的序列τ,
Figure SMS_51
其中,
Figure SMS_53
表示智能体与环境交互在一个轮次(episode)中的最后一个阶段,意味着智能体的一轮交互结束。在参数θ下,一个轮次发生的概率可以记为:
Figure SMS_56
;其中,
Figure SMS_60
表示智能体在环境状态为
Figure SMS_54
时按照策略π输出动作
Figure SMS_58
的概率,
Figure SMS_62
表示指环境在
Figure SMS_65
状态下智能体执行动作
Figure SMS_52
后环境进入
Figure SMS_57
的概率,另外,在交互过程中,智能体在环境状态
Figure SMS_61
下执行动作
Figure SMS_64
后会根据奖励函数计算输出一个该阶段的奖励值
Figure SMS_55
,当一轮交互结束后,可以得到这个轮次的累计奖励值
Figure SMS_59
Figure SMS_63
Figure SMS_66
表示一轮交互中第t阶段得到的奖励值。
因此,智能体在参数θ的策略网络下累积奖励期望值为:
Figure SMS_67
。PPO算法的目的就是通过智能体与环境交互的过程中不断调整策略π的参数θ来使得累积奖励期望值最大化,强化学习中一般采用梯度提升的方法来更新参数,在PPO算法中,通过重要性采样的技巧以及引入优势函数可以提高算法对数据的利用率以及运行效率。
PPO算法中累积奖励期望值的梯度为:
Figure SMS_69
。其中,
Figure SMS_72
是重要性采样系数,
Figure SMS_74
为旧策略神经网络的参数,
Figure SMS_70
为当前策略神经网络的参数。
Figure SMS_73
是优势函数输出的对应状态下动作的价值估计值,
Figure SMS_75
Figure SMS_76
表示当前状态中动作执行奖励值与之后状态中动作执行的折扣奖励值之和,
Figure SMS_68
表示折扣因子。并且在离当前状态越远的状态中,动作执行奖励值受到的折扣就越大,这能够反应智能体对未来奖励的考量。
Figure SMS_71
表示当前状态的估计价值,可以通过一个价值神经网络来拟合输出。
与策略梯度算法相比,PPO引入优势函数,利用价值神经网络估计当前状态的价值来实现单步更新;而通过重要性采样的技巧,则让PPO算法能够使用旧策略神经网络与环境交互获得的数据来多次更新当前策略神经网络的参数。这两者共同作用,提高了PPO算法的运行效率以及数据利用率。
通过PPO算法的梯度函数可以导出新的目标函数:
Figure SMS_77
,同时,由于引入了重要性采样的技巧,因此需要对新的目标函数添加一定的限制,本发明实施例中的PPO算法采用了更易于实现的clip方式,添加限制后的新目标函数为:
Figure SMS_78
。clip函数的作用是将
Figure SMS_79
的值限制在
Figure SMS_80
Figure SMS_81
的范围内,并且该式还通过采样计算的方式来估计期望。
图6为PPO算法的流程图,PPO算法共有两个神经网络,一个是输出动作的策略网络,另一个是估计状态价值的价值网络,在算法开始阶段需要对这两个神经网络的参数进行初始化,接着算法智能体就可以与环境进行交互来采集数据进而计算奖励值以及优势函数估计值。策略网络参数的更新向着最大化目标函数(添加限制后的新目标函数)的方向进行,而对于价值网络参数的更新,则使用均方误差回归的方法,实际状态价值由式
Figure SMS_82
来拟合。最后,可以通过设定合理的智能体与环境交互轮次数来控制模型的更新。
发明人以图4所示的网络系统为实验对象,进行了大量实验来评估本发明提出的方案(下文简称PPO)在发包速率为10Mbps、15Mbps、20Mbps情况下的性能,这三种发包速率标志了具有不同拥塞情况的网络环境。以一个轮次中所有交换机平均队列深度和部分交换机队列深度差值a_q的平均值来反映方案的性能。队列深度差值是体现负载均衡性能的主要指标,在奖励函数中采取了线性的反馈,与采用对数反馈的平均队列深度比较是影响智能体获得奖励的主要因素。因此,将PPO与ECMP的队列深度差值在三种发包速率下进行横向对比,同时还对PPO的两项性能指标进行纵向对比。实验前,先经过一系列的预实验调整并确定了PPO算法中的一些参数。而在实验中,智能体与环境总共进行了200个轮次的交互即200个ep,这使得实验效果能够更显著。ECMP的实现是通过保持负载均衡交换机始终以0.5的概率向2口和3口进行数据包的转发。
(1)PPO与ECMP在三种发包速率下的横向对比:
10Mbps发包速率下ECMP与PPO的队列深度差值比较如图7所示。在10Mbps发包速率下,PPO算法智能体的策略神经网络能够快速收敛,使得队列深度差值始终保持在ECMP之下,这充分体现了奖励函数对算法智能体的引导。而快速收敛则是因为发包速率为10Mbps时,网络还没出现严重的不对称拥塞。另外,实验结果图中出现了一定的尖峰,通过分析,这可能是因为控制器与数据平面交互导致网络不稳定造成。
15Mbps发包速率下ECMP与PPO的队列深度差值比较如图8所示,PPO的a_q值总体上在ECMP之下,但是两者在前中期出现了部分的重合。这是因为在15Mbps发包速率时,网络中的拥塞情况相比10Mbps发包速率时更严重,网络中的波动也随之增大,使得PPO需要一定的时间进行策略网络的收敛。而随着训练的不断进行,PPO策略网络逐渐收敛,ECMP与PPO的a_q值差距也越来越大。
20Mbps发包速率下ECMP与PPO的队列深度差值比较如图9所示,PPO一开始出现了与ECMP重合的部分,随后才又降低到ECMP之下。经过分析,这是因为在20Mbps发包速率的初始阶段时,网络出现了严重的不对称拥塞情况。开始时,流量在交换机s1处以1:1的比例向2口和3口进行转发,两个出口被分配到了理论上一样的流量,而由于20Mbps发包速率过快,导致之后的网络中都会出现与10Mbps、15Mbps发包速率情况下相比更为严重的拥塞。再加上网络的不对称性即2口之后的局部网络能够承担的流量比3口要多,导致了网络中拥塞情况也出现了不对称的分布、网络负载没有被均衡,进而使得PPO在开始阶段时的表现与ECMP相近。但是随着PPO策略神经网络的更新与奖励函数的反馈,智能体能够逐渐学习到网络拓扑不对称的特性,进而引导数据包在s1处更多地向2口转发以完成负载均衡决策的更新。当PPO逐渐收敛之后,其a_q值就基本处于ECMP之下了。通过20Mbps发包速率的对比实验可知,PPO能够使局部交换机即s1感知到全局网络的特性即不对称特性,并进行智能自适应的负载均衡策略调整来缓解网络中的拥塞情况。
通过ECMP和PPO的对比,可以发现在发包速率相对不高的情况下,PPO算法智能体的策略神经网络能够快速收敛,输出合适的负载均衡决策来优化交换机的队列深度差值,性能显著高于ECMP。而发包速率提高之后,不对称拓扑网络会出现拥塞情况的不对称,这使得PPO不能快速收敛。但是随着智能体策略神经网络的更新与奖励函数的反馈,PPO也能够在一定的时间后完成收敛,进而调整负载均衡策略缓解网络中的拥塞,这也从侧面反应了本发明实施例的方案能够智能自适应网络环境。
(2)PPO在不同发包速率下的纵向对比:
PPO队列深度差值的纵向比较如图10所示。三种发包速率下的a_q值总体趋势都是下降且趋于稳定的,说明PPO能够在不同网络环境中自适应调整负载均衡策略。
PPO平均队列深度的纵向比较如图11所示。为了能够更加清晰地反应PPO方案中平均队列深度的变化趋势,采用了移动平均的方法对原始数据进行处理。从图11中可以看出,PPO在三种不同发包速率情况下平均队列深度都呈现下降趋势,直观地体现出了方案设计中全局拥塞信息感知机制,实现算法在局部尽可能负载均衡(即降低队列深度差值)的同时也考虑整体网络的拥塞情况。
综上所述,本发明实施例所提供的负载均衡方案采用可编程数据面与控制平面相结合的方式来实现全局拥塞感知机制,并且通过控制器来读取拥塞信息不会对网络内部产生过多的额外负载。另外,采用强化学习算法作为策略大脑,负载均衡交换机作为决策的执行者,属于集中式训练、分布式执行的框架,能够智能自适应网络环境,有效解决ECMP在不对称网络拓扑下性能不佳的问题。
实施例二
本发明实施例还提供了一种基于可编程数据平面的智能网内负载均衡装置,该基于可编程数据平面的智能网内负载均衡装置主要用于执行上述实施例一所提供的基于可编程数据平面的智能网内负载均衡方法,以下对本发明实施例提供的基于可编程数据平面的智能网内负载均衡装置做具体介绍。
图12是本发明实施例提供的一种基于可编程数据平面的智能网内负载均衡装置的功能模块图,如图12所示,该装置主要包括:获取模块10,处理模块20,第一确定模块30,第二确定模块40,其中:
获取模块10,用于获取网络系统的目标数据;其中,目标数据包括:网络系统中每个交换机的队列深度和每个目标交换机的转发路径集合;目标交换机表示网络系统中待进行负载均衡的交换机。
处理模块20,用于利用强化学习算法对目标数据进行处理,得到网络系统中每个目标交换机的端口转发概率;其中,强化学习算法的环境输出状态值为所有交换机的队列深度,强化学习算法中智能体的输出动作为端口转发概率,强化学习算法的奖励函数值与网络系统中交换机的队列深度差值和平均队列深度成反比。
第一确定模块30,用于获取目标交换机的交换机入口控制处理管道中的时间戳,并基于目标交换机的端口转发概率、转发路径集合和时间戳确定目标交换机的数据包转发路径。
第二确定模块40,用于基于所有目标交换机的数据包转发路径确定网络系统的负载均衡策略。
本发明实施例提供的基于可编程数据平面的智能网内负载均衡装置,通过获取网络系统中每个交换机的队列深度来实现全局拥塞感知,并利用强化学习算法确定目标交换机的端口转发概率,以辅助决策目标交换机的数据包转发路径。由于强化学习算法的奖励函数值与网络系统中交换机的队列深度差值和平均队列深度成反比,所以能够达到网络中负载均衡效果越差则奖励越少的目的,进而使得智能体输出的动作向减小拥塞、增强负载均衡效果的方向发展。在不对称的网络拓扑环境中仍具备较佳的负载均衡效果,有效地缓解了现有的负载均衡方法负载均衡效果差和普适性差的技术问题。
可选地,在每个目标交换机的转发路径集合包括第一转发路径和第二转发路径的情况下,第一确定模块30具体用于:
将时间戳指定位数上对应的数据作为参考随机数。
基于端口转发概率和预设数值计算概率比较值;其中,预设数值为2的a次幂结果,a的取值为参考随机数对应的时间戳位数。
在参考随机数大于概率比较值的情况下,将第一转发路径作为目标交换机的数据包转发路径。
在参考随机数小于或等于概率比较值的情况下,将第二转发路径作为目标交换机的数据包转发路径。
可选地,强化学习算法的奖励函数表示为:
Figure SMS_83
;其中,a和b表示预设超参数,
Figure SMS_84
表示目标交换机n的第一转发路径对应的交换机n1的队列深度,
Figure SMS_85
表示目标交换机n的第二转发路径对应的交换机n2的队列深度,
Figure SMS_86
表示网络系统中的交换机i的队列深度,m表示网络系统中的交换机总数。
可选地,每个交换机的队列深度存储于每个交换机的出口控制处理管道中指定寄存器中;控制平面通过控制器读取指定寄存器以获取网络系统中每个交换机的队列深度。
可选地,在强化学习算法采用PPO算法的情况下,PPO算法的目标函数表示为:
Figure SMS_96
;其中,
Figure SMS_89
表示智能体的动作,
Figure SMS_92
表示环境输出状态值,
Figure SMS_90
表示重要性采样系数,
Figure SMS_94
表示在当前策略神经网络参数
Figure SMS_95
下,智能体在环境输出状态值为
Figure SMS_99
时输出动作
Figure SMS_97
的概率,
Figure SMS_102
表示在旧策略神经网络参数
Figure SMS_87
下,智能体在环境输出状态值为
Figure SMS_93
时输出动作
Figure SMS_98
的概率,
Figure SMS_100
表示在旧策略神经网络参数
Figure SMS_101
下,优势函数输出的
Figure SMS_103
状态下动作
Figure SMS_88
的价值估计值,
Figure SMS_91
表示预设参数。
实施例三
参见图13,本发明实施例提供了一种电子设备,该电子设备包括:处理器60,存储器61,总线62和通信接口63,所述处理器60、通信接口63和存储器61通过总线62连接;处理器60用于执行存储器61中存储的可执行模块,例如计算机程序。
其中,存储器61可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口63(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线62可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图13中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器61用于存储程序,所述处理器60在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的过程定义的装置所执行的方法可以应用于处理器60中,或者由处理器60实现。
处理器60可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器60中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器60可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器61,处理器60读取存储器61中的信息,结合其硬件完成上述方法的步骤。
本发明实施例所提供的一种基于可编程数据平面的智能网内负载均衡方法与装置的计算机程序产品,包括存储了处理器可执行的非易失的程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
此外,术语“水平”、“竖直”、“悬垂”等术语并不表示要求部件绝对水平或悬垂,而是可以稍微倾斜。如“水平”仅仅是指其方向相对“竖直”而言更加水平,并不是表示该结构一定要完全水平,而是可以稍微倾斜。
在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种基于可编程数据平面的智能网内负载均衡方法,其特征在于,应用于控制平面,包括:
获取网络系统的目标数据;其中,所述目标数据包括:所述网络系统中每个交换机的队列深度和每个目标交换机的转发路径集合;所述目标交换机表示所述网络系统中待进行负载均衡的交换机;
利用强化学习算法对所述目标数据进行处理,得到所述网络系统中每个所述目标交换机的端口转发概率;其中,所述强化学习算法的环境输出状态值为所有交换机的队列深度,所述强化学习算法中智能体的输出动作为所述端口转发概率,所述强化学习算法的奖励函数值与所述网络系统中交换机的队列深度差值和平均队列深度成反比;
获取所述目标交换机的交换机入口控制处理管道中的时间戳,并基于所述目标交换机的端口转发概率、所述转发路径集合和所述时间戳确定所述目标交换机的数据包转发路径;
基于所有所述目标交换机的数据包转发路径确定所述网络系统的负载均衡策略。
2.根据权利要求1所述的基于可编程数据平面的智能网内负载均衡方法,其特征在于,在每个所述目标交换机的转发路径集合包括第一转发路径和第二转发路径的情况下,基于所述目标交换机的端口转发概率、所述转发路径集合和所述时间戳确定所述目标交换机的数据包转发路径,包括:
将所述时间戳指定位数上对应的数据作为参考随机数;
基于所述端口转发概率和预设数值计算概率比较值;其中,所述预设数值为2的a次幂结果,a的取值为所述参考随机数对应的时间戳位数;
在所述参考随机数大于所述概率比较值的情况下,将所述第一转发路径作为所述目标交换机的数据包转发路径;
在所述参考随机数小于或等于所述概率比较值的情况下,将所述第二转发路径作为所述目标交换机的数据包转发路径。
3.根据权利要求1所述的基于可编程数据平面的智能网内负载均衡方法,其特征在于,
所述强化学习算法的奖励函数表示为:
Figure QLYQS_1
;其中,a和b表示预设超参数,
Figure QLYQS_2
表示目标交换机n的第一转发路径对应的交换机n1的队列深度,
Figure QLYQS_3
表示目标交换机n的第二转发路径对应的交换机n2的队列深度,
Figure QLYQS_4
表示所述网络系统中的交换机i的队列深度,m表示所述网络系统中的交换机总数。
4.根据权利要求1所述的基于可编程数据平面的智能网内负载均衡方法,其特征在于,每个所述交换机的队列深度存储于每个所述交换机的出口控制处理管道中指定寄存器中;
所述控制平面通过控制器读取所述指定寄存器以获取所述网络系统中每个交换机的队列深度。
5.根据权利要求1所述的基于可编程数据平面的智能网内负载均衡方法,其特征在于,在所述强化学习算法采用PPO算法的情况下,所述PPO算法的目标函数表示为:
Figure QLYQS_13
;其中,
Figure QLYQS_7
表示智能体的动作,
Figure QLYQS_9
表示环境输出状态值,
Figure QLYQS_6
表示重要性采样系数,
Figure QLYQS_10
表示在当前策略神经网络参数
Figure QLYQS_14
下,智能体在环境输出状态值为
Figure QLYQS_18
时输出动作
Figure QLYQS_16
的概率,
Figure QLYQS_20
表示在旧策略神经网络参数
Figure QLYQS_5
下,智能体在环境输出状态值为
Figure QLYQS_12
时输出动作
Figure QLYQS_15
的概率,
Figure QLYQS_19
表示在旧策略神经网络参数
Figure QLYQS_17
下,优势函数输出的
Figure QLYQS_21
状态下动作
Figure QLYQS_8
的价值估计值,
Figure QLYQS_11
表示预设参数。
6.一种基于可编程数据平面的智能网内负载均衡装置,其特征在于,应用于控制平面,包括:
获取模块,用于获取网络系统的目标数据;其中,所述目标数据包括:所述网络系统中每个交换机的队列深度和每个目标交换机的转发路径集合;所述目标交换机表示所述网络系统中待进行负载均衡的交换机;
处理模块,用于利用强化学习算法对所述目标数据进行处理,得到所述网络系统中每个所述目标交换机的端口转发概率;其中,所述强化学习算法的环境输出状态值为所有交换机的队列深度,所述强化学习算法中智能体的输出动作为所述端口转发概率,所述强化学习算法的奖励函数值与所述网络系统中交换机的队列深度差值和平均队列深度成反比;
第一确定模块,用于获取所述目标交换机的交换机入口控制处理管道中的时间戳,并基于所述目标交换机的端口转发概率、所述转发路径集合和所述时间戳确定所述目标交换机的数据包转发路径;
第二确定模块,用于基于所有所述目标交换机的数据包转发路径确定所述网络系统的负载均衡策略。
7.根据权利要求6所述的基于可编程数据平面的智能网内负载均衡装置,其特征在于,在每个所述目标交换机的转发路径集合包括第一转发路径和第二转发路径的情况下,所述确定模块具体用于:
将所述时间戳指定位数上对应的数据作为参考随机数;
基于所述端口转发概率和预设数值计算概率比较值;其中,所述预设数值为2的a次幂结果,a的取值为所述参考随机数对应的时间戳位数;
在所述参考随机数大于所述概率比较值的情况下,将所述第一转发路径作为所述目标交换机的数据包转发路径;
在所述参考随机数小于或等于所述概率比较值的情况下,将所述第二转发路径作为所述目标交换机的数据包转发路径。
8.根据权利要求6所述的基于可编程数据平面的智能网内负载均衡装置,其特征在于,
所述强化学习算法的奖励函数表示为:
Figure QLYQS_22
;其中,a和b表示预设超参数,
Figure QLYQS_23
表示目标交换机n的第一转发路径对应的交换机n1的队列深度,
Figure QLYQS_24
表示目标交换机n的第二转发路径对应的交换机n2的队列深度,
Figure QLYQS_25
表示所述网络系统中的交换机i的队列深度,m表示所述网络系统中的交换机总数。
9.一种电子设备,包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至5中任一项所述的基于可编程数据平面的智能网内负载均衡方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令被处理器执行时实现上述权利要求1至5中任一项所述的基于可编程数据平面的智能网内负载均衡方法。
CN202310424468.2A 2023-04-20 2023-04-20 基于可编程数据平面的智能网内负载均衡方法与装置 Active CN116155819B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310424468.2A CN116155819B (zh) 2023-04-20 2023-04-20 基于可编程数据平面的智能网内负载均衡方法与装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310424468.2A CN116155819B (zh) 2023-04-20 2023-04-20 基于可编程数据平面的智能网内负载均衡方法与装置

Publications (2)

Publication Number Publication Date
CN116155819A true CN116155819A (zh) 2023-05-23
CN116155819B CN116155819B (zh) 2023-07-14

Family

ID=86374021

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310424468.2A Active CN116155819B (zh) 2023-04-20 2023-04-20 基于可编程数据平面的智能网内负载均衡方法与装置

Country Status (1)

Country Link
CN (1) CN116155819B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113347108A (zh) * 2021-05-20 2021-09-03 中国电子科技集团公司第七研究所 一种基于q-学习的sdn负载均衡方法及系统
WO2022083029A1 (zh) * 2020-10-19 2022-04-28 深圳大学 一种基于深度强化学习的决策方法
CN114938374A (zh) * 2022-05-10 2022-08-23 北京交通大学 跨协议负载均衡方法及系统
CN115051953A (zh) * 2022-06-16 2022-09-13 广州大学 一种基于交换机队列行为的可编程数据平面分布式负载均衡方法
CN115102906A (zh) * 2022-06-20 2022-09-23 电子科技大学 一种基于深度强化学习驱动的负载均衡方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022083029A1 (zh) * 2020-10-19 2022-04-28 深圳大学 一种基于深度强化学习的决策方法
CN113347108A (zh) * 2021-05-20 2021-09-03 中国电子科技集团公司第七研究所 一种基于q-学习的sdn负载均衡方法及系统
CN114938374A (zh) * 2022-05-10 2022-08-23 北京交通大学 跨协议负载均衡方法及系统
CN115051953A (zh) * 2022-06-16 2022-09-13 广州大学 一种基于交换机队列行为的可编程数据平面分布式负载均衡方法
CN115102906A (zh) * 2022-06-20 2022-09-23 电子科技大学 一种基于深度强化学习驱动的负载均衡方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
TIANLE MAI等: "Multi-agent Actor-Critic Reinforcement Learning Based In-network Load Balance", GLOBECOM 2020-2020 IEEE GLOBAL COMMUNICATIONS CONFERENCE *
徐博等: "可编程数据平面下基于DDPG的路由优化方法", 计算机工程与应用, pages 143 - 150 *

Also Published As

Publication number Publication date
CN116155819B (zh) 2023-07-14

Similar Documents

Publication Publication Date Title
Zhang et al. CFR-RL: Traffic engineering with reinforcement learning in SDN
CN108900419B (zh) Sdn架构下基于深度强化学习的路由决策方法及装置
Ramakrishna et al. GCA: Global congestion awareness for load balance in networks-on-chip
US20170295081A1 (en) Probing technique for predictive routing in computer networks
JP5276220B2 (ja) バス制御装置およびバス制御装置に指示を出力する制御装置
JP5915729B2 (ja) 制御装置、通信システム及び通信装置制御方法
US20200106665A1 (en) Method and apparatus for optimizing a software defined network configuration
CN113612692B (zh) 基于dqn算法的集中式光片上网络自适应路由规划方法
KR20030017477A (ko) 데이터 트래픽 제어 방법 및 시스템
US8483093B2 (en) Energy efficient network forwarding based on performance and energy
US20110270972A1 (en) Virtual topology adaptation for resource optimization in telecommunication networks
CN107094112A (zh) 基于果蝇优化算法的带宽约束组播路由优化方法
JP2012532481A (ja) 静的ルーティング・スキームに基づく並列コンピュータ・ネットワークの相互接続効率を評価するための方法とデバイス
Ye et al. Date: Disturbance-aware traffic engineering with reinforcement learning in software-defined networks
Houidi et al. Constrained deep reinforcement learning for smart load balancing
Ye et al. FlexDATE: Flexible and disturbance-aware traffic engineering with reinforcement learning in software-defined networks
CN116155819B (zh) 基于可编程数据平面的智能网内负载均衡方法与装置
Hu et al. GreSDN: Toward a green software defined network
EP3510729B1 (en) Power aware switching using analytics
Li et al. Data-driven routing optimization based on programmable data plane
Lu et al. Hawkeye: a dynamic and stateless multicast mechanism with deep reinforcement learning
JP2006237837A (ja) 経路最適化システム、プログラムおよび方法
CN116527558A (zh) 基于q学习的多目标路由规划方法及装置
CN111901237A (zh) 源路由选路方法及系统、相关设备及计算机可读存储介质
CN114978982A (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