CN111240796B - 一种基于改进mmas的负载均衡调度方法 - Google Patents

一种基于改进mmas的负载均衡调度方法 Download PDF

Info

Publication number
CN111240796B
CN111240796B CN201911391039.XA CN201911391039A CN111240796B CN 111240796 B CN111240796 B CN 111240796B CN 201911391039 A CN201911391039 A CN 201911391039A CN 111240796 B CN111240796 B CN 111240796B
Authority
CN
China
Prior art keywords
virtual machine
pheromone
task
path
ant
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
Application number
CN201911391039.XA
Other languages
English (en)
Other versions
CN111240796A (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.)
Zhejiang University of Technology ZJUT
Original Assignee
Zhejiang University of Technology ZJUT
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 Zhejiang University of Technology ZJUT filed Critical Zhejiang University of Technology ZJUT
Priority to CN201911391039.XA priority Critical patent/CN111240796B/zh
Publication of CN111240796A publication Critical patent/CN111240796A/zh
Application granted granted Critical
Publication of CN111240796B publication Critical patent/CN111240796B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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]
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • 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
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (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)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一种基于改进MMAS的负载均衡调度方法,蚁群算法在组合优化问题和NP难的问题上具有高效性和可行性,它具有正反馈性、较强的鲁棒性、分布性和扩展性。针对基本的蚁群算法的计算执行时间较长、容易陷入局部最优解造成停滞,本发明给出了一种改进的最大最小蚁群算法,通过双向收敛的信息素更新的方式,很好的解决了算法执行时间长的缺点;然后通过限定信息素浓度允许值的上下限,克服了算法过早停滞,增大了解的范围,而且在寻优方面有所改善。通过对经典的旅行商问题进行验证,该算法具备了基本蚁群算法所具备的优点,实验表明,该改进算法有更高的执行效率和更好的计算稳定性。

Description

