CN115118728A - 基于蚁群算法的边缘负载均衡任务调度方法 - Google Patents

基于蚁群算法的边缘负载均衡任务调度方法 Download PDF

Info

Publication number
CN115118728A
CN115118728A CN202210702387.XA CN202210702387A CN115118728A CN 115118728 A CN115118728 A CN 115118728A CN 202210702387 A CN202210702387 A CN 202210702387A CN 115118728 A CN115118728 A CN 115118728A
Authority
CN
China
Prior art keywords
edge
ant
task
optimal
action
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
CN202210702387.XA
Other languages
English (en)
Other versions
CN115118728B (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.)
Fuzhou University
Original Assignee
Fuzhou 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 Fuzhou University filed Critical Fuzhou University
Priority to CN202210702387.XA priority Critical patent/CN115118728B/zh
Publication of CN115118728A publication Critical patent/CN115118728A/zh
Application granted granted Critical
Publication of CN115118728B publication Critical patent/CN115118728B/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/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]
    • 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)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提出一种基于蚁群算法的边缘负载均衡任务调度方法,在用户给定的多边缘环境下,根据边缘的平均任务处理速率,任务的到达速率,边缘间的网络时延,应用蚁群算法对最优资源任务调度方案进行求解,并使边缘网络的最大任务响应时间最小化。运用蚁群算法,通过设置最优蚂蚁,解决此类连续性问题的思路,最终得到满足条件的最优边缘任务调度方案。通过该算法得出的调度方案,可以保证使用边缘计算的用户有较好的QoS,并减少边缘网络的任务响应时间。

Description

