CN115269162A - 一种基于sdn多控制器改进蚁群的负载均衡方法 - Google Patents

一种基于sdn多控制器改进蚁群的负载均衡方法 Download PDF

Info

Publication number
CN115269162A
CN115269162A CN202110472467.6A CN202110472467A CN115269162A CN 115269162 A CN115269162 A CN 115269162A CN 202110472467 A CN202110472467 A CN 202110472467A CN 115269162 A CN115269162 A CN 115269162A
Authority
CN
China
Prior art keywords
controller
ant colony
path
ant
load
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.)
Pending
Application number
CN202110472467.6A
Other languages
English (en)
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.)
Xian Technological University
Original Assignee
Xian Technological University
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 Xian Technological University filed Critical Xian Technological University
Priority to CN202110472467.6A priority Critical patent/CN115269162A/zh
Publication of CN115269162A publication Critical patent/CN115269162A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种基于SDN多控制器改进蚁群的负载均衡方法,包括如下步骤:步骤1、首先当多控制器集群内某个控制器负载指数大于或等于0.8时触发负载均衡方法;步骤2、设置改进蚁群方法的初始参数包括信息素重要程度因子α、启发因子β、拥挤度阈值系数μ、拥挤度σ(t)、配置迭代总次数c、蚂蚁数量m;步骤3、使用所有蚂蚁遍历整个拓扑路径,直到满足结束条件停止;步骤4、通过改进蚁群方法遍历后得留有不同信息素的拓扑图,获取最优路径;步骤5、得到最优迁移路径后,将过载控制器选择迁移的交换机迁移至已经得到的最优迁入控制器内;该基于SDN多控制器改进蚁群的负载均衡方法,既确保了多控制器负载的均衡又提升了集群的可靠性。

Description