一种基于改进MMAS的负载均衡调度方法
技术领域
本发明涉及组合优化算法领域,具体涉及了一种基于改进最大最小蚁群算法MMAS(Max-Min Ant Colony Algorithm)的负载均衡调度方法
背景技术
随着计算机技术的蓬勃发展,传统的计算模式在现阶段已不能完全满足用户的需求,云计算应运而生,它通过计算机网络向用户提供满足用户需求的并且灵活、可伸缩的计算和存储资源。云计算有着非常广泛的用户群体,几乎时刻都在处理海量的任务。因此,考虑如何合理地分配和利用云环境中的资源、有效地调度用户提交的海量任务且保证整个系统的负载均衡但也面临着一些问题,它会导致任务的完成时间增加、资源的利用率及任务的完成效率达不到期望的要求等等。由于云计算任务调度问题可以抽象成将多个任务随机分配到若干个虚拟机上,属于典型的组合优化问题。神经网络、遗传算法、模拟退火、粒子群算法、蚁群算法等许多用于解决复杂优化问题的新方法,本发明对蚁群算法的高效性、精确性的优点,解决了云计算中虚拟机负载不均衡及任务集完成时间较长的问题,提出了一种基于改进MMAS的负载均衡调度算法。
蚁群算法是由意大利学者20世纪90年代模拟真实蚂蚁的觅食行为过程而提出的一种启发式仿生优化算法。其灵感来源于蚂蚁寻找食物过程中的路径发现,它主要是在图中寻找优化路径几率的算法。目前,它已被广泛用于解决大多数NP类问题的优化求解,如旅行商问题、图像着色、车辆调度、网络路由、多重背包等静态组合优化和动态组合优化问题。它的优点是:(1)采用一种正反馈机制,通过信息素的不断更新,达到最终收敛于最优路径的目的;(2)是一种分布式的优化方法,易于并行实现;(3)是一种全局优化的方法,不仅可用于求解单目标优化问题,而且可用于求解多目标优化问题;(4)适合于求解离散优化问题;(5)鲁棒性强。但由于在算法的初始阶段信息素匮乏,所以求解速度较慢。
近十几年来,国内外众多学者为了提升蚁群算法的性能,在其改进策略上做了大量的研究。主要是针对基本蚁群算法一般需要较长的搜索时间和易陷入局部最优解等不足,对其参数和模型提出了一些改进方案:
Dorigo等人通过在当前最优解更新信息素时释放额外的信息素,增强系统的正反馈作用,提出了精英蚂蚁系统EAS(Elitist-Ant System);基本蚁群算法和最大最小蚂蚁系统在信息素更新和路径选择问题上均采取固定的模式,这是导致算法出现“早熟”停滞现象的主要原因,针对这一不足,Gambardella等人提出了一种自适应蚁群算法AACA(AdaptiveAnt Colony Algorithm),通过自适应地调节信息素挥发系数,抑制搜索停滞现象;最大-最小蚁群算法(MMAS)是由德国学者T.Stuetzle等人提出的,MMAS是到目前为止解决TSP、QAP等问题最好的蚁群优化算法之一。这种改进型蚁群算法在每次迭代中只允许表现最好的蚂蚁更新路径上的信息素,目的主要在于防止过早的算法停滞现象。
蚁群算法具有如下几个优点:正反馈性、较强的鲁棒性、分布性和可扩展性。同时蚁群算法自身也具有不足之处,即计算执行时间较长、容易陷入局部最优解造成停滞。
发明内容
为了克服现有技术的不足,本发明给出了一种基于改进MMAS的负载均衡调度方法,通过双向收敛策略的信息素更新的方式,很好的解决了算法执行时间长的缺点;然后通过限定信息素浓度允许值的上下限,克服了算法过早停滞,增大了解的范围,而且在寻优方面有所改善。
为了解决上述技术问题,本发明采用如下的技术方案:
一种基于改进MMAS的负载均衡调度方法,包括以下步骤:
步骤1,参数及环境初始化,过程如下:
1.1设置时间t=0,迭代次数Nc=0,最大迭代次数Ncmax,设置蚁群的群体规模,蚂蚁的数量m,并将m只蚂蚁放在每一个结点坐标上;初始化信息素大小;
1.2将所有路径的信息素限制在最大值τmax和最小值τmin之间,高于或低于这一区域都会被自动调整为τmax或τmin,保证信息素最小的路径也在选择范围内,设置最大最小的信息素如(1)、(2)式:
Figure BDA0002344960580000031
Figure BDA0002344960580000032
其中L(t)表示第t次迭代最优路径长度,ρ为信息素挥发系数,将各条路径上的信息素控制在[τmin,τmax]之内,对于超出这个范围的值,大于τmax的就取τmax,若小于τmin则取τmin,这样的好处就是可以有效地避免某条路径上的信息素量远大于其他路径而造成的所有蚂蚁都集中到同一条路径上,从而使算法不再扩散、陷入局部最优;
步骤2,随机分布在各结点的蚂蚁开始活动,各蚂蚁依据式(3)的状态转移概率进行路径选择,过程如下:
2.1结点上的每只蚂蚁根据由式如下定义的转移概率选择下一个结点,转移概率定义为:
Figure BDA0002344960580000033
其中,τij表示边(i,j)的信息素强度,ηij=1/Cij表示关系i转移到关系j的期望程度,Cij为关系i和j的连接代价。α为轨迹的相对重要性,β为期望的相对重要性;
2.2m只蚂蚁同时从不同的结点出发,根据式(3)选择下一结点,已去过的放入禁忌表(tabuk)中,用禁忌表存储蚂蚁已经走过的关系,allowedk是蚂蚁k还未选择的结点集合,保证所有解的逻辑可行;
步骤3,当蚂蚁移动到新的结点上后,根据式(4)更新其经过路径的信息素,并修改禁忌表,过程如下:
首先,一次循环只对本次循环最优解或到目前为止找出最优解的一只蚂蚁进行信息素更新,使得长时间多数路径上信息素量相同,影响最优解的搜索速度;其次,假设蚂蚁创建第一条路径的引导信息主要是城市间的距离信息,这样蚂蚁在所经过的路径上留下的信息就不一定能反映出最优路径的方向,不能保证蚂蚁创建的第一条路径能引导蚁群走向全局最优解;因此,在第一次循环蚂蚁创建的本次循环最优解可能离全局最优解较远,但这条路径的信息素会因正反馈而得到增强,随着算法的重复执行,信息素会积累在这条不是最优的路径上,从而影响全局最优解的搜索速度;再次,一次循环中产生的较差解,对产生最优解不会有很大的帮助,如果增加此较差解路径的信息素,只会影响对最优解的搜索速度,所以应减小这些路径上的信息素,使较多的蚂蚁更快集中到较好路径的搜索上以加快全局最优解搜索速度;
3.1使用
Figure BDA0002344960580000041
表示更新后的信息素浓度,
Figure BDA0002344960580000042
表示更新前的信息素浓度,在蚂蚁的每次搜索过程中,都会对信息素按如下公式进行更新:
Figure BDA0002344960580000043
其中,ω为引入的奖惩系数,Lcur为当前路径的总长度,Llast为上一次的路径的总长度;
3.2当出现最优路径时,对当前信息素浓度增加
Figure BDA0002344960580000044
作为奖励,当出现相对较差路径时,则对当前信息素浓度减去
Figure BDA0002344960580000051
作为惩罚,当出现最差路径时,则对当前信息素浓度减去
Figure BDA0002344960580000052
作为严惩,增加双向收敛策略的目的是增加较优路径上的信息素浓度、减小较差路径上的信息素,使较多的蚂蚁更快集中到较好路径的搜索上以加快全局最优解搜索速度,并且扩大了解的范围;
步骤4,重复执行步骤2,3,4直到整个蚁群中的每个蚂蚁都找到一个可行路径为止,记录路径总长度,对比所有可行路径,记录最优和最差路径,通过记录的结果对当前最优路径进行“奖励”,对最差路径进行“严惩”,对比上一个路径长的路径进行“轻罚”,更新所有路径的信息素浓度,重新随机选择蚂蚁的位置,对所有路径上的信息素进行全局更新;
步骤5,如果迭代次数达到预设迭代次数,则终止搜索,得出最优解,如果未达到迭代次数,并使t=t+1,转到步骤2。
本发明的技术构思为:为了减少在搜索早期算法出现停滞的可能。首先,对算法中信息素浓度引入最大值和最小值限制,克服了算法过早停滞,易陷入局部最优解的缺点;其次,针对蚁群算法在搜索最优路径时会出现收敛速度慢,搜索效率低的问题,在蚁群算法的信息素更新公式中引入赏罚系数,即双向收敛策略。
本发明的有益效果表现在:
(1)与传统的蚁群算法相比,本发明在限值信息素浓度的大小,使其确定在[τminmax]内,对于信息素浓度超过最大值就取最大值,小于最小值就取最小值,使信息素的大小不至于过大或者过小,避免了算法过早的搜索停滞,很好的增加了蚂蚁寻优的效率,避免群体都陷入局部最优路线上,扩大了解的范围。
(2)最大最小蚁群算法的初始信息素的分布均匀,均为τ,使得蚁群算法在算法的早期具有盲目性,蚁群算法在搜索最优路径时会出现收敛速度慢,搜索效率低的问题,不能很快的收敛。本发明对这个问题,在蚁群算法的信息素更新公式中引入双向收敛策略。
附图说明
图1是基于改进MMAS的负载均衡调度方法的流程图;
图2是基于改进MMAS的负载均衡调度方法的调度架构;
图3是虚拟机调度模型;
图4是本发明的任务执行流程图;
图5是当前最短路径示意图;
图6是三种方法对比的结果。
图7是三种方法执行时间对比的结果。
具体实施方式
为了阐明本发明的目的、技术方案和优点,以下结合具体实施例及附图,对本发明做进一步详细说明。
参照图1~图7,一种基于改进MMAS的负载均衡调度方法,包括以下步骤:
步骤1,参数及环境初始化,设置时间t=0,迭代次数Nc=0,最大迭代次数Ncmax,初始化云平台虚拟机的信息素浓度,根据公式(1)、(2),将所有路径的信息素的值限制在最大值τmax和最小值τmin之间,高于或低于这一区域都会被自动调整为τmax或τmin,并初始化各蚁群的位置;
步骤2,如果满足调度的条件(假如有申请且平均负载低于70%)所有蚂蚁根据公式(5)和(6)随机选择任务,每只蚂蚁根据要求选择虚拟机,如图2所示,过程如下:
2.1设任务i的运行需要满足3个资源需求q,定义一个负载均衡因子LBij来衡量i任务分配到虚拟机j上后该虚拟机的负载情况,假定任务i分配到虚拟机j上,根据下式计算虚拟机j的负载均衡因子:
Figure BDA0002344960580000061
当q=1表示CPU资源;当q=2表示内存资源;当q=3表示带宽资源。
Figure BDA0002344960580000071
表示任务i分配到虚拟机j后,
Figure BDA0002344960580000072
表示CPU资源在该虚拟机的3种资源中所占的权重;
Figure BDA0002344960580000073
表示内存资源在该虚拟机的3种资源中所占的权重;
Figure BDA0002344960580000074
表示带宽资源在该虚拟机的3种资源中所占的权重;
Figure BDA0002344960580000075
表示任务i分配到虚拟机j上后虚拟机j上可用的q资源的利用率。假设虚拟机负载均衡因子LBij较小,LBij=0.2,则根据当前的负载情况记录在allowedk中,随着下一蚂蚁的转移,根据概率大小,进行下一虚拟机的选择,较小负载的虚拟机选择的概率就较大;
2.2虚拟机的工作负载的详细状态由一个计算资源利用向量来表示,利用CPU利用率、内存利用率和带宽利用率这3个向量来表示资源的利用向量,其中
Figure BDA0002344960580000076
为状态向量。云计算任调度问题描述为将n个任务随机分配到m个虚拟机上,在其分配任务的过程中考虑虚拟机的负载均衡因素,根据公式(5),如果负载均衡值小于给定的值的话,进行下一步;
2.3初始时刻,各个虚拟机上的信息素量相等,设τij(0)=τmax,所以,蚂蚁k选择虚拟机j去完成任务i的概率为:
Figure BDA0002344960580000077
allowedk表示蚂蚁还未选择的虚拟机的集合;τij是虚拟机j在t时刻信息素浓度值,LBij表示VM的负载均衡因子,用于维持虚拟机的负载均衡,虚拟机的负载均衡因子越小,则选择该虚拟机执行下一个任务的概率就越高,综合能力比较强,期望值也就高,α,β这两个系数表示的是控制信息素和虚拟机的负载程度以及虚拟机的效率值所占的权重指数;
步骤3,根据图4(任务执行流程图),蚂蚁依据式(6)的状态转移概率,节点上的每只蚂蚁根据转移概率选择下一个虚拟机,判断虚拟机的负载状态,当满足调度要求且目标结点不过载,则执行任务或者迁移下一虚拟机,根据蚁群中蚂蚁找到的结点的负载更新信息素,当一只蚂蚁完成了他的任务分配后,依据公式(4)进行信息素的更新策略,并计算完成时间,过程如下:
3.1通过上式计算可得负载均衡因子LBij和资源的利用率
Figure BDA0002344960580000081
可以定义当前VMj节点的负载状态LoadStatuej,分别是:超载状态(OverLoaded)、满载状态(FullLoaded)、正常负载状态(NormalLoaded),其定义如下:
Figure BDA0002344960580000082
如果,
Figure BDA0002344960580000083
Figure BDA0002344960580000086
表示任务i请求q资源的数量大于或等于虚拟机j上可用q资源的数量,因此虚拟机j上可用的资源不能满足任务i的资源请求,如果强制将任务i分配到虚拟机j上,虚拟机就会处于超载或满载状态,从而导致该虚拟机负载不均衡或虚拟机的利用率降低,因此,该任务不会分配到该虚拟机上,会转移到下一个可以接收该任务的虚拟机上,反之,如果
Figure BDA0002344960580000084
表示该虚拟机处于可负载状态,且资源利用率不高,可以给该虚拟机分配任务;
3.2当满足正常负载状态,得出更新后的信息素浓度,应用在虚拟机调度中则可以抽象参数如下表示,赏罚系数定义如下:
Figure BDA0002344960580000085
tasklengthi表示当前任务i和已分配到j虚拟机上的所有任务的长度之和,单位为MI(Million Instructions)即每秒处理百万条的指令数,totaltasklengthj表示所有任务i和已分配到j虚拟机上的所有任务的长度之和,根据此时的ω可以计算出新的信息素浓度。
3.3设τij(t)是虚拟机VMj在t时刻的信息素浓度,信息素浓度的更新公式如下所示:
τij(t+1)=(1-ω*ρ)*τij(t)+Δτij(t,t+1)                              (9)
其中ρ∈(0,1)是信息素的衰减系数,如果ρ值越大就表明路径的信息素浓度受以前的影响程度就越小,Δτij(t,t+1)表示在本次循环中在VMj上的信息素增量。当一只蚂蚁完成了它的遍历,然后找出在当前时刻任务的最短完成时间,那么给这次遍历一个增强,对它所爬行过的虚拟机节点进行全局信息素更新,这时,其值更新如下:
Δτij(t,t+1)=D/Tij                                              (10)
Tij表示任务i在最优分配中在VMj上处理花费的时间,D是一个常数。
步骤4,当蚂蚁移动到新的任务后,更新其经过路径的信息素,并修改禁忌表,在蚂蚁的每次搜索过程中,都会对信息素按(4)公式进行更新,当所有的蚂蚁完成一次迭代之后,即所有蚂蚁都完成了路径搜索时,跳转到步骤2,然后对路径上的虚拟机进行全局信息素更新;
步骤5,计算每只蚂蚁的任务完成时间,并保留当前时刻的最小的任务完工时间;判断是否满足迭代结束条件,如果满足,结束迭代过程并输出最优任务分配方案,否则,转到步骤2,直到满足迭代条件为止。
为了测试本算法的有效性,本次对经典的旅行商(tsp)问题进行仿真实验,实验采用的数据集是TSPLIB的eil51,来进行结果分析。
1)仿真条件
实验所用操作系统为Windows10,仿真软件visual studio2019,处理器为i5-8250u,安装内存8.00GB。
2)参数设置
基本蚁群算法的参数设置:蚂蚁数量25,迭代次数为1000,α=1,β=3,ρ=0.5,Q=100,ω=1.1;
遗传算法参数设置:种群大小为100,最大迭代次数为1000,交叉概率:0.9,变异概率:0.1;
最大最小蚁群算法中所采用的实验参数为:最大迭代次数为1000,α=1,β=2,ρ=0.85,Q=100,τmax=20,τmin=1;
3)仿真结果
为了防止实验的不确定性以及不可避免的误差,对所有的结果进行多次试验,其中最优解、最差解、平均解是经过10次的加权平均得到,同时算法参数的取值不同,都会出现可能较大的偏差,因此,上述的参数是多次比较后的最优初值。
最优解能间接的反应算法的寻优性能、解的范围,采用改进的最大最小蚁群算法的最短路径示意图,如图5所示。
1)最短路径比较
根据仿真结果,数据集Eil51中的51个城市之间的最短距离为428,在寻优性能上改进的最大最小蚁群算法优于遗传算法和基本蚁群算法,得到的三种算法的路径距离比较数据如表1:
算法名称 最优解 最差解 平均解
MMAS 428 435 430.1
GA 449.2 456 452
ACO 436 459 449.3
表1
从图6可以看出,相对比其他两个算法,采用改进的MMAS算法,51个城市之间的距离最短。
2)算法执行时间
参照图7,算法的执行时间反映了收敛速度和执行效率,从图7可以看出,改进的算法在收敛速度得到了极大的提高,因此,本发明具有高效性、可行性。
最大最小蚁群算法实际应用到云计算中的负载均衡调度同样具有可行性,如基本的蚁群算法一样,具有节约开销、提高资源利用率的作用,实验证明,本发明中改进的算法有更高的效率。
本说明书未作详细描述的内容属于本领域专业技术人员公知的现有技术。