基于蚁群算法的边缘负载均衡任务调度方法
技术领域
本发明属于云计算、移动边缘计算技术领域,尤其涉及一种基于蚁群算法的边缘负载均衡任务调度方法。
背景技术
随着计算机技术的高速发展,人们可以通过便携设备体验到大量引人入胜的计算机应用程序。然而,计算机应用程序的资源需求是不断增长的,这渐渐使得本地设备的计算能力难以满足这些设备的服务需求。为了满足本地设备的资源需求,人们提出了云计算技术,其通过运用云端服务器的丰富计算资源和存储空间,将本地设备上的计算密集型与延迟容忍型任务迁移到云端服务器(后称云端)上执行。
然而,即使云端的处理能力很强,但是随着计算机设备数量的快速增加,传统的云计算技术已经难以满足这些设备对于网络服务质量的要求了。因为本地设备将任务迁移到云端会造成较长的通信延迟,并且大量计算机设备的任务迁移请求也会给云端带来巨大的负载,使其难以满足一些交互性应用程序的任务需求,大大降低了用户的服务质量。
为了克服传统云计算技术的缺点,研究人员提出了移动边缘计算(MEC)模型。其通过在靠近本地设备的网络边缘附近布置一些小型服务器,这些服务器被称作边缘服务器(后称边缘),来满足本地设备的需求。这些边缘也拥有较为丰富的计算资源与存储空间,使得移动设备可以通过计算卸载将原来交由云端处理的任务迁移到边缘上处理,特别是那些计算密集型与延迟容忍型任务。显而易见的是,本地设备与边缘之间的距离远比本地设备与云端间的距离小,通过这一策略,可以大幅减少迁移任务的传输时延,从而减小任务的平均响应时间并减少了本地设备的能源消耗,提高了本地设备的使用时间。此外,对于云端而言,由于本地设备将大量计算密集型任务迁移到边缘服务器,使得云端的计算负载减小,降低了云端的工作负担。
但是,若单纯的将边缘看做一个个孤立的服务器,只是孤立的处理接收到的任务,显然是不科学的。因为当某一边缘范围内的用户数量过多,卸载任务量过大,会使得此边缘的负载过重,使其任务响应时间过高,影响用户体验,特别是当所有用户在单位时间内迁移的总任务量大于对应服务器的任务处理速度时,整个边缘的任务将永远无法解决,导致任务处理失败的问题。所以,正确的做法应该是将各个边缘连接成一个网络,从而使得所有边缘都可以将接收到的任务,利用计算卸载技术迁移到其他边缘上执行。在此基础上通过任务调度,平衡各个边缘之间的负载,最小化整个边缘网络的最大任务响应时间,一般将这些边缘连接在一起组成的网络称之为边缘网络。
发明内容
为了弥补现有技术的空白和不足,本发明提出一种基于蚁群算法的边缘负载均衡任务调度方法,在用户给定的多边缘环境下,根据边缘的平均任务处理速率,任务的到达速率,边缘间的网络时延,应用蚁群算法对最优资源任务调度方案进行求解,并使边缘网络的最大任务响应时间最小化。
本发明具体采用以下技术方案:
一种基于蚁群算法的边缘负载均衡任务调度方法,其特征在于:
设在某一区域,部署N个边缘服务器,本第i个边缘记为ei,,i∈{1,2,...,N},平均任务处理速率为vi,平均任务到达率为λi;目标是在符合公式(3),公式(4)与公式(5)中给出的约束下,找到一个最优任务迁移矩阵Fbes∈RN×N,使这种情况下所有边缘的负载都小于其任务处理速率,并且使整个网络的最大任务响应时间Tmax最小,即:
Figure BDA0003704673480000021
Figure BDA0003704673480000022
Figure BDA0003704673480000023
Figure BDA0003704673480000024
公式(3)表示:对于任意边缘,其只能选择将自己的到达任务卸载给其他边缘,但不能影响其他边缘的任务调度。;式(4)表示一个边缘ei向其他边缘迁移的任务量与自己剩余的任务量之和应等于其单位时间内接收到的总到达任务量λi,从而保证这个边缘任务可以被完成;公式(5)表示边缘间应有网络连接才可以迁移任务;fij表示边缘ei向边缘ej迁移的任务量;
通过蚁群算法求解所述最优任务迁移矩阵。
进一步地,所述蚁群算法包括:
蚁群定义:
用一个二元组式(11)表示算法第t次迭代的第m只蚂蚁:
Figure BDA0003704673480000031
其中
Figure BDA0003704673480000032
为一个可行的任务迁移矩阵,
Figure BDA0003704673480000033
为这只蚂蚁的信息素浓度;所有蚂蚁的集合表示为蚁群ANT,本次迭代结束后蚁群中的最优解记为
Figure BDA0003704673480000034
每一只蚂蚁对应算法的一个解;
蚂蚁移动:
定义解的移动的动作为一个四元组:
<i,j,wdelta,dir> (12)
Figure BDA0003704673480000035
其中u∈(0,1)为搜索步长;定义一个边缘i的动作空间acti={<i,1,wdelta,1>,<i,1,wdelta,-1>,...,<i,k,wdelta,1>,<i,k,wdelta,-1>},其中,k为其邻接集合中的第k个边缘;整个网络的动作空间为:ACT={act1,act2,...,actN};
定义一个符合定义的解为RN×N矩阵,将一个可选的任务调度矩阵作为
Figure BDA0003704673480000036
对于一个动作<i,j,wdelta,dir>,执行:
Figure BDA0003704673480000037
Figure BDA0003704673480000038
Figure BDA0003704673480000039
在执行动作<i,j,wdelta,dir>后,对解的合法性进行一次测试,任务调度矩阵对应的边缘负载矩阵W,也一并修改;
蚂蚁评价:采用的指标为:边缘网络的最大响应时间Tmax,并将历史最优解的位置用bes表示,其对应函数值为
Figure BDA00037046734800000310
蚂蚁搜索操作:
对于一只不为最优解的蚂蚁
Figure BDA00037046734800000311
其搜索策略应该有两种:
向当前最优蚂蚁方向搜索与局部搜索,此时的蚂蚁转移概率为:
Figure BDA0003704673480000041
其中
Figure BDA0003704673480000042
为次节点信息素浓度,
Figure BDA0003704673480000043
为当前最优解蚂蚁的信息素浓度;而根据转移概率,进行一次随机rand∈[0,1]从而得出此蚂蚁的更新策略:
Figure BDA0003704673480000044
局部搜索具体为:此蚂蚁
Figure BDA0003704673480000045
基于其任务调度矩阵随机寻找一个<i,j,wdelta,dir>,j∈ADJi,此动作的方向dir也是随机的,而wdelta取决于此动作负载改变的两个边缘的当前剩余负载(v-w),使用公式(13)计算wdelta并令其中的u=uopt,uopt∈(0,1),称为局部搜索步长;
向当前最优解方向搜索则依赖于当前最优蚂蚁
Figure BDA0003704673480000046
使用这一更新策略时,蚂蚁朝着当前最优蚂蚁方向移动,随着迭代次数的增加,很大一部分的蚂蚁会聚集在最优解周围搜索;
定义向最优解移动动作为:
Figure BDA0003704673480000047
即:
Figure BDA0003704673480000048
其中,delta∈(0,1),为最优解方向搜索步长;
在非最优解更新位置之后,计算Tmax值,若
Figure BDA0003704673480000049
则更新
Figure BDA00037046734800000410
值与最优蚂蚁
Figure BDA00037046734800000411
对于最优解的蚂蚁
Figure BDA00037046734800000412
其移动方式则固定选择局部搜索,使用(13)计算wdelta并令其中的u=ubes,ubes∈(0,1),称为最优解局部搜索步长,最优解搜索时对其动作空间可以执行的动作记录一遍并计算其对应Tmax,其中Tmax值最小的动作为最优动作;若最优动作的Tmax小于
Figure BDA00037046734800000413
则最优蚂蚁执行此最优动作,并更新
Figure BDA00037046734800000414
值;否则计算接收此动作的概率PSA
Figure BDA0003704673480000051
若满足PSA>rand,rand为随机数且满足rand∈[0,1],则最优蚂蚁也执行此动作,否则最优蚂蚁不移动;
蚁群更新:
根据迭代次数,在每轮迭代结束时,更新最优解迭代步长,即:
Figure BDA0003704673480000052
其中,
Figure BDA0003704673480000053
即初始时的最优解迭代步长,t为当前迭代次数;
在一轮迭代之后,需要重新维护最优蚂蚁
Figure BDA0003704673480000054
之后通过以下方式更新所有节点的信息素浓度:
Figure BDA0003704673480000055
其中,ρ∈[0.01,0.03]为信息素挥发系数;在更新信息素浓度后还应对所有蚂蚁的信息素浓度进行一次维护,保证每只蚂蚁的信息素浓度在[τminmax]区间内。
进一步地,当多次更新后最优解的值变化小于预设值,则更新所有蚂蚁的信息素浓度为τmax
本发明及其优选方案运用蚁群算法,通过设置最优蚂蚁,解决此类连续性问题的思路,最终得到满足条件的最优边缘任务调度方案。通过该算法得出的调度方案,可以保证使用边缘计算的用户有较好的QoS,并减少边缘网络的任务响应时间。
附图说明
图1为本发明实施例蚁群算法流程示意图。
图2为本发明实施例程序的最大响应时间示意图1。
图3为本发明实施例程序的最大执行时间示意图1。
图4为本发明实施例程序的最大响应时间示意图2。
图5为本发明实施例程序的最大执行时间示意图2。
图6为本发明实施例程序的最大响应时间示意图3。
图7为本发明实施例程序的最大执行时间示意图3。
具体实施方式
为让本专利的特征和优点能更明显易懂,下文特举实施例,作详细说明如下:
应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,本说明书使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
1系统模型
假设有一个由N个边缘组成的边缘网络,本实施例将其表示为E={e1,e2,...,eN},其中ei表示边缘网络中的第i个边缘。此外,本实施例将每个边缘的平均任务处理速率,即单位时间内每个边缘可以处理的平均任务量表示为V={v1,v2,...,vN},其中vi表示边缘网络中的第i个边缘的平均任务处理速率。
本实施例将某一边缘接收到的本地设备迁移的任务称为到达任务。并且,将每个边缘在单位时间内接收到的总到达任务量称为平均任务到达率,其定义为Λ={λ12,...,λN},,其中λi表示第i个边缘在单位时间内接收到的总到达任务量。此外,为了防止某个边缘出现任务排队时间无限的情况,应满足vi>λi
显然,作为一个边缘网络,所有的边缘应该处在同一连通图之中。考虑到现实情况下,网络的拓扑结构不会太复杂,所以本实施例不允许边与边之间相交。此外,本实施例最多允许每个边缘与K个边缘相连。在这个连通图中,每个边缘都可以将其部分或全部的到达任务迁移到与其相邻的边缘中执行,而此边缘接收到的相邻边缘的迁移任务则不能再次迁移,从而防止任务在两个边缘中来回迁移或某个任务被迁移到与其较远的边缘执行。
由于迁移任务要通过边缘与边缘之间的连接,那么对应的边所产生的延迟必然是不可忽略的。本实施例用D∈RN×N表示这个网络的延迟:
Figure BDA0003704673480000071
其中dij表示从边缘ei向边缘ej传输单位任务量所花费的网络延迟,且dij=dji。特别地,当i=j时,dij=0;当边缘ei与边缘ej之间不存在网络连接时,dij=∞。
有了边缘间的网络延迟矩阵D,本实施例便可以根据其计算出每个边缘i的邻接节点矩阵ADJi,可表示为ADJi={ej|dij≠∞}。其中ej表示与边缘i之间有网络延迟的边缘,即dij≠∞。整个网络的邻接节点集合为ADJ={ADJ1,ADJ2,...,ADJN}。
在确定了以上的几个参数后,本实施例可以借鉴带权图的思想用邻接矩阵来表示整个网络的任务迁移策略,即二维矩阵F∈RN×N,其定义为:
Figure BDA0003704673480000072
其中fij表示边缘ei向边缘ej迁移的任务量,这些任务只能是边缘ei接收的到达任务。此外,整个网络还需满足以下三个约束:
Figure BDA0003704673480000073
Figure BDA0003704673480000074
Figure BDA0003704673480000075
公式(3)表示,对于任意边缘,其只能选择将自己的到达任务卸载给其他边缘,但不能影响其他边缘的任务调度。公式(4)表示一个边缘ei向其他边缘迁移的任务量与自己剩余的任务量之和应等于其单位时间内接收到的总到达任务量λi,从而保证这个边缘任务可以被完成。公式(5)则表示边缘间应有网络连接才可以迁移任务。
在定义了整个网络的任务迁移矩阵后,就可以由此计算出每个边缘单位时间负载量,本实施例将其定义为W={w1,w2,...,wN},其中:
Figure BDA0003704673480000081
即每个边缘的单位时间负载量为任务迁移矩阵的对应列中所有迁移任务之和。
最后,本实施例定义响应时间的评价函数。在边缘环境下,每一边缘与其他边缘间的距离一般远大于其与本地设备之间的距离。因此,在此模型中,本实施例将本地设备迁移任务的时间忽略。由此,本实施例可以得出边缘ei完成单位任务的总时延,即任务响应时间:
Figure BDA0003704673480000082
其中fij·dij表示边缘ei任务传输时延,而fij·tij则表示边缘ei传输给边缘ej的任务执行所需时间。本实施例将其定义为:
Figure BDA0003704673480000083
根据以上两个公式,本实施例就可以计算出任意边缘的任务响应时间。
对于一个网络而言,其最大的任务响应时间显然是和其所有边缘的任务响应时间中的最大值紧密相关,因此本实施例定义整个网络的最大任务响应时间Tmax为:
Tmax=max{T1,T2,...,TN} (9)
2问题定义
本实施例将问题边缘环境下的负载均衡任务定义如下:在某一区域,部署N个边缘服务器,本实施例将第i个边缘记为ei,,i∈{1,2,...,N},其平均任务处理速率为vi,平均任务到达率为λi。最终要实现的目标是在符合公式(3),公式(4)与公式(5)中给出的约束下,找到一个最优任务迁移矩阵Fbes∈RN×N,使这种情况下所有边缘的负载都小于其任务处理速率,并且使整个网络的最大任务响应时间Tmax最小。即:
Figure BDA0003704673480000084
3算法设计
3.1蚁群定义
在本问题中,本实施例基于MMAS的思路来设计算法,如图1所示。
本实施例可以用一个二元组:
Figure BDA0003704673480000091
表示算法第t次迭代的第m只蚂蚁,其中
Figure BDA0003704673480000092
为一个可行的任务迁移矩阵,
Figure BDA0003704673480000093
为这只蚂蚁的信息素浓度。所有蚂蚁的集合表示为蚁群ANT,本次迭代结束后蚁群中的最优解记为
Figure BDA0003704673480000094
因此,每一只蚂蚁对应算法的一个解。
3.2蚂蚁移动
算法在进行搜索时需要使合法解在解空间中做移动操作,因此本实施例接下来定义蚂蚁的移动动作。
本实施例可以定义解的移动的动作为一个四元组:
<i,j,wdelta,dir> (12)
Figure BDA0003704673480000095
其中u∈(0,1)称为搜索步长。由此本实施例可以定义一个边缘i的动作空间acti={<i,1,wdelta,1>,<i,1,wdelta,-1>,...,<i,k,wdelta,1>,<i,k,wdelta,-1>},其中,k为其邻接集合中的第k个边缘。整个网络的动作空间为:ACT={act1,act2,...,actN}。
本实施例定义了一个符合定义的解为RN×N矩阵,将一个可选的任务调度矩阵称为
Figure BDA0003704673480000096
那么对于一个动作<i,j,wdelta,dir>,本实施例应该执行:
Figure BDA0003704673480000097
Figure BDA0003704673480000098
Figure BDA0003704673480000101
显然,在执行动作<i,j,wdelta,dir>后,本实施例改变了节点的任务迁移矩阵,因此在执行移动动作后需要对解的合法性进行一次测试。此外,此任务调度矩阵对应的边缘负载矩阵W,也需要一并修改。
3.3蚂蚁评价
在做了以上定义后,本实施例就需要对一个可行解设置评价指标。本实施例的目标是,使得整个边缘网络的最大任务响应时间最小。因此,本实施例中蚂蚁的评价指标,是边缘网络的最大响应时间Tmax
根据公式(10)可知,较小的Tmax对应的解更优。
在之后的内容中,本实施例将历史最优解的位置用bes表示,其对应函数值为
Figure BDA0003704673480000102
3.4蚂蚁搜索操作
对于一只不为最优解的蚂蚁
Figure BDA0003704673480000103
其搜索策略应该有两种,向当前最优蚂蚁方向搜索与局部搜索,此时的蚂蚁转移概率为:
Figure BDA0003704673480000104
其中
Figure BDA0003704673480000105
为次节点信息素浓度,
Figure BDA0003704673480000106
为当前最优解蚂蚁的信息素浓度。而根据转移概率,本实施例可以进行一次随机rand∈[0,1]从而得出此蚂蚁的更新策略:
Figure BDA0003704673480000107
局部搜索顾名思义,就是此蚂蚁
Figure BDA0003704673480000108
基于其任务调度矩阵随机寻找一个<i,j,wdelta,dir>,j∈ADJi,此动作的方向dir也是随机的,而wdelta取决于此动作负载改变的两个边缘的当前剩余负载(v-w),本实施例使用公式(13)计算wdelta并令其中的u=uopt,uopt∈(0,1),称为局部搜索步长。
向当前最优解方向搜索则依赖于当前最优蚂蚁
Figure BDA0003704673480000109
使用这一更新策略时蚂蚁会朝着当前最优蚂蚁方向移动,随着迭代次数的增加,很大一部分的蚂蚁会聚集在最优解周围搜索,这在很大程度上强化了蚁群的搜索能力。本实施例定义向最优解移动动作为:
Figure BDA0003704673480000111
Figure BDA0003704673480000112
其中,delta∈(0,1),称为最优解方向搜索步长。
在非最优解更新位置之后,计算其Tmax值,若
Figure BDA0003704673480000113
则更新
Figure BDA0003704673480000114
值与最优蚂蚁
Figure BDA0003704673480000115
对于最优解的蚂蚁
Figure BDA0003704673480000116
其移动方式则固定选择局部搜索,本实施例使用(13)计算wdelta并令其中的u=ubes,ubes∈(0,1),称为最优解局部搜索步长。与非最优解不同的是,最优解搜索时要对其动作空间可以执行的动作记录一遍并计算其对应Tmax,其中Tmax值最小的动作称为最优动作。若最优动作的Tmax小于
Figure BDA0003704673480000117
则最优蚂蚁执行此最优动作,并更新
Figure BDA0003704673480000118
值。否则计算接收此动作的概率PSA
Figure BDA0003704673480000119
若满足PSA>rand,rand为随机数且满足rand∈[0,1],则最优蚂蚁也执行此动作,否则最优蚂蚁不移动。
3.5蚁群更新
为了增加算法的搜索能力,根据迭代次数,在每轮迭代结束时,需要更新最优解迭代步长,即
Figure BDA00037046734800001110
其中,
Figure BDA0003704673480000121
即初始时的最优解迭代步长,t为当前迭代次数。
此外,在一轮迭代之后,本实施例要重新维护最优蚂蚁
Figure BDA0003704673480000122
之后通过以下方式更新所有节点的信息素浓度:
Figure BDA0003704673480000123
其中,ρ∈[0.01,0.03]为信息素挥发系数。在更新信息素浓度后还应对所有蚂蚁的信息素浓度进行一次维护,保证每只蚂蚁的信息素浓度在[τminmax]区间内。
最后,为了避免算法停滞,当多次更新后最优解的值没有较大变化,则更新所有蚂蚁的信息素浓度为τmax
3.6算法流程
经过整合之后的的蚁群算法伪代码流程如算法1所示。
Figure BDA0003704673480000124
Figure BDA0003704673480000131
Figure BDA0003704673480000141
4算法评估
4.1实验环境
假设边缘之间的网络延时与它们之间的物理距离成正比。各个边缘的平均任务到达率,平均任务处理速率均服从正态分布,而边缘服务器数则取25,30,35具体参数设置如表1所列。
表1实验参数
参数 参数取值
边缘服务器个数N {25,30,35}
平均任务处理速率v<sub>i</sub> N(15,6)
平均任务到达率λ<sub>i</sub> N(10,4)
每个边缘的最大邻接边缘数K 3
边缘间网络传输时延d<sub>ij</sub> [0.1,0.2]
然后选择两种算法进行对比,分别为随机迁移算法与贪心算法。在随机迁移算法中,随机选取任意两个边缘并随机选择动作迁移。贪心算法则每次选取任务响应时间最大的边缘将一定量的任务迁移到与其相连的任务响应时间最小的边缘,直到上述算法均满足迭代次数。本实验在搭载了2.30GHz Intel(R)i5的CPU和8GiB RAM的服务器上运行,并且3种算法在每种配置环境下都各执行10次,然后取10次结果的平均数。
为了更好的比较蚁群算法,随机迁移算法与贪心算法的寻优能力,本次实验在9个场景中,通过表1所述参数生成数据,重复进行10次模拟,所得最大任务响应时间和程序执行时间都取平均值。接下来本实施例从这两个方面分析实验结果。
4.2最大任务响应时间
在表2,图2、图4、图6中列出了每个场景下,蚁群算法,贪心算法以及随机迁移算法给出的边缘网络的最大任务响应时间。本实施例可以很直观的看到,不论在那个场景下,本实施例提出的蚁群算法都能够求得比另外两种对比算法更小的最大任务响应时间,寻优能力更强。这是因为
(1)蚁群算法采用了信息素,引入了正反馈机制,算法迭代初期蚁群会偏向于随机搜索,找到较好的可行解位置。算法迭代后期,则大量蚂蚁会围绕着此时的最优解周围寻优,算法会不断向着最优解收敛。
(2)本实施例引入了最大最小蚁群系统机制,降低了早期的局部最优的信息素累积优势,同时也使得即使算法后期也有部分蚂蚁可以随机搜索,提高了蚁群的多样性,进一步增强了算法的寻优能力。
综上,蚁群算法的结果普遍优于随机迁移算法和贪心算法。蚁群算法相比于各个场景的初始值,平均优化了85.55%。平均优于随机迁移算法38.41%,相比于贪心算法,蚁群算法的结果也平均优于其16.54%。
至于贪心算法,它会自适应的寻找负载最大的边缘,并减少此边缘的负载。但是他的结果不稳定,若出现某个边缘只和一个边缘相连时,很可能会出现任务量来回调度的情况,导致算法陷入停滞,但是其迭代结果也都比随机迁移算法好。
而随机迁移算法虽然可以在一定程度上降低任务最大响应时间,它计算的结果不仅不如前两种算法,也有较大不确定性,从表2中也可以看出,其结果有可能与贪心算法相差不大,也有可能比贪心算法差的多,这是因为其迁移的随机性。可以看到,随机算法的效果是三种算法中最差的。
表2不同场景下各算法最大任务响应时间
Figure BDA0003704673480000151
Figure BDA0003704673480000161
4.3程序运行时间
图3、图5、图7反应了各个场景下,蚁群算法,随机迁移算法,贪心算法需要的程序运行时间(单位:秒)。实验结果表明,蚁群算法需要最久的运行时间,这是因为蚁群算法的每次迭代都需要多次计算,包括转移概率,信息素浓度,每个移动动作对应的任务调度矩阵等等,这显然在一定程度上提高了算法的计算时间。并且在算法运行过程中,每次迭代都要对整个蚁群进行一次遍历与更新也是蚁群算法运行时间长的重要原因之一。而随机迁移算法没有蚁群算法的复杂计算,但是其每次迭代也需要对庞大的可行解集合进行遍历和更新,因此所需时间也较高。贪心算法只需要维护一个矩阵且每次迭代只有一个动作,因此其花费的程序运行时间少。
以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例。但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。
本专利不局限于上述最佳实施方式,任何人在本专利的启示下都可以得出其它各种形式的基于蚁群算法的边缘负载均衡任务调度方法,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本专利的涵盖范围。