一种基于SDN多控制器改进蚁群的负载均衡方法
技术领域
本发明属于多控制器应用技术领域,具体涉及一种基于SDN多控制器改进蚁群的负载均衡方法。
背景技术
随着云计算、物联网、大数据等业务应用的高速发展,传统网络很难满足灵活的资源所需。随着交换机的不断增加,单个控制器往往很难管控整个网络的行为。为了克服这些问题,一些研究人员提议通过多控制器共同作业实现逻辑集中控制器功能。因此,多个控制器被认为是为大规模网络中的数据流提供更多负载能力的实际解决方案。但是,各控制器负载容量的差异对工作效率有很大的影响,所以多控制器的均衡负载是需要解决的重要问题。为了解决多控制器负载均衡问题,Yao等考虑到控制器的负载因素,提出了基于Capacitated K-Center的解决方案。然而,由于该方案基于静态部署,因此仍然难以满足网络内动态流量的需求。Dixit提出了新的Elasticon架构,该架构是基于多个控制器的开关动态映射架构,通过设计新的Openflow协议,交换机选取不同的控制器进行迁移。然而,这个方案只是理论上研究了交换机迁移,没有提出详细的迁移策略。Hu等将控制平面分类为顶层控制器和多个一般控制器,前者将所有决策能力交给超级控制器,同时控制下面的所有其他控制器,然而也有一定的不足,如果超级控制器发生故障,整个架构可能瘫痪。陈飞宇等提出了以改良型拍卖为基础的交换机迁移机制(PASMM),将交换机转移问题转换为其他控制器资源的拍卖问题,通过提高处在求过于供的控制器资源的成交价来完成拍卖过程,实现控制器的负载平衡。
发明内容
为了解决现有技术中存在的单个控制器往往很难管控整个网络的行为和满足日益剧增的资源需求,在多控制器环境下如何更加可靠,有效的达到均衡负载问题。
本发明所述的一种基于SDN多控制器改进蚁群的负载均衡方法,包括如下步骤:
步骤1、首先当多控制器集群内某个控制器负载指数大于或等于0.8时触发负载均衡方法;
步骤2、设置改进蚁群方法的初始参数包括信息素重要程度因子α、启发因子β、拥挤度阈值系数μ、拥挤度σ(t)、配置迭代总次数c、蚂蚁数量m;
步骤3、使用所有蚂蚁遍历整个拓扑路径,直到满足结束条件停止;
步骤4、通过改进蚁群方法遍历后得留有不同信息素的拓扑图,获取最优路径;
步骤5、得到最优迁移路径后,将过载控制器选择迁移的交换机迁移至已经得到的最优迁入控制器内。
所述步骤2、设置改进蚁群方法的初始参数包括信息素重要程度因子α、启发因子β、拥挤度阈值系数μ、拥挤度σ(t)、配置迭代总次数c、蚂蚁数量m,具体过程是:
步骤1.1、基于蚁群方法引入了人工鱼群方法的拥挤度概念,如公式(10)表示:
Figure BDA0003046002530000021
其中qij表示拥挤度,i表示出发地,j表示目的地,τij(t)表示蚁群方法中所在路径上的浓度,如果qij<γ(t),则表示当前路径通畅,继续沿着当前路径移动,不需要重新选择下一条可行路径;否则,蚂蚁将在邻域内重新随机选择一条可行路径进行移动;这里,γ(t)表示t时刻的拥挤阈值;
Figure BDA0003046002530000031
其中,a为阈值系数,t为循环次数;
步骤1.2、蚁群方法是一种生物仿生方法,利用蚂蚁间通过信息素来传递信息的行为,围绕信息素建立蚁群方法模型,公式(12)是对基本蚁群方法的描述:
Figure BDA0003046002530000032
公式(12)是计算蚂蚁k在控制器i选择下一控制器j的概率,其中
Figure BDA0003046002530000033
表示蚂蚁k在控制器i选择下一控制器j的概率;τij(t)表示t时刻控制器i与控制器j之间路径上的信息素,如公式(14)所示浓度为宽带利用率;ηij(t)为启发式因子,一般取信息素浓度的倒数,如公式(15)所示;α为信息素τij(t)重要程度;β为启发式ηij(t)的重要程度;allowSetk为蚂蚁k可以选择在t时刻的下一控制器集合;
公式(13)为t-T时刻传输的字节数
Figure BDA0003046002530000034
Figure BDA0003046002530000035
Figure BDA0003046002530000036
浓度更新方法改进分为局部更新和全局更新,局部更新为对第K只蚂蚁,它经过的一条路径<i,j>,信息素更新公式为
τij(t+1)=(1-ρ)τij(t)+ρτij(0) (16)
ρ为挥发因子,τij(0)为信息素初始值为公式(17)
τij(0)=Li*α+σ*β (17)
其中τij(0)为IACO的初始目标值,同时考虑了控制器的负载指数Li和集群内各个控制器的Packet-in负载度标准差σ;
全局更新是在每一只蚂蚁完成全部路径迭代之后,对当前路径上信息素更新公式为
Figure BDA0003046002530000041
Δτij(t)为全局信息素增量,LC为当前迭代即第C次迭代的最优路径长度,Lbest为至今最优路径;
设ρ为挥发因子,采用分区间调节信息素挥发系数
Figure BDA0003046002530000042
其中CMAX表示设置的最大循环次数。
本发明的有益效果:本发明提供的这种基于SDN多控制器改进蚁群的负载均衡方法,把交换机和控制器的映射关系的建模转换为TSP(旅行者问题),利用蚁群方法和人工鱼群方法的组合,既确保了多控制器负载的均衡又提升了集群的可靠性。
通过仿真实验,可以得出在30s前这四种方法吞吐量相差不大。当30s之后,当我们提高交换机的packet-in消息发送率时,随机方法的吞吐量显然无法完成packet-in消息的实时处理,因为增加请求的数量,控制器的负载将不平衡,一些控制器将超载,请求无法处理,一些控制器仍然低负载,导致控制器群集的整体吞吐量降低。蚁群方法的吞吐量和GA-ACO都低于改进的蚁群方法并且相比更加稳定,实验表明,基于改进蚁群的负载均衡方法能够较为显著提高控制器的集群吞吐量。
通过仿真实验,对比证明Random在达到负载指数均衡方面的能力最差。其导致均衡能力最差的原因可能是因为该策略虽然在一定程度上降低负载指数,但该方法不能很好的达到负载均衡并且有二次过载的可能。后三种方法将会防止二次过载发生,可以利用***的负载指数选择合适的迁入控制器,从而达到更好的负载均衡能力,并且在控制器的负载指数的对比上IACO不管从负载指数和负载均衡度都优于其他三种方法,与GA-ACO相比具有更优的负载均衡度,可以达到更好的负载均衡效果。
通过仿真实验,在packet-in事件刚开始的时候,三种方法的响应之间比较接近,随着请求速率的增加,响应时间也越来越大,基本符合预期。Random与ACO在packet-in请求速率较低的情况下,其响应时间与改进蚁群方法基本没有什么区别,但是随着packet-in事件速率的增加,每一个控制器的负载增大的情况下,改进蚁群方法的优势就显示出来了,相差最大的时候,随机策略方法的响应时间是改进蚁群方法的3倍多,并且低于GA-ACO方法。数据也可以表明改进蚁群方法响应时间不仅低于其他三种方法并且相比于GA-ACO各控制器响应时间更加均衡,据此足以显示出改进蚁群方法在大量packet-in事件请求速率时候的优势。
以下将结合附图对本发明做进一步详细说明。
附图说明
图1是多控制器下的SDN示意图。
图2是本发明基于SDN多控制器改进蚁群的负载均衡方法的吞吐量对比图。
图3是本发明基于SDN多控制器改进蚁群的负载均衡方法的负载指数对比图意图。
图4是本发明基于SDN多控制器改进蚁群的负载均衡方法的packet-in响应时间对比图。
图5是本发明基于SDN多控制器改进蚁群的负载均衡方法与静态迁移方法,蚁群方法、和蚁群遗传方法的对比图。
图6是本发明基于SDN多控制器改进蚁群的负载均衡方法的流程图。
具体实施方式
为进一步阐述本发明达成预定目的所采取的技术手段及功效,以下结合附图及实施例对本发明的具体实施方式、结构特征及其功效,详细说明如下。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本发明的描述中,需要理解的是,术语“中心”、“上”、“下”、“前”、“后”、“左”、“右”、“垂直”、“水平”、“对齐”、“重叠”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征;在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
对交换机和控制器之间连接关系的重新部署完成对交换机的动态迁移。OpenFlow1.3协议提供了对多控制器***的支持,多控制器支持技术意味着每个交换机可以与多个控制器相连。而对于交换机,控制器可以有三种身份:Equal,Master和Slave,控制器可以在任何时候改变角色。
如图1所示,以交换机s5为例,交换机s5与控制器c1相连,其中c1是交换机s5的master控制器,c2是交换机s5的slave控制器。当master控制器域内交换机在某时刻流请求激增时发生过载,需要对当前域内的交换机实现向外迁移,将slave控制器c2为该交换机的master控制器,同时把原master控制器变更为slave控制器。本实施例通过改进蚁群方法(IACO)在控制器和交换机的位置确定之后,对选中的交换机和控制器的动态迁移进行的研究。
设SDN区域G中所有控制器节点集合为C={c1,c2,c3,...,cM},所有交换机集合为S={s1,s2,s3,...,sM},设定负载均衡条件,当控制器过载时,利用改进方法得到的方案进行迁移达到负载均衡。
定义1交换机分布矩阵
F=(fij)M*N,来表示控制器和交换机间的控制关系,fij=1即ci控制sj;其余情况为fij=0。
定义2控制器Ci的Packet-in负载λi,是指
其所管理的所有交换机的Packet-in消息速率之和:即
Figure BDA0003046002530000081
定义3控制器Ci的Packet-in负载指数Li,定义为当前Packet-in负载与其最大处理能力λmax的比值:
Figure BDA0003046002530000082
定义4整个控制器集群内控制器的平均Packet-in负载指数Lavg为:
Figure BDA0003046002530000083
定义5定义集群内各个控制器的Packet-in负载均衡度用控制器集群的Packet-in负载标准方差σ表示:
Figure BDA0003046002530000084
因此可以得出优化目标函数
Tbest=改进蚁群算法的最优路径(5)
Figure BDA0003046002530000085
Figure BDA0003046002530000086
Figure BDA0003046002530000087
目标函数式(5)是模型的优化目标,Tbest为改进蚁群方法得到过载控制器迁移最优路径;目标函数式(6)~(8)是模型约束函数。目标函数式(6)保证了每台控制器的负载均不超过其负载上限的百分之80,以免引发控制器故障,同时这也是本实施例设定的负载均衡的触发条件;目标函数式(7)表示各个网络设备的连接情况;目标函数式(8)保证了全网每一个OpenFlow交换机有且只有一个master控制器。
实施例1
为了以较小的代价均衡控制器负载,本实施例提出一种动态迁移方法。再触发负载均衡条件时进行动态迁移,首先此方法分为两个阶段。在交换机选择阶段,过载控制器Ci确定后就根据概率公式能从Ci控制器的交换机库中选择将要迁移的交换机Sj。在目标控制器选择阶段,得到最佳接收控制器,并将交换机迁移到该控制器管理域内。
如图6所示,上述于SDN多控制器改进蚁群的负载均衡方法,包括如下步骤:
步骤1、首先当多控制器集群内某个控制器负载指数大于或等于0.8时触发负载均衡方法;
步骤2、设置改进蚁群方法的初始参数包括信息素重要程度因子α、启发因子β、拥挤度阈值系数μ、拥挤度σ(t)、配置迭代总次数c、蚂蚁数量m;
步骤3、使用所有蚂蚁遍历整个拓扑路径,直到满足结束条件停止;
步骤4、通过改进蚁群方法遍历后得留有不同信息素的拓扑图,获取最优路径;
步骤5、得到最优迁移路径后,将过载控制器选择迁移的交换机迁移至已经得到的最优迁入控制器内。
所述步骤2、设置改进蚁群方法的初始参数包括信息素重要程度因子α、启发因子β、拥挤度阈值系数μ、拥挤度σ(t)、配置迭代总次数c、蚂蚁数量m,具体过程是:
步骤1.1、基于蚁群方法引入了人工鱼群方法的拥挤度概念,如公式(10)表示:
Figure BDA0003046002530000101
其中qij表示拥挤度,i表示出发地,j表示目的地,τij(t)表示蚁群方法中所在路径上的浓度,如果qij<γ(t),则表示当前路径通畅,继续沿着当前路径移动,不需要重新选择下一条可行路径;否则,蚂蚁将在邻域内重新随机选择一条可行路径进行移动;这里,γ(t)表示t时刻的拥挤阈值;
Figure BDA0003046002530000102
其中,a为阈值系数,t为循环次数;
步骤1.2、蚁群方法是一种生物仿生方法,利用蚂蚁间通过信息素来传递信息的行为,围绕信息素建立蚁群方法模型,公式(12)是对基本蚁群方法的描述:
Figure BDA0003046002530000103
公式(12)是计算蚂蚁k在控制器i选择下一控制器j的概率,其中
Figure BDA0003046002530000104
表示蚂蚁k在控制器i选择下一控制器j的概率;τij(t)表示t时刻控制器i与控制器j之间路径上的信息素,如公式(14)所示浓度为宽带利用率;ηij(t)为启发式因子,一般取信息素浓度的倒数,如公式(15)所示;α为信息素τij(t)重要程度;β为启发式ηij(t)的重要程度;allowSetk为蚂蚁k可以选择在t时刻的下一控制器集合;
公式(13)为t-T时刻传输的字节数
Figure BDA0003046002530000105
Figure BDA0003046002530000111
Figure BDA0003046002530000112
浓度更新方法改进分为局部更新和全局更新,局部更新为对第K只蚂蚁,它经过的一条路径<i,j>,信息素更新公式为
τij(t+1)=(1-ρ)τij(t)+ρτij(0) (16)
ρ为挥发因子,τij(0)为信息素初始值为公式(17)
τij(0)=Li*α+σ*β (17)
其中τij(0)为IACO的初始目标值,同时考虑了控制器的负载指数Li和集群内各个控制器的Packet-in负载度标准差σ;
全局更新是在每一只蚂蚁完成全部路径迭代之后,对当前路径上信息素更新公式为
Figure BDA0003046002530000113
Δτij(t)为全局信息素增量,LC为当前迭代即第C次迭代的最优路径长度,Lbest为至今最优路径;
设ρ为挥发因子,采用分区间调节信息素挥发系数
Figure BDA0003046002530000114
其中CMAX表示设置的最大循环次数。
综上所述,该基于SDN多控制器改进蚁群的负载均衡方法,把交换机和控制器的映射关系的建模转换为TSP(旅行者问题),利用蚁群方法和人工鱼群方法的组合,既确保了多控制器负载的均衡又提升了集群的可靠性。
通过仿真实验,可以得出在30s前这四种方法吞吐量相差不大。当30s之后,当我们提高交换机的packet-in消息发送率时,随机方法的吞吐量显然无法完成packet-in消息的实时处理,因为增加请求的数量,控制器的负载将不平衡,一些控制器将超载,请求无法处理,一些控制器仍然低负载,导致控制器群集的整体吞吐量降低。蚁群方法的吞吐量和GA-ACO都低于改进的蚁群方法并且相比更加稳定,实验表明,基于改进蚁群的负载均衡方法能够较为显著提高控制器的集群吞吐量。
通过仿真实验,对比证明Random在达到负载指数均衡方面的能力最差。其导致均衡能力最差的原因可能是因为该策略虽然在一定程度上降低负载指数,但该方法不能很好的达到负载均衡并且有二次过载的可能。后三种方法将会防止二次过载发生,可以利用***的负载指数选择合适的迁入控制器,从而达到更好的负载均衡能力,并且在控制器的负载指数的对比上IACO不管从负载指数和负载均衡度都优于其他三种方法,与GA-ACO相比具有更优的负载均衡度,可以达到更好的负载均衡效果。
通过仿真实验,在packet-in事件刚开始的时候,三种方法的响应之间比较接近,随着请求速率的增加,响应时间也越来越大,基本符合预期。Random与ACO在packet-in请求速率较低的情况下,其响应时间与改进蚁群方法基本没有什么区别,但是随着packet-in事件速率的增加,每一个控制器的负载增大的情况下,改进蚁群方法的优势就显示出来了,相差最大的时候,随机策略方法的响应时间是改进蚁群方法的3倍多,并且低于GA-ACO方法。数据也可以表明改进蚁群方法响应时间不仅低于其他三种方法并且相比于GA-ACO各控制器响应时间更加均衡,据此足以显示出改进蚁群方法在大量packet-in事件请求速率时候的优势。
实施例2
仿真环境搭建
实验基于Ubuntu16.04***,采用Floodlight控制器组成的控制器集群按照图1建立实验仿真验证环境,在基于OpenFlow的Mininet[15]仿真平台上对IACO机制进行仿真验证。通过在Mininet平台上实现一个负载测量模块,可以对所有交换机向控制器请求的PACKET_IN事件计数。本实施例模拟了一个具有3个控制器和7个交换机的网络。
为了说明改进的蚁群方法在交换机迁移过程中对于负载均衡的影响,与静态迁移方法,蚁群方法、和蚁群遗传方法三种进行横向对比。
实验参数设置
为了达到良好的试验效果,结合SDN多控制器架构中动态迁移方法的实际情况和特点,将触发均衡负载的条件设置为负载指数大于等于0.8,采样周期T=1s,对改进的蚁群方法中的启发因子α和β的值和蚂蚁数量m,通过搭建的多控制器动态迁移架构进行仿真实验得到。
由于激素挥发系数ρ值为动态选择,所以只需要将启发因子α和β进行多种不同的组合方式进行仿真实验。启发因子α和β的值对改进蚁群方法影响的仿真实验结果如表1所示。
表1
Figure BDA0003046002530000131
Figure BDA0003046002530000141
当启发因子a和β的值都较大时,信息素启发因子a使得蚂蚁在寻找路径的时候过度重视激素浓度,甚至完全依赖激素浓度来进行路径寻找,的蚁群方法会过快的达到收敛,但是在网络拓扑规模较大时,很容易陷入局部最优解;当启发因子a和β的值都较小时,信息素启发因子a使得蚂蚁在寻找路径的过程中基本上不会考虑激素浓度,甚至不依赖激素浓度来进行选择,很难即使找到最优解。所以经过分析最后选择α=1和β=2。
表2
Figure BDA0003046002530000142
如表2所示,改进蚁群方法中蚂蚁的数量也在一定程度上影响了方法的整体性能。如果蚂蚁数量太少,使得解集太少,整个蚂蚁网络的搜索能力减弱,容易陷入局部最优解;当蚂蚁数量增加时,解集越大,当蚂蚁数量过大时,全局搜索的随机性增强,这也使得方法收敛速度慢,最终降低了方法的整体性能。通过实验分析,最后选择蚂蚁数量m=8。
性能评价和测试
在SDN网络中,控制器的负载均衡性能主要体现当某个控制器负载较大时整个集群的健壮性,可以采用吞吐量,控制器负载率和控制器迁移前后packet-in响应时间三个指标测试控制器的性能。
引入了GA-ACO方法来解决多控制器均衡负载的问题。仿真结果表明,该方法可以提供更快速、更可靠的均衡负载效果。为了验证IACO的性能,我们建立了一系列的仿真实验,并将GA-ACO与ACO和改进蚁群方法(IACO)方法进行了比较。
(1)吞吐量
网络吞吐量是指服务器在单位时间内处理客户端的请求数,反映服务器的承受力,是衡量***处理能力的重要指标,通过不断增加***任务请求连接的数量,测试***吞吐量。吞吐量大小的改变与***的处理能力有关,用户的请求可以合理地分配给每台服务器,并且可以充分利用每台服务器的性能,从而提高***吞吐量。另一方面,低吞吐量意味着***在处理用户请求时没有实现服务器的负载平衡。
在本实验中,如图2所示,从图中我们可以看出,这四种方法在30s前吞吐量相差不大。当30s之后,当我们提高交换机的packet-in消息发送率时,随机方法的吞吐量显然无法完成packet-in消息的实时处理,因为增加请求的数量,控制器的负载将不平衡,一些控制器将超载,请求无法处理,一些控制器仍然低负载,导致控制器群集的整体吞吐量降低。蚁群方法的吞吐量和GA-ACO都低于改进的蚁群方法并且相比更加稳定,实验表明,基于改进蚁群的负载均衡方法能够较为显著提高控制器的集群吞吐量。
(2)控制器负载指数
达到负载均衡后的控制器负载率是一种重要的衡量性能的标准。本实施例设定负载指数超过0.8为启动均衡负载的条件,一个控制器负载指数的高低直接影响到交换机迁移的效率。达到负载均衡后,控制器负载指数越低和越平均能很好的体现控制器的负载均衡程度。首先,对于某一过载控制器必须要达到正常状态,并且整个控制器***的所有控制器资源都应被合理利用起来,通过实验来说明四种策略对于负载均衡的影响。
按照图3中的数据对比,交换机迁移之前的控制器1负载指数存在过载情况。同时运用三种迁移策略,最终都可以实现交换机迁移,即过载控制器中的一部分交换机移入方法选定的控制器,实现负载均衡的目的。从而降低过载控制器的负载指数,使其恢复正常。对比四种方法的负载指数,利用资负载指数的方差结果衡量。随机策略方法的标准方差为0.03207,蚁群方法的标准方差为0.01129,GA-ACO的标准方差0.00542,改进蚁群方法的标准方差为0.00047。
通过结果对比显示随机策略在实现控制器负载指数均衡方面的性能最低。其导致迁移效果最差的原因是因为该策略虽然在一定程度上降低负载指数,但该方法不能很好的达到负载均衡并且有二次过载的可能。后三种方法则会避免这种情况发生,能够根据***负载情况选择合适的目标控制器进行迁移,最终达到较好的负载均衡效果,并且在控制器的负载指数的对比上IACO不管从负载指数和负载均衡度都优于其他三种方法,与GA-ACO相比具有更好的负载均衡度,能够达到较好的负载均衡效果,从而通过交换机迁移实现负载均衡。
(3)控制器迁移前后packet-in响应时间
控制器的响应时延是衡量控制器负载方法的另一个性能指标。控制器的响应延时,对于数据流表的下发安装速度有很大的影响。控制器的响应延时大小是可以用来表示控制平面中控制器性能指标,其中响应延时越小表示控制器性能越好。因此,本实验记录了在不同packet-in请求速率下分别采用随机方法,蚁群方法,GA-ACO和改进蚁群方法进行packet-in事件分配时网络的响应时间。
实验仿真结果图4所示,从图中可以看出,在packet-in事件刚开始的时候,三种方法的响应之间比较接近,随着请求速率的增加,响应时间也越来越大,基本符合预期。随机策略方法与传统蚁群方法在packet-in请求速率较低的情况下,其响应时间与改进蚁群方法基本没有什么区别,但是随着packet-in事件速率的增加,每一个控制器的负载增大的情况下,改进蚁群方法的优势就显示出来了,相差最大的时候,随机策略方法的响应时间是改进蚁群方法的3倍多,并且低于GA-ACO方法。图5的数据也可以表明改进蚁群方法响应时间不仅低于其他三种方法并且相比于GA-ACO各控制器响应时间更加均衡,据此足以显示出改进蚁群方法在大量packet-in事件请求速率时候的优势。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (2)