Claims (1)

1.一种基于改进MMAS的负载均衡调度方法,其特征在于,所述方法包括以下步骤:
步骤1,参数及环境初始化,设置时间t=0,迭代次数Nc=0,最大迭代次数
Figure FDA0004043431030000011
初始化云平台虚拟机的信息素浓度,根据公式(1)、(2),
Figure FDA0004043431030000012
Figure FDA0004043431030000013
其中L(t)表示第t次迭代最优路径长度,ρ为信息素挥发系数,将各条路径上的信息素控制在[τmin,τmax]之内,对于超出这个范围的值,大于τmax的就取τmax,若小于τmin则取τmin,这样的好处就是可以有效地避免某条路径上的信息素量远大于其他路径而造成的所有蚂蚁都集中到同一条路径上,从而使算法不再扩散、陷入局部最优;
将所有路径的信息素的值限制在最大值τmax和最小值τmin之间,高于或低于这一区域都会被自动调整为τmax或τmin,并初始化各蚁群的位置;
步骤2,如果满足调度的条件所有蚂蚁根据公式(5)和(6)随机选择任务,每只蚂蚁根据要求选择虚拟机,过程如下:
2.1设任务i的运行需要满足3个资源需求q,定义一个负载均衡因子LBij来衡量i任务分配到虚拟机j上后该虚拟机的负载情况,假定任务i分配到虚拟机j上,根据下式计算虚拟机j的负载均衡因子:
Figure FDA0004043431030000014
当q=1表示CPU资源;当q=2表示内存资源;当q=3表示带宽资源,
Figure FDA0004043431030000015
表示任务i分配到虚拟机j后,
Figure FDA0004043431030000016
表示CPU资源在该虚拟机的3种资源中所占的权重;
Figure FDA0004043431030000017
表示内存资源在该虚拟机的3种资源中所占的权重;
Figure FDA0004043431030000018
表示带宽资源在该虚拟机的3种资源中所占的权重;
Figure FDA0004043431030000019
表示任务i分配到虚拟机j上后虚拟机j上可用的q资源的利用率根据当前的负载情况记录在allowedk中,随着下一蚂蚁的转移,根据概率大小,进行下一虚拟机的选择,较小负载的虚拟机选择的概率就较大;
2.2虚拟机的工作负载的详细状态由一个计算资源利用向量来表示,利用CPU利用率、内存利用率和带宽利用率这3个向量来表示资源的利用向量,其中
Figure FDA00040434310300000110
为状态向量,云计算任调度问题描述为将n个任务随机分配到m个虚拟机上,在其分配任务的过程中考虑虚拟机的负载均衡因素,根据公式(5),如果负载均衡值小于给定的值的话,进行下一步;
2.3初始时刻,各个虚拟机上的信息素量相等,设τij(0)=τmax,所以,蚂蚁k选择虚拟机j去完成任务i的概率为:
Figure FDA0004043431030000021
allowedk表示蚂蚁还未选择的虚拟机的集合;τij是虚拟机j在t时刻信息素浓度值,LBij表示VM的负载均衡因子,用于维持虚拟机的负载均衡,虚拟机的负载均衡因子越小,则选择该虚拟机执行下一个任务的概率就越高,综合能力比较强,期望值也就高,α,β这两个系数表示的是控制信息素和虚拟机的负载程度以及虚拟机的效率值所占的权重指数;
步骤3,蚂蚁依据式(6)的状态转移概率,节点上的每只蚂蚁根据转移概率选择下一个虚拟机,判断虚拟机的负载状态,当满足调度要求且目标结点不过载,则执行任务或者迁移下一虚拟机,根据蚁群中蚂蚁找到的结点的负载更新信息素,当一只蚂蚁完成了他的任务分配后,依据公式(4)进行信息素的更新策略,并计算完成时间,过程如下:
3.1通过上式计算可得负载均衡因子LBij和资源的利用率
Figure FDA0004043431030000022
可以定义当前VMj节点的负载状态LoadStatuej,分别是:超载状态OverLoaded、满载状态FullLoaded、正常负载状态NormalLoaded),其定义如下:
Figure FDA0004043431030000023
如果,
Figure FDA0004043431030000024
Figure FDA0004043431030000025
表示任务i请求q资源的数量大于或等于虚拟机j上可用q资源的数量,因此虚拟机j上可用的资源不能满足任务i的资源请求,如果强制将任务i分配到虚拟机j上,虚拟机就会处于超载或满载状态,从而导致该虚拟机负载不均衡或虚拟机的利用率降低,因此,该任务不会分配到该虚拟机上,会转移到下一个可以接收该任务的虚拟机上,反之,如果
Figure FDA00040434310300000211
表示该虚拟机处于可负载状态,且资源利用率不高,可以给该虚拟机分配任务;
3.2当满足正常负载状态,得出更新后的信息素浓度,
Figure FDA0004043431030000026
其中,
Figure FDA0004043431030000027
表示更新后的信息素浓度,
Figure FDA0004043431030000028
表示更新前的信息素浓度,ω为引入的奖惩系数,Lcur为当前路径的总长度,Llast为上一次的路径的总长度;
当出现最优路径时,对当前信息素浓度增加
Figure FDA0004043431030000029
作为奖励,当出现相对较差路径时,则对当前信息素浓度减去
Figure FDA00040434310300000210
作为惩罚,当出现最差路径时,则对当前信息素浓度减去
Figure FDA0004043431030000031
作为严惩,增加双向收敛策略的目的是增加较优路径上的信息素浓度、减小较差路径上的信息素,使较多的蚂蚁更快集中到较好路径的搜索上以加快全局最优解搜索速度,并且扩大了解的范围;
应用在虚拟机调度中则可以抽象参数如下表示,赏罚系数定义如下:
Figure FDA0004043431030000032
tasklengthi表示当前任务i和已分配到j虚拟机上的所有任务的长度之和,单位为Million Instructions即每秒处理百万条的指令数,totaltasklengthj表示所有任务i和已分配到j虚拟机上的所有任务的长度之和,根据此时的ω可以计算出新的信息素浓度;
3.3设τij(t)是虚拟机VMj在t时刻的信息素浓度,信息素浓度的更新公式如下所示:
τij(t+1)=(1-ω*ρ)*τij(t)+Δτij(t,t+1)                              (9)
其中ρ∈(0,1)是信息素的衰减系数,如果ρ值越大就表明路径的信息素浓度受以前的影响程度就越小,Δτij(t,t+1)表示在本次循环中在VMj上的信息素增量;当一只蚂蚁完成了它的遍历,然后找出在当前时刻任务的最短完成时间,那么给这次遍历一个增强,对它所爬行过的虚拟机节点进行全局信息素更新,这时,其值更新如下:
Δτij(t,t+1)=D/Tij                                              (10)
Tij表示任务i在最优分配中在VMj上处理花费的时间,D是一个常数;
步骤4,当蚂蚁移动到新的任务后,更新其经过路径的信息素,并修改禁忌表,在蚂蚁的每次搜索过程中,都会对信息素按(4)公式进行更新,当所有的蚂蚁完成一次迭代之后,即所有蚂蚁都完成了路径搜索时,跳转到步骤2,然后对路径上的虚拟机进行全局信息素更新;
步骤5,计算每只蚂蚁的任务完成时间,并保留当前时刻的最小的任务完工时间;判断是否满足迭代结束条件,如果满足,结束迭代过程并输出最优任务分配方案,否则,转到步骤2,直到满足迭代条件为止。
CN201911391039.XA 2019-12-30 2019-12-30 一种基于改进mmas的负载均衡调度方法 Active CN111240796B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911391039.XA CN111240796B (zh) 2019-12-30 2019-12-30 一种基于改进mmas的负载均衡调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911391039.XA CN111240796B (zh) 2019-12-30 2019-12-30 一种基于改进mmas的负载均衡调度方法