Claims (3)

1.一种基于蚁群算法的边缘负载均衡任务调度方法,其特征在于:
设在某一区域,部署N个边缘服务器,本第i个边缘记为ei,,i∈{1,2,...,N},平均任务处理速率为vi,平均任务到达率为λi;目标是在符合公式(3),公式(4)与公式(5)中给出的约束下,找到一个最优任务迁移矩阵Fbes∈RN×N,使这种情况下所有边缘的负载都小于其任务处理速率,并且使整个网络的最大任务响应时间Tmax最小,即:
Figure FDA0003704673470000011
Figure FDA0003704673470000012
Figure FDA0003704673470000013
Figure FDA0003704673470000014
公式(3)表示:对于任意边缘,其只能选择将自己的到达任务卸载给其他边缘,但不能影响其他边缘的任务调度。;式(4)表示一个边缘ei向其他边缘迁移的任务量与自己剩余的任务量之和应等于其单位时间内接收到的总到达任务量λi,从而保证这个边缘任务可以被完成;公式(5)表示边缘间应有网络连接才可以迁移任务;fij表示边缘ei向边缘ej迁移的任务量;
通过蚁群算法求解所述最优任务迁移矩阵。
2.根据权利要求1所述的基于蚁群算法的边缘负载均衡任务调度方法,其特征在于:所述蚁群算法包括:
蚁群定义:
用一个二元组式(11)表示算法第t次迭代的第m只蚂蚁:
Figure FDA0003704673470000015
其中
Figure FDA0003704673470000016
为一个可行的任务迁移矩阵,
Figure FDA0003704673470000017
为这只蚂蚁的信息素浓度;所有蚂蚁的集合表示为蚁群ANT,本次迭代结束后蚁群中的最优解记为
Figure FDA0003704673470000018
每一只蚂蚁对应算法的一个解;
蚂蚁移动:
定义解的移动的动作为一个四元组:
<i,j,wdelta,dir> (12)
Figure FDA0003704673470000021
其中u∈(0,1)为搜索步长;定义一个边缘i的动作空间acti={<i,1,wdelta,1>,<i,1,wdelta,-1>,...,<i,k,wdelta,1>,<i,k,wdelta,-1>},其中,k为其邻接集合中的第k个边缘;整个网络的动作空间为:ACT={act1,act2,...,actN};
定义一个符合定义的解为RN×N矩阵,将一个可选的任务调度矩阵作为
Figure FDA0003704673470000022
对于一个动作<i,j,wdelta,dir>,执行:
Figure FDA0003704673470000023
Figure FDA0003704673470000024
Figure FDA0003704673470000025
在执行动作<i,j,wdelta,dir>后,对解的合法性进行一次测试,任务调度矩阵对应的边缘负载矩阵W,也一并修改;
蚂蚁评价:采用的指标为:边缘网络的最大响应时间Tmax,并将历史最优解的位置用bes表示,其对应函数值为
Figure FDA0003704673470000026
蚂蚁搜索操作:
对于一只不为最优解的蚂蚁
Figure FDA0003704673470000027
其搜索策略应该有两种:
向当前最优蚂蚁方向搜索与局部搜索,此时的蚂蚁转移概率为:
Figure FDA0003704673470000028
其中
Figure FDA0003704673470000029
为次节点信息素浓度,
Figure FDA00037046734700000210
为当前最优解蚂蚁的信息素浓度;而根据转移概率,进行一次随机rand∈[0,1]从而得出此蚂蚁的更新策略:
Figure FDA0003704673470000031
局部搜索具体为:此蚂蚁
Figure FDA0003704673470000032
基于其任务调度矩阵随机寻找一个<i,j,wdelta,dir>,j∈ADJi,此动作的方向dir也是随机的,而wdelta取决于此动作负载改变的两个边缘的当前剩余负载(v-w),使用公式(13)计算wdelta并令其中的u=uopt,uopt∈(0,1),称为局部搜索步长;
向当前最优解方向搜索则依赖于当前最优蚂蚁
Figure FDA0003704673470000033
使用这一更新策略时,蚂蚁朝着当前最优蚂蚁方向移动,随着迭代次数的增加,很大一部分的蚂蚁会聚集在最优解周围搜索;
定义向最优解移动动作为:
Figure FDA0003704673470000034
即:
Figure FDA0003704673470000035
其中,delta∈(0,1),为最优解方向搜索步长;
在非最优解更新位置之后,计算Tmax值,若
Figure FDA0003704673470000036
则更新
Figure FDA0003704673470000037
值与最优蚂蚁
Figure FDA0003704673470000038
对于最优解的蚂蚁
Figure FDA0003704673470000039
其移动方式则固定选择局部搜索,使用(13)计算wdelta并令其中的u=ubes,ubes∈(0,1),称为最优解局部搜索步长,最优解搜索时对其动作空间可以执行的动作记录一遍并计算其对应Tmax,其中Tmax值最小的动作为最优动作;若最优动作的Tmax小于
Figure FDA00037046734700000310
则最优蚂蚁执行此最优动作,并更新
Figure FDA00037046734700000311
值;否则计算接收此动作的概率PSA
Figure FDA00037046734700000312
若满足PSA>rand,rand为随机数且满足rand∈[0,1],则最优蚂蚁也执行此动作,否则最优蚂蚁不移动;
蚁群更新:
根据迭代次数,在每轮迭代结束时,更新最优解迭代步长,即:
Figure FDA0003704673470000041
其中,
Figure FDA0003704673470000042
即初始时的最优解迭代步长,t为当前迭代次数;
在一轮迭代之后,需要重新维护最优蚂蚁
Figure FDA0003704673470000043
之后通过以下方式更新所有节点的信息素浓度:
Figure FDA0003704673470000044
其中,ρ∈[0.01,0.03]为信息素挥发系数;在更新信息素浓度后还应对所有蚂蚁的信息素浓度进行一次维护,保证每只蚂蚁的信息素浓度在[τminmax]区间内。
3.根据权利要求2所述的基于蚁群算法的边缘负载均衡任务调度方法,其特征在于:当多次更新后最优解的值变化小于预设值,则更新所有蚂蚁的信息素浓度为τmax
CN202210702387.XA 2022-06-21 2022-06-21 基于蚁群算法的边缘负载均衡任务调度方法 Active CN115118728B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210702387.XA CN115118728B (zh) 2022-06-21 2022-06-21 基于蚁群算法的边缘负载均衡任务调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210702387.XA CN115118728B (zh) 2022-06-21 2022-06-21 基于蚁群算法的边缘负载均衡任务调度方法