1.一种基于SDN多控制器改进蚁群的负载均衡方法,其特征在于,包括如下步骤:
步骤1、首先当多控制器集群内某个控制器负载指数大于或等于0.8时触发负载均衡方法;
步骤2、设置改进蚁群方法的初始参数包括信息素重要程度因子α、启发因子β、拥挤度阈值系数μ、拥挤度σ(t)、配置迭代总次数c、蚂蚁数量m;
步骤3、使用所有蚂蚁遍历整个拓扑路径,直到满足结束条件停止;
步骤4、通过改进蚁群方法遍历后得留有不同信息素的拓扑图,获取最优路径;
步骤5、得到最优迁移路径后,将过载控制器选择迁移的交换机迁移至已经得到的最优迁入控制器内。
2.如权利要求1所述的一种基于SDN多控制器改进蚁群的负载均衡方法,其特征在于:所述步骤2、设置改进蚁群方法的初始参数包括信息素重要程度因子α、启发因子β、拥挤度阈值系数μ、拥挤度σ(t)、配置迭代总次数c、蚂蚁数量m,具体过程是:
步骤1.1、基于蚁群方法引入了人工鱼群方法的拥挤度概念,如公式(10)表示:
Figure FDA0003046002520000011
其中qij表示拥挤度,i表示出发地,j表示目的地,τij(t)表示蚁群方法中所在路径上的浓度,如果qij<γ(t),则表示当前路径通畅,继续沿着当前路径移动,不需要重新选择下一条可行路径;否则,蚂蚁将在邻域内重新随机选择一条可行路径进行移动;这里,γ(t)表示t时刻的拥挤阈值;
Figure FDA0003046002520000021
其中,a为阈值系数,t为循环次数;
步骤1.2、蚁群方法是一种生物仿生方法,利用蚂蚁间通过信息素来传递信息的行为,围绕信息素建立蚁群方法模型,公式(12)是对基本蚁群方法的描述:
Figure FDA0003046002520000022
公式(12)是计算蚂蚁k在控制器i选择下一控制器j的概率,其中
Figure FDA0003046002520000023
表示蚂蚁k在控制器i选择下一控制器j的概率;τij(t)表示t时刻控制器i与控制器j之间路径上的信息素,如公式(14)所示浓度为宽带利用率;ηij(t)为启发式因子,一般取信息素浓度的倒数,如公式(15)所示;α为信息素τij(t)重要程度;β为启发式ηij(t)的重要程度;allowSetk为蚂蚁k可以选择在t时刻的下一控制器集合;
公式(13)为t-T时刻传输的字节数
Figure FDA0003046002520000024
Figure FDA0003046002520000025
Figure FDA0003046002520000026
浓度更新方法改进分为局部更新和全局更新,局部更新为对第K只蚂蚁,它经过的一条路径<i,j>,信息素更新公式为
τij(t+1)=(1-ρ)τij(t)+ρτij(0) (16)
ρ为挥发因子,τij(0)为信息素初始值为公式(17)
τij(0)=Li*α+σ*β (17)
其中τij(0)为IACO的初始目标值,同时考虑了控制器的负载指数Li和集群内各个控制器的Packet-in负载度标准差σ;
全局更新是在每只蚂蚁完成全部路径迭代之后,对当前路径上信息素更新公式为
Figure FDA0003046002520000031
Δτij(t)为全局信息素增量,LC为当前迭代即第C次迭代的最优路径长度,Lbest为至今最优路径;
设ρ为挥发因子,采用分区间调节信息素挥发系数
Figure FDA0003046002520000032
其中CMAX表示设置的最大循环次数。
CN202110472467.6A 2021-04-29 2021-04-29 一种基于sdn多控制器改进蚁群的负载均衡方法 Pending CN115269162A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110472467.6A CN115269162A (zh) 2021-04-29 2021-04-29 一种基于sdn多控制器改进蚁群的负载均衡方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110472467.6A CN115269162A (zh) 2021-04-29 2021-04-29 一种基于sdn多控制器改进蚁群的负载均衡方法