Publications (2)

Publication Number Publication Date
CN111240796A CN111240796A (zh) 2020-06-05
CN111240796B true CN111240796B (zh) 2023-04-18

Family

ID=70879471

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911391039.XA Active CN111240796B (zh) 2019-12-30 2019-12-30 一种基于改进mmas的负载均衡调度方法

Country Status (1)

Country Link
CN (1) CN111240796B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111669328B (zh) * 2020-07-02 2022-12-02 安徽省地震局 基于量子最大最小蚁群算法的QoS路由选择方法
CN112084035B (zh) * 2020-09-21 2024-04-30 西安理工大学 一种基于蚁群算法的任务调度方法及系统
CN112511445B (zh) * 2020-09-28 2022-03-25 复旦大学 一种基于负载加权的最短路径路由生成方法
CN113867960B (zh) * 2021-09-30 2023-08-11 丝路信息港云计算科技有限公司 基于文件类型的云负载均衡混合模型

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104700251A (zh) * 2015-03-16 2015-06-10 华南师范大学 一种车辆调度问题的改进最大-最小蚁群优化方法及系统
US10216546B1 (en) * 2018-07-09 2019-02-26 Insitu Software Limited Computationally-efficient resource allocation
CN109840625A (zh) * 2019-01-10 2019-06-04 华南理工大学 一种快递员群路径导航的方法
CN110298589A (zh) * 2019-07-01 2019-10-01 河海大学常州校区 基于遗传-蚁群融合算法的动态服务资源调度方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104700251A (zh) * 2015-03-16 2015-06-10 华南师范大学 一种车辆调度问题的改进最大-最小蚁群优化方法及系统
US10216546B1 (en) * 2018-07-09 2019-02-26 Insitu Software Limited Computationally-efficient resource allocation
CN109840625A (zh) * 2019-01-10 2019-06-04 华南理工大学 一种快递员群路径导航的方法
CN110298589A (zh) * 2019-07-01 2019-10-01 河海大学常州校区 基于遗传-蚁群融合算法的动态服务资源调度方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Ant Colony System and Max-Min Ant System with different parameters setting.《2017 3rd International Conference on Computational Intelligence & Communication Technology (CICT)》.2017, *
Renu Jangra等.Analysis and comparison among Ant System *
基于智能感知网的物料配送动态优化方法;葛妍娇等;《计算机工程与应用》;第55卷(第22期);全文 *
求解TSP问题的改进最大最小蚁群算法;杨延庆等;《西安工程大学学报》(第06期);全文 *