Publications (2)

Publication Number Publication Date
CN115118728A true CN115118728A (zh) 2022-09-27
CN115118728B CN115118728B (zh) 2024-01-19

Family

ID=83329098

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210702387.XA Active CN115118728B (zh) 2022-06-21 2022-06-21 基于蚁群算法的边缘负载均衡任务调度方法

Country Status (1)

Country Link
CN (1) CN115118728B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115623010A (zh) * 2022-10-19 2023-01-17 南京航空航天大学 基于sdn和haco-csa的服务器集群负载均衡方法及系统
CN116896483A (zh) * 2023-09-08 2023-10-17 成都拓林思软件有限公司 一种数据保护系统

Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2328308A1 (en) * 2009-11-27 2011-06-01 Alcatel Lucent Method for building a path according to adaptation functions using an ant colony
US20120084743A1 (en) * 2010-09-30 2012-04-05 Ispir Mustafa Method and apparatus for improving the interconnection and multiplexing cost of circuit design from high level synthesis using ant colony optimization
CN102932422A (zh) * 2012-09-29 2013-02-13 南京邮电大学 基于改进蚁群算法的云环境任务调度方法
CN105487920A (zh) * 2015-10-12 2016-04-13 沈阳工业大学 基于蚁群算法的多核系统实时任务调度的优化方法
CN106095555A (zh) * 2016-06-17 2016-11-09 河海大学常州校区 基于蚁群算法的wsan中执行器任务调度方法
CN107766135A (zh) * 2017-09-29 2018-03-06 东南大学 移动朵云中基于粒子群和模拟退火优化的任务分配方法
CN109191004A (zh) * 2018-09-25 2019-01-11 中国人民解放军空军工程大学 一种多无人机测绘任务分配方法和装置
CN109617991A (zh) * 2018-12-29 2019-04-12 东南大学 基于值函数近似的超密集异构网络小站编码协作缓存方法
CN111611080A (zh) * 2020-05-22 2020-09-01 中国科学院自动化研究所 边缘计算任务协同调度方法、系统、装置
CN111639811A (zh) * 2020-06-01 2020-09-08 中国农业大学 基于改进蚁群算法的多农机协同作业远程管理调度方法
CN111967643A (zh) * 2020-07-13 2020-11-20 北京工业大学 一种基于贪婪自适应蚁群算法的任务调度方法
CN112256415A (zh) * 2020-10-19 2021-01-22 福州大学 基于pso-ga的微云负载均衡任务调度方法
CN112488868A (zh) * 2020-11-27 2021-03-12 北京邮电大学 一种基于闭环框架的表面活性剂驱油集成调度优化与控制方法
CN112738272A (zh) * 2021-01-12 2021-04-30 浙江工业大学 一种最小化网络时延的边缘节点负载均衡方法
CN113641500A (zh) * 2021-08-18 2021-11-12 嘉兴学院 一种综合信任评价的海上边缘计算卸载方法
CN113672372A (zh) * 2021-08-30 2021-11-19 福州大学 一种基于强化学习的多边缘协同负载均衡任务调度方法
CN114154685A (zh) * 2021-11-15 2022-03-08 国网黑龙江省电力有限公司信息通信公司 智能电网中电能数据调度方法
CN114363962A (zh) * 2021-12-07 2022-04-15 重庆邮电大学 一种协作式边缘服务器部署和资源调度方法、存储介质及系统
CN114500560A (zh) * 2022-01-06 2022-05-13 浙江鼎峰科技股份有限公司 一种最小化网络时延的边缘节点服务部署与负载均衡方法