Publications (1)

Publication Number Publication Date
CN115269162A true CN115269162A (zh) 2022-11-01

Family

ID=83745098

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110472467.6A Pending CN115269162A (zh) 2021-04-29 2021-04-29 一种基于sdn多控制器改进蚁群的负载均衡方法

Country Status (1)

Country Link
CN (1) CN115269162A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116430877A (zh) * 2023-06-13 2023-07-14 上海伯镭智能科技有限公司 一种基于云端数据的无人驾驶矿车任务分配方法及***

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116430877A (zh) * 2023-06-13 2023-07-14 上海伯镭智能科技有限公司 一种基于云端数据的无人驾驶矿车任务分配方法及***

Similar Documents

Publication Publication Date Title
CN110764912B (zh) 一种自适应任务调度器及方法
WO2018076791A1 (zh) 一种资源负载均衡控制方法及集群调度器
EP3637708A1 (en) Network congestion processing method, device, and system
CN112737823A (zh) 一种资源切片分配方法、装置及计算机设备
CN110784366B (zh) Sdn中基于immac算法的交换机迁移方法
Liu et al. Task scheduling in fog enabled Internet of Things for smart cities
CN114285758A (zh) 基于opnet的通信网络优化仿真***、方法和装置
Pasyeka et al. Development algorithmic model for optimization of distributed fault-tolerant web-systems
CN111176784A (zh) 一种基于极限学习机和蚁群***的虚拟机整合方法
CN109347657A (zh) Sdn模式下支撑科技业务的虚拟数据域构建方法
CN115269162A (zh) 一种基于sdn多控制器改进蚁群的负载均衡方法
CN117155942A (zh) 一种微服务动态自适应客户端负载均衡方法及***
Cui et al. A novel method of virtual network embedding based on topology convergence-degree
He [Retracted] Cloud Computing Load Balancing Mechanism Taking into Account Load Balancing Ant Colony Optimization Algorithm
Min et al. A self-adaptive load balancing approach for software-defined networks in iot
Chen et al. Resource monitoring and prediction in cloud computing environments
Zhang Reliable virtual network mapping algorithm with network characteristics and associations
Yuan et al. A DRL-Based Container Placement Scheme with Auxiliary Tasks.
CN115314500B (zh) 基于改进topsis模型的动态负载均衡方法
Wu et al. Optimization design and realization of ceph storage system based on software defined network
CN115623010A (zh) 基于sdn和haco-csa的服务器集群负载均衡方法及***
Kumar et al. A hybrid ant colony optimization algorithm for job scheduling in computational grids
Bao et al. Nginx-Based Combined Dynamic and Static Load Balancing Algorithm Research
CN108011838B (zh) 基于响应时间的sdn多控制器负载均衡方法
Li et al. LBBESA: An efficient software‐defined networking load‐balancing scheme based on elevator scheduling algorithm

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