Also Published As

Publication number Publication date
CN111240796A (zh) 2020-06-05

Similar Documents

Publication Publication Date Title
CN111240796B (zh) 一种基于改进mmas的负载均衡调度方法
CN110489229B (zh) 一种多目标任务调度方法及系统
Kaur et al. Deep‐Q learning‐based heterogeneous earliest finish time scheduling algorithm for scientific workflows in cloud
CN111064633B (zh) 一种云边协同电力信息通信设备自动化测试资源分配方法
Sun et al. PACO: A period ACO based scheduling algorithm in cloud computing
CN113627871B (zh) 一种基于多目标粒子群算法的工作流调度方法、系统及存储介质
CN111124689A (zh) 一种集群中容器资源动态分配方法
CN111290831B (zh) 一种云计算基于强化学习的虚拟机迁移方法
CN115480876A (zh) 基于蚁群算法优化的云计算任务调度方法及系统
CN105975342A (zh) 基于改进布谷鸟搜索算法的云计算任务调度方法及系统
CN106228265B (zh) 基于改进粒子群优化的总拖期运输计划调度方法
CN113485826B (zh) 一种边缘服务器负载均衡方法、系统
CN112084035B (zh) 一种基于蚁群算法的任务调度方法及系统
CN105744006A (zh) 一种面向多类型服务的粒子群优化用户请求调度方法
CN113887748B (zh) 在线联邦学习任务分配方法、装置、联邦学习方法及系统
CN116089031A (zh) 一种基于蚁群优化算法的异构任务调度方法
CN114880806A (zh) 基于粒子群优化的新能源汽车销量预测模型参数优化方法
CN113504998A (zh) 一种任务调度方案的确定方法、装置和设备
Xie et al. Cloud computing resource scheduling based on improved differential evolution ant colony algorithm
CN116033026A (zh) 一种资源调度方法
Kalaiselvi et al. A novel impulsive genetic fuzzy C-means for task scheduling and hybridization of improved Fire Hawk Optimizer and enhanced deep Q-learning algorithm for load balancing in cloud
CN110297704B (zh) 一种融入反向学习和试探感知的粒子群优化方法及系统
Nebagiri et al. Multi-Objective of Load Balancing in Cloud Computing using Cuckoo Search Optimization based Simulation Annealing
Chen Effective scheduling simulation of Internet of things load balanced sharing of resources
Junwei et al. Cloud resource scheduling algorithm based on improved LDW particle swarm optimization 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
GR01 Patent grant
GR01 Patent grant