Patent Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2328308A1 (en) * 2009-11-27 2011-06-01 Alcatel Lucent Method for building a path according to adaptation functions using an ant colony
US20120084743A1 (en) * 2010-09-30 2012-04-05 Ispir Mustafa Method and apparatus for improving the interconnection and multiplexing cost of circuit design from high level synthesis using ant colony optimization
CN102932422A (zh) * 2012-09-29 2013-02-13 南京邮电大学 基于改进蚁群算法的云环境任务调度方法
CN105487920A (zh) * 2015-10-12 2016-04-13 沈阳工业大学 基于蚁群算法的多核系统实时任务调度的优化方法
CN106095555A (zh) * 2016-06-17 2016-11-09 河海大学常州校区 基于蚁群算法的wsan中执行器任务调度方法
CN107766135A (zh) * 2017-09-29 2018-03-06 东南大学 移动朵云中基于粒子群和模拟退火优化的任务分配方法
CN109191004A (zh) * 2018-09-25 2019-01-11 中国人民解放军空军工程大学 一种多无人机测绘任务分配方法和装置
CN109617991A (zh) * 2018-12-29 2019-04-12 东南大学 基于值函数近似的超密集异构网络小站编码协作缓存方法
CN111611080A (zh) * 2020-05-22 2020-09-01 中国科学院自动化研究所 边缘计算任务协同调度方法、系统、装置
CN111639811A (zh) * 2020-06-01 2020-09-08 中国农业大学 基于改进蚁群算法的多农机协同作业远程管理调度方法
CN111967643A (zh) * 2020-07-13 2020-11-20 北京工业大学 一种基于贪婪自适应蚁群算法的任务调度方法
CN112256415A (zh) * 2020-10-19 2021-01-22 福州大学 基于pso-ga的微云负载均衡任务调度方法
CN112488868A (zh) * 2020-11-27 2021-03-12 北京邮电大学 一种基于闭环框架的表面活性剂驱油集成调度优化与控制方法
CN112738272A (zh) * 2021-01-12 2021-04-30 浙江工业大学 一种最小化网络时延的边缘节点负载均衡方法
CN113641500A (zh) * 2021-08-18 2021-11-12 嘉兴学院 一种综合信任评价的海上边缘计算卸载方法
CN113672372A (zh) * 2021-08-30 2021-11-19 福州大学 一种基于强化学习的多边缘协同负载均衡任务调度方法
CN114154685A (zh) * 2021-11-15 2022-03-08 国网黑龙江省电力有限公司信息通信公司 智能电网中电能数据调度方法
CN114363962A (zh) * 2021-12-07 2022-04-15 重庆邮电大学 一种协作式边缘服务器部署和资源调度方法、存储介质及系统
CN114500560A (zh) * 2022-01-06 2022-05-13 浙江鼎峰科技股份有限公司 一种最小化网络时延的边缘节点服务部署与负载均衡方法

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
周平;殷波;邱雪松;郭少勇;孟洛明;: "面向服务可靠性的云资源调度方法", 电子学报, no. 05, pages 62 - 69 *
姚泽玮、林嘉雯: "基于PSO-GA的多边缘负载均衡方法", 计算机科学, no. 11, pages 456 - 463 *
尧海昌;柴博周;刘尚东;季一木;: "基于蚁群算法的轨道交通集群调度算法研究", 南京邮电大学学报(自然科学版), no. 04, pages 85 - 92 *
李艳平;: "基于MATLAB的蚁族算法求解旅行商问题", 计算机光盘软件与应用, no. 14, pages 75 - 76 *
谢伟增: "改进蚁群算法的云计算任务调度方法", 计算机系统应用, no. 06, pages 198 - 201 *
陈晶;潘全科;: "改进蚁群算法求解同型机任务调度问题", 计算机工程与应用, no. 06, pages 44 - 48 *
高建明;: "云计算中的基于ACO-SOS的任务调度的研究", 科技通报, no. 04, pages 154 - 159 *
黄小玲;杨桂芹;邵军花;蒋占军;: "软件定义网络中蚁群优化的负载均衡算法", 测控技术, no. 01, pages 113 - 117 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115623010A (zh) * 2022-10-19 2023-01-17 南京航空航天大学 基于sdn和haco-csa的服务器集群负载均衡方法及系统
CN116896483A (zh) * 2023-09-08 2023-10-17 成都拓林思软件有限公司 一种数据保护系统
CN116896483B (zh) * 2023-09-08 2023-12-05 成都拓林思软件有限公司 一种数据保护系统

Also Published As

Publication number Publication date
CN115118728B (zh) 2024-01-19

Similar Documents

Publication Publication Date Title
CN113543176B (zh) 基于智能反射面辅助的移动边缘计算系统的卸载决策方法
CN115118728A (zh) 基于蚁群算法的边缘负载均衡任务调度方法
CN113296845A (zh) 一种边缘计算环境下基于深度强化学习的多小区任务卸载算法
WO2023040022A1 (zh) 一种在随机网络中基于算网协同的分布式计算卸载方法
CN112702401B (zh) 一种电力物联网多任务协同分配方法及装置
Vakilian et al. Using the cuckoo algorithm to optimizing the response time and energy consumption cost of fog nodes by considering collaboration in the fog layer
CN113342409B (zh) 多接入边缘计算系统时延敏感型任务卸载决策方法及系统
CN110784366A (zh) Sdn中基于immac算法的交换机迁移方法
CN114567895A (zh) 一种mec服务器集群的智能协同策略的实现方法
CN112132202A (zh) 一种基于综合信任评价的边缘计算协同盟员发现方法
Kashyap et al. Deep learning based offloading scheme for IoT networks towards green computing
CN115277689A (zh) 一种基于分布式联邦学习的云边网络通信优化方法及系统
CN116489712B (zh) 一种基于深度强化学习的移动边缘计算任务卸载方法
CN116260871A (zh) 一种基于本地和边缘协同缓存的独立任务卸载方法
CN113973113B (zh) 一种面向移动边缘计算的分布式服务迁移方法
Chen et al. An intelligent task offloading algorithm (iTOA) for UAV network
CN112596910A (zh) 一种多用户mec系统中的云计算资源调度方法
CN115499875B (zh) 一种卫星互联网任务卸载方法、系统以及可读存储介质
CN111930435A (zh) 一种基于pd-bpso技术的任务卸载决策方法
CN111148155A (zh) 一种基于移动边缘计算的任务卸载方法
CN114567564B (zh) 一种基于服务器协作的任务卸载和计算资源分配方法
CN113672372B (zh) 一种基于强化学习的多边缘协同负载均衡任务调度方法
Xu et al. An optimization scheme for task offloading and resource allocation in vehicle edge networks
Li et al. Dynamic Function Allocation in Edge Serverless Computing Networks
Yao et al. Performance Optimization in Serverless Edge Computing Environment using DRL-Based Function Offloading

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