CN111813506B - 一种基于粒子群算法资源感知计算迁移方法、装置及介质 - Google Patents
一种基于粒子群算法资源感知计算迁移方法、装置及介质 Download PDFInfo
- Publication number
- CN111813506B CN111813506B CN202010693095.5A CN202010693095A CN111813506B CN 111813506 B CN111813506 B CN 111813506B CN 202010693095 A CN202010693095 A CN 202010693095A CN 111813506 B CN111813506 B CN 111813506B
- Authority
- CN
- China
- Prior art keywords
- particle
- workflow
- value
- pbest
- probability
- 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
- 239000002245 particle Substances 0.000 title claims abstract description 322
- 238000013508 migration Methods 0.000 title claims abstract description 62
- 230000005012 migration Effects 0.000 title claims abstract description 62
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000005457 optimization Methods 0.000 title claims abstract description 49
- 238000004364 calculation method Methods 0.000 title claims abstract description 34
- 230000008447 perception Effects 0.000 title claims abstract description 5
- 238000005265 energy consumption Methods 0.000 claims abstract description 85
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 55
- 230000006870 function Effects 0.000 claims abstract description 35
- 230000035772 mutation Effects 0.000 claims description 62
- 108090000623 proteins and genes Proteins 0.000 claims description 13
- 230000002068 genetic effect Effects 0.000 claims description 11
- 230000010354 integration Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 3
- 238000013468 resource allocation Methods 0.000 abstract description 9
- 238000012545 processing Methods 0.000 description 16
- 210000000349 chromosome Anatomy 0.000 description 13
- 230000005540 biological transmission Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000007423 decrease Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- VREFGVBLTWBCJP-UHFFFAOYSA-N alprazolam Chemical compound C12=CC(Cl)=CC=C2N2C(C)=NN=C2CN=C1C1=CC=CC=C1 VREFGVBLTWBCJP-UHFFFAOYSA-N 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000002243 precursor Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- 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
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于粒子群算法资源感知计算迁移方法,所述方法包括:对输入的每一个工作流中的子任务的前驱后继关系进行判断然后对每个工作流进行整合重构,得到复杂工作流的全局模型;基于粒子群优化算法,以系统能耗和时延为优化目标,通过迭代不断更新粒子速度、粒子位置以及粒子适应度函数,最终得到多目标优化后粒子的迁移策略;根据当前的系统能耗、系统时延以及边缘服务器的资源利用率,进一步地,在每一次迁移策略确定后对系统进行新一轮的资源配置,实现能耗、时延以及资源利用率三目标优化。本发明在面对用户端产生的较为复杂的任务时,仍可以为用户提供质量较高的服务,且可以实现对服务器的负载进行平衡的功能,计算简单快速。
Description
技术领域
本发明涉及任务迁移与资源配置领域,具体涉及一种基于粒子群算法资源感知计算迁移方法、装置及介质。
背景技术
在移动边缘计算(Mobile Edge Computing,MEC)环境中,任务可以通过计算迁移迁移到边缘服务器或远程云数据中心(公有云)进行处理,如图5所示,以达到解放移动设备资源,降低任务处理时延和能耗的目的。但是随着移动设备的更新换代以及物联网、车联网等新技术的产生,用户端产生的任务变得更为复杂,甚至可能同时存在能耗、时延等多种约束,如果不能根据任务的特征合理的规划迁移策略,网络拥塞、服务器过载等一系列会对服务质量造成严重影响的情况仍然可能发生。
现有的针对MEC环境下的优化方法,大多针对于一般应用或一般工作流进行优化。吴华明等人在文献“An efficient application partitioning algorithm in mobileenvironments,IEEE Transactions on Parallel and Distributed Systems,2019.”中针对一般应用,提出了一种适用于MEC环境的迁移分区算法。综合优化了系统的能耗、时间消耗和成本。许小龙等人在文献“Energy-Efficient Computation Offloading inCloudlet-Based Mobile Cloud Using NSGA-II.2018Eleventh InternationalConference on Mobile Computing and Ubiquitous Network(ICMU).IEEE,2018.”中基于非支配排序遗传算法-II(Non-dominated Sorting Genetic Algorithm II,NSGA-II)针对一般工作流提出了一种多目标计算迁移方法。他们的目标是优化系统能耗的同时降低任务处理的时延。但是由于用户端产生的任务可能是由若干有序工作流与若干无序工作流所组成的复杂的工作流,这就意味着算法的输入不仅是数据量较大的任务流,而且这些任务之间存在着一定的前驱后继关系,甚至具有能耗、时延等多方面的约束。因此,现有的研究方法可能并不能适用于针对复杂工作流的计算迁移和多目标优化。
而为了解决任务数量较大,处理速度较慢的复杂问题,PSO算法凭借其收敛速度较快的优点进入了人们的视野。PSO算法于1995年由J.Kennedy和R.Eberhart在文献“Particle swarm optimization,International Conf.on Neural Networks,vol.4,pp.1942–1948,1995”中首先提出。算法中,粒子当前位置、粒子当前速度、粒子个体经验、粒子群体经验这四个因素决定了粒子下一时刻的位置,四者矢量相加就可得到粒子下一时刻的位置,即当前迭代完成后粒子应当处于的位置。在MEC环境中,利用PSO算法能够简单快速的解决双目标优化问题,这也是PSO算法相较NSGA-II等遗传算法的优势所在。王英杰等人在文献“An Energy-Efficient and Deadline-Aware Task Offloading Strategy Basedon Channel Constraint for Mobile Cloud Workflows(May 2019).IEEE Access.PP.1-1.10.1109/ACCESS.2019.2919319.”中基于PSO算法,提出了一种针对一般工作流且满足最大截止时间约束的能耗、时延的双目标优化算法。然而,在关于PSO算法应用的研究中,由于算法收敛速度过快,粒子较易陷入局部收敛的问题给研究带来了很大的困难。因此,如何得到一个合适的迁移策略仍然是一个充满挑战性的问题。
而除了针对复杂工作流计算迁移的问题之外,对于整个系统来说,如何在满足用户端能耗和时延要求的同时,进一步对边缘服务器的计算资源进行优化同样也是一个十分重要的问题。因为边缘服务器不同于远程云数据中心,其资源是有限的,因此当边缘服务器中计算资源的利用率较低时,说明有一部分正常工作的虚拟机实际上并没有起到作用;反之,当边缘服务器的资源利用率较高,则可能出现服务器过载的问题,进而导致任务排队在服务器之外等待执行,导致网络拥塞。尤其是面对数据量大,数据种类繁多的复杂工作流,网络拥塞的情况更容易发生。因此,资源配置同样也是影响服务质量、决定系统是否能够得到优化的关键性因素之一,且同样是一个具有挑战性的问题。
发明内容
本发明要解决的技术问题,在于提供一种基于粒子群算法资源感知计算迁移方法、装置及介质,针对复杂工作流实现优化,从而降低系统能耗和系统时延。
第一方面,本发明提供了一种基于粒子群算法资源感知计算迁移方法,具体包括如下步骤:
步骤10、采用递归的方法对每一个工作流中的子任务的前驱后继关系进行判断,并采用基因算法,将每一个子任务作为一个基因,构建出每一个工作流的内置模型;根据前驱后继关系,将工作流划分成为有序工作流和无序工作流,然后对工作流的内置模型进行整合重构,得到工作流的简化模型;
步骤20、根据网络环境因素和用户的需求,预定义粒子的适应度函数、粒子迁移策略以及服务器集群搜索范围,并对算法中的因子进行初始化,所述因子包括惯性因子、个体学习因子、群体学习因子、个体影响常数、群体影响常数、粒子个体最优解、粒子群体最优解、粒子位置、粒子速度、系统最大能耗约束、系统最大时延约束、系统资源利用率平衡值、最大迭代次数、粒子交叉概率以及粒子变异概率;
步骤30、获取工作流的简化模型,将每一个子任务作为一个粒子得到任务总数,然后根据任务总数初始化各边缘服务器集群正常工作的虚拟机数量;
步骤40、通过粒子的适应度函数计算每个粒子的适应度值;
步骤50、获取当前系统总能耗以及当前系统总时延,判断当前系统总能耗是否小于等于系统最大能耗约束且当前系统总时延是否小于等于系统最大时延约束,若是,则进入步骤60,若否,则根据当前粒子交叉概率和粒子变异概率对工作流进行交叉和变异操作,然后对粒子交叉概率和粒子变异概率进行更新,然后返回步骤40;
步骤60、根据每个粒子的适应度值更新粒子个体最优解以及粒子群体最优解,接着再根据粒子个体最优解以及粒子群体最优解更新粒子下一时刻的速度以及粒子下一时刻的位置;
步骤80、根据当前粒子交叉概率和粒子变异概率对工作流进行交叉和变异操作,然后对粒子交叉概率和粒子变异概率进行更新,接着判断当前迭代次数是否小于等于最大迭代次数,若是则返回步骤40,若否,则结束。
优选的,所述步骤60后还包括:
步骤70、计算当前各边缘服务器的资源利用率,然后与系统资源利用率平衡值比较,若存在边缘服务器的资源利用率大于系统资源利用率平衡值,则在计算资源最少的边缘服务器上增加一个正常工作的虚拟机,然后进入步骤80;若存在存在边缘服务器的资源利用率小于系统资源利用率平衡值,则在计算资源最少的边缘服务器上减少一个正常工作的虚拟机,然后进入步骤80;若存在存在边缘服务器的资源利用率等于系统资源利用率平衡值,则不改变边缘服务器边缘服务器的虚拟机配置,然后进入步骤80。
优选的,所述步骤20中,惯性因子、个体学习因子、群体学习因子、个体影响常数、群体影响常数的选取范围满足如下关系式:
优选的,所述步骤40进一步具体为:
通过粒子的适应度函数计算每个粒子的适应度值,计算粒子的适应度值的公式如下:
其中,Fit(n,f)为粒子的适应度函数,Etotal(n,f)为系统能耗,Ttotal(n,f)为系统时延,f为工作流数量,n为该工作流中子任务数量,μ和ω为(0,1)区间的任一常数值,用于根据优化需求调整能耗和时延分别占的比例。
进一步的,所述步骤60进一步具体包括:
步骤61、以每个粒子的适应度值为比较基准,得到个体最优能耗值和个体最优时延值,然后更新粒子个体最优解以及粒子群体最优解;
粒子群体最优解gbest(n,f)取群体最优能耗值gbest(n,f)E和群体最优时延值gbest(n,f)T两者均值,即:
gbest(n,f)=Average(gbest(n,f)E,gbest(n,f)T)
Dg=Abs(gbest(n,f)T-gbest(n,f)E)
pbesti(n,f)=RandSelect{pbesti(n,f)T,pbesti(n,f)E}
pbesti(n,f)=Average(pbest(n,f)E,pbest(n,f)T);
步骤62、根据粒子个体最优解以及粒子群体最优解更新粒子下一时刻的速度以及粒子下一时刻的位置;
根据更新后的pbesti(n,f)及gbesti(n,f)对粒子下一时刻的速度更新的公式如下:
根据粒子下一时刻的速度对粒子下一时刻的位置进行更新,公式如下:
其中,Pi+1(n,f)为粒子下一时刻的位置,Vi+1(n,f)为粒子下一时刻的速度,max为求最大值函数。
所述步骤80中,可以基于如下公式对粒子交叉概率和粒子变异概率进行更新:
其中,β为粒子交叉概率,α为粒子变异概率,Imax为最大迭代次数Inow为当前迭代次数;
随着迭代次数的增加,染色体交叉和粒子变异的概率逐渐下降,因为在迭代即将结束时,此时的染色体的质量是较高的,即迁移策略相较于迭代初期是具有一定的优化的,因此无需很高的交叉和变异概率驱动其变成更好的基因。
第二方面,本发明公开了一种基于粒子群算法资源感知计算迁移装置,其特征在于,包括:工作流简化模型生成模块、第一初始化模块、第二初始化模块、适应度值计算模块、约束判断模块、更新模块以及交叉变异模块;
所述工作流简化模型生成模块,用于采用递归的方法对每一个工作流中的子任务的前驱后继关系进行判断,并采用基因算法,将每一个子任务作为一个基因,构建出每一个工作流的内置模型;根据前驱后继关系,将工作流划分成为有序工作流和无序工作流,然后对工作流的内置模型进行整合重构,得到工作流的简化模型;
所述第一初始化模块,用于根据网络环境因素和用户的需求,预定义粒子的适应度函数、粒子迁移策略以及服务器集群搜索范围,并对算法中的因子进行初始化,所述因子包括惯性因子、个体学习因子、群体学习因子、个体影响常数、群体影响常数、粒子个体最优解、粒子群体最优解、粒子位置、粒子速度、系统最大能耗约束、系统最大时延约束、系统资源利用率平衡值、最大迭代次数、粒子交叉概率以及粒子变异概率;
所述第二初始化模块,用于获取工作流的简化模型,将每一个子任务作为一个粒子得到任务总数,然后根据任务总数初始化各边缘服务器集群正常工作的虚拟机数量;
所述适应度值计算模块,用于通过粒子的适应度函数计算每个粒子的适应度值;
所述约束判断模块,用于获取当前系统总能耗以及当前系统总时延,判断当前系统总能耗以及当前系统总时延是否小于等于系统最大能耗约束、系统最大时延约束,若是,则进入更新模块,若否,则根据当前粒子交叉概率和粒子变异概率对工作流进行交叉和变异操作,然后对粒子交叉概率和粒子变异概率进行更新,然后返回适应度值计算模块;
所述更新模块,用于根据每个粒子的适应度值更新粒子个体最优解以及粒子群体最优解,接着再根据粒子个体最优解以及粒子群体最优解更新粒子下一时刻的速度以及粒子下一时刻的位置;
所述交叉变异模块,用于根据当前粒子交叉概率和粒子变异概率对工作流进行交叉和变异操作,然后对粒子交叉概率和粒子变异概率进行更新,接着判断当前迭代次数是否小于等于最大迭代次数,若是则返回适应度值计算模块,若否,则结束。
进一步的,在执行所述交叉变异模块之前,还包括资源利用率优化模块;
所述资源利用率优化模块,用于计算当前各边缘服务器的资源利用率,然后与系统资源利用率平衡值比较,若存在边缘服务器的资源利用率大于系统资源利用率平衡值,则在计算资源最少的边缘服务器上增加一个正常工作的虚拟机,然后执行交叉变异模块;若存在存在边缘服务器的资源利用率小于系统资源利用率平衡值,则在计算资源最少的边缘服务器上减少一个正常工作的虚拟机,然后执行交叉变异模块。
第三方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面所述的方法。
本发明实施例中提供的技术方案,至少具有如下技术效果或优点:
1、将常用于解决连续函数寻优问题的PSO算法思想运用于解决MEC环境下寻找任务最优迁移策略的离散型问题,同时,针对用户端产生的数据量大、数据种类繁多的任务构造了复杂工作流模型,降低了算法执行时的复杂度;
2、在寻找任务迁移策略的过程中引入了粒子交叉和变异技术,有效降低了PSO算法结果局部收敛的概率;
3、进一步将计算迁移和资源配置相结合,突破了PSO算法局限于双目标优化的限制,在满足用户能耗、时延约束的同时完成了对系统能耗、系统时延、边缘服务器的资源利用率的三目标优化。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明实施例一中方法流程图;
图2为本发明实施例二中装置结构示意图;
图3为本发明实施例三中介质的结构示意图;
图4为本发明实施例四中方法的执行流程图;
图5为本发明实施例四中模拟计算迁移时所处MEC网络环境结构图;
图6为本发明实施例四中任务进行基因编码的过程示意图;
图7为本发明实施例四中将复杂工作流转化为简化模型的示意图;
图8为本发明实施例四中粒子交叉过程示意图;
图9为本发明实施例四中粒子变异过程示意图。
具体实施方式
本发明的总体思路是:为了解决复杂工作流的计算迁移问题,除了需要考虑PSO算法存在的局部收敛问题以及输入端任务数据量较大、种类较多的问题之外,还需要解决任务之间存在前驱后继的关系约束以及网络环境可能存在的能耗、时延等多种约束问题,根据当前的系统能耗、系统时延,在每一次迁移策略确定后对系统进行新一轮的资源配置;还可以进一步在粒子群算法完成系统能耗、系统时延双目标优化的基础上,对边缘服务器的资源利用率进行优化。实现三目标优化。
实施例一
本实施例提供一种基于粒子群算法资源感知计算迁移方法,如图1所示,包括:
步骤10、采用递归的方法对每一个工作流中的子任务的前驱后继关系进行判断,并采用基因算法,将每一个子任务作为一个基因,构建出每一个工作流的内置模型(如图6所示);根据前驱后继关系,将工作流划分成为有序工作流和无序工作流,然后对工作流的内置模型进行整合重构,得到工作流的简化模型(如图7所示)。
步骤20、根据网络环境因素和用户的需求,预定义粒子的适应度函数Fit(n,f)、粒子迁移策略O(n,f)以及服务器集群搜索范围,并对算法中的因子进行初始化,所述因子包括惯性因子个体学习因子p1、群体学习因子p2、个体影响常数k1、群体影响常数k2、粒子个体最优解pbesti(n,f)、粒子群体最优解gbest(n,f)、粒子位置Pi(n,f)、粒子速度Vi(n,f)、系统最大能耗约束Emax、系统最大时延约束Tmax、系统资源利用率平衡值Rbalance、最大迭代次数Imax、粒子交叉概率β以及粒子变异概率α;
其中,惯性因子、个体学习因子、群体学习因子、个体影响常数、群体影响常数的选取范围可以满足如下关系式:
其中,惯性因子的值越大,表示粒子当前速度对下一时刻位置的影响越大。相似的,个体学习因子p1越大,则分别表示粒子个体对下一时刻位置的影响越大。同样,群体学习因子p2的值越大,则表示粒子群体对下一时刻位置的影响越大。诚然,方法最终得到的是全局最优解,但是如果将p2的值设定过大或p1的值设定过小,算法的优化效果可能并不理想。反之,若p2的值设定过小或p1的值设定过大,算法可能会陷入局部收敛,无法得到正确的解。此外,在一般情况下,个体影响常数k1的值等于群体影响常数的值k2等于2。
步骤30、获取工作流的简化模型,将每一个子任务作为一个粒子得到任务总数,然后根据任务总数f×n初始化各边缘服务器集群正常工作的虚拟机数量。
步骤40、通过粒子的适应度函数计算每个粒子的适应度值;
在一种可能的实现方式中,所述步骤40进一步具体为:
通过粒子的适应度函数计算每个粒子的适应度值,计算粒子的适应度值的公式如下:
其中,Fit(n,f)为粒子的适应度函数,Etotal(n,f)为系统能耗,Ttotal(n,f)为系统时延,f为工作流数量,n为该工作流中子任务数量,μ和ω为(0,1)区间的任一常数值,用于根据优化需求调整能耗和时延分别占的比例。
步骤50、获取当前系统总能耗以及当前系统总时延,判断当前系统总能耗是否小于等于系统最大能耗约束且当前系统总时延是否小于等于系统最大时延约束,若是,则进入步骤60,若否,则根据当前粒子交叉概率和粒子变异概率对工作流进行交叉和变异操作,然后对粒子交叉概率和粒子变异概率进行更新,然后返回步骤40;
当前系统总能耗以及当前系统总时延需要同时满足系统最大能耗约束Emax和系统最大时延约束Tmax,即满足如下关系式:
Etotal(n,f)≤Emax
Ttotal(n,f)≤Tmax
若系统总能耗与系统总时延有其一不满足约束,则表示当前粒子位置超出约束条件,舍弃当前迁移策略,根据当前粒子交叉概率和粒子变异概率对工作流进行交叉和变异操作后,返回步骤40重新计算每个粒子的适应度值。
步骤60、根据每个粒子的适应度值更新粒子个体最优解以及粒子群体最优解,接着再根据粒子个体最优解以及粒子群体最优解更新粒子下一时刻的速度以及粒子下一时刻的位置;
所述步骤60进一步具体包括:
步骤61、以每个粒子的适应度值为比较基准,比较当前粒子的能耗适应度值是否小于当前个体最优能耗值,若是,则更新个体最优能耗值;比较当前粒子的时延适应度值是否小于当前个体最优时延值,若是,则更新个体最优时延值;然后根据个体最优能耗值和个体最优时延值,更新粒子个体最优解以及粒子群体最优解;
对于双目标优化来说,群体适应度值gbest(n,f)存在群体最优能耗值gbest(n,f)E和群体最优时延值gbest(n,f)T两种,因此,粒子群体最优解gbest(n,f)取群体最优能耗值gbest(n,f)E和群体最优时延值gbest(n,f)T两者均值,即:
gbest(n,f)=Average(gbest(n,f)E,gbest(n,f)T)
同理,对于单个粒子来说,个体适应度值pbesti(n,f)亦存在个体最优能耗值pbesti(n,f)E和个体最优时延值pbesti(n,f)T两种,但是,个体最优能耗值和个体最优时延值的制约相较于粒子群体来说更大。因此,粒子个体最优解pbesti(n,f)的选取将借助中间优化因子和Dg,且/>和Dg满足如下关系式:
Dg=Abs(gbest(n,f)T-gbest(n,f)E)
当时,表示群体优化目标差异程度较大,而个体优化目标差异程度较小,因此,此时选取pbesti(n,f)T还是pbesti(n,f)T作为新一轮迭代的pbesti(n,f)将不会产生很大的影响,粒子个体最优解可以在pbesti(n,f)T和pbesti(n,f)E中随机选取,即:/>
pbesti(n,f)=RandSelect{pbesti(n,f)T,pbesti(n,f)E}
粒子个体最优解取pbesti(n,f)T和pbesti(n,f)T的平均值,即:
pbesti(n,f)=Average(pbest(n,f)E,pbest(n,f)T);
步骤62、根据粒子个体最优解以及粒子群体最优解更新粒子下一时刻的速度以及粒子下一时刻的位置;
根据更新后的pbesti(n,f)及gbesti(n,f)对粒子下一时刻的速度更新的公式如下:
根据粒子下一时刻的速度对粒子下一时刻的位置进行更新,公式如下:
其中,Pi+1(n,f)为粒子下一时刻的位置,Vi+1(n,f)为粒子下一时刻的速度,max为求最大值函数。
步骤80、根据当前粒子交叉概率和粒子变异概率对工作流进行交叉和变异操作,然后对粒子交叉概率和粒子变异概率进行更新,接着判断当前迭代次数是否小于等于最大迭代次数,若是则返回步骤40,若否,则结束。
可以基于如下公式对粒子交叉概率和粒子变异概率进行更新:
其中,β为粒子交叉概率,α为粒子变异概率,Imax为最大迭代次数Inow为当前迭代次数。
随着迭代次数的增加,染色体交叉和粒子变异的概率逐渐下降,因为在迭代即将结束时,此时的染色体的质量是较高的,即迁移策略相较于迭代初期是具有一定的优化的,因此无需很高的交叉和变异概率驱动其变成更好的基因。
在另一种可能的实现方式中,在更新粒子位置和速度后,可进一步地对边缘服务器的资源利用率进行优化,即在步骤60后还包括如下步骤:
步骤70、计算当前各边缘服务器的资源利用率,然后与系统资源利用率平衡值比较,若存在边缘服务器的资源利用率大于系统资源利用率平衡值,则在计算资源最少的边缘服务器上增加一个正常工作的虚拟机,然后进入步骤80;若存在存在边缘服务器的资源利用率小于系统资源利用率平衡值,则在计算资源最少的边缘服务器上减少一个正常工作的虚拟机,然后进入步骤80;若存在存在边缘服务器的资源利用率等于系统资源利用率平衡值,则不改变边缘服务器边缘服务器的虚拟机配置,然后进入步骤80。
各边缘服务器资源利用率Rs是根据当前正常运行的虚拟机总数VMtotal与正在工作的虚拟机数量VMwork做商得到的。各边缘服务器资源利用率Rs的关系式为:
随着每一次迭代粒子位置,即任务迁移策略的更新,系统的能耗、时延和边缘服务器的资源利用率也会随之改变,由于PSO算法的寻优具有一定的惯性,因此,为了在PSO双目标优化的基础上完成资源配置,则需要在每一次迭代完成后对各个边缘服务器的资源利用率进行评估,在满足用户可接受的最大能耗和最大时延的基础上,在每一次迭代过程中,根据当前各边缘服务器的资源利用率Rs,对每一个边缘服务器上工作的虚拟机数量进行适当的调整。当存在某一边缘服务器的利用率过高(即Rs较大时),则随着任务数量的增加或种类的变化,可能会出现服务器过载情况的发生,进而导致网络拥塞,此时,该边缘服务器上正常工作的虚拟机数量将增加1;而当某一边缘服务器的利用率过低(即Rs较小时),则说明该边缘服务器上存在虚拟机处于开机状态,却无任务可服务的情况,此时该边缘服务器上的虚拟机数量将减1,即关闭无服务的虚拟机,以防虚拟机待机时产生一定的能耗,以达到资源配置的作用。
基于同一发明构思,本申请还提供了与实施例一中的方法对应的装置,详见实施例二。
实施例二
在本实施例中提供了一种装置,如图2所示,包括:工作流简化模型生成模块、第一初始化模块、第二初始化模块、适应度值计算模块、约束判断模块、更新模块以及交叉变异模块;
所述工作流简化模型生成模块,用于采用递归的方法对每一个工作流中的子任务的前驱后继关系进行判断,并采用基因算法,将每一个子任务作为一个基因,构建出每一个工作流的内置模型;根据前驱后继关系,将工作流划分成为有序工作流和无序工作流,然后对工作流的内置模型进行整合重构,得到工作流的简化模型;
所述第一初始化模块,用于根据网络环境因素和用户的需求,预定义粒子的适应度函数、粒子迁移策略以及服务器集群搜索范围,并对算法中的因子进行初始化,所述因子包括惯性因子、个体学习因子、群体学习因子、个体影响常数、群体影响常数、粒子个体最优解、粒子群体最优解、粒子位置、粒子速度、系统最大能耗约束、系统最大时延约束、系统资源利用率平衡值、最大迭代次数、粒子交叉概率以及粒子变异概率;
所述第二初始化模块,用于获取工作流的简化模型,将每一个子任务作为一个粒子得到任务总数,然后根据任务总数初始化各边缘服务器集群正常工作的虚拟机数量;
所述适应度值计算模块,用于通过粒子的适应度函数计算每个粒子的适应度值;
所述约束判断模块,用于获取当前系统总能耗以及当前系统总时延,判断当前系统总能耗是否小于等于系统最大能耗约束且当前系统总时延是否小于等于系统最大时延约束,若是,则进入更新模块,若否,则根据当前粒子交叉概率和粒子变异概率对工作流进行交叉和变异操作,然后对粒子交叉概率和粒子变异概率进行更新,然后返回适应度值计算模块;
所述更新模块,用于根据每个粒子的适应度值更新粒子个体最优解以及粒子群体最优解,接着再根据粒子个体最优解以及粒子群体最优解更新粒子下一时刻的速度以及粒子下一时刻的位置;
所述交叉变异模块,用于根据当前粒子交叉概率和粒子变异概率对工作流进行交叉和变异操作,然后对粒子交叉概率和粒子变异概率进行更新,接着判断当前迭代次数是否小于等于最大迭代次数,若是则返回适应度值计算模块,若否,则结束。
在一种可能的实现方式中,所述装置还包括资源利用率优化模块;
所述资源利用率优化模块,用于计算当前各边缘服务器的资源利用率,然后与系统资源利用率平衡值比较,若存在边缘服务器的资源利用率大于系统资源利用率平衡值,则在计算资源最少的边缘服务器上增加一个正常工作的虚拟机,然后执行交叉变异模块;若存在存在边缘服务器的资源利用率小于系统资源利用率平衡值,则在计算资源最少的边缘服务器上减少一个正常工作的虚拟机,然后执行交叉变异模块;若存在存在边缘服务器的资源利用率等于系统资源利用率平衡值,则不改变边缘服务器边缘服务器的虚拟机配置,然后执行交叉变异模块。
由于本发明实施例二所介绍的装置,为实施本发明实施例一的方法所采用的装置,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该装置的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的装置都属于本发明所欲保护的范围。
基于同一发明构思,本申请提供了实施例一对应的存储介质,详见实施例三。
实施例三
本实施例提供一种计算机可读存储介质,如图3所示,其上存储有计算机程序,该计算机程序被处理器执行时,可以实现实施例一中任一实施方式。
实施例四
为了便于计算和具体说明,以及让本领域技术人员理解本发明所提出的方法,以下公开了一个具体的实施例,请参考图4执行流程图:
步骤1:采用递归的方法对每一个工作流WAf中的子任务wan的前驱后继关系进行判断,并采用基因算法,将每一个子任务看成一个基因,构建出每一个工作流的内置模型(比如图6);
步骤2:根据步骤1所得子任务的前驱后继关系,将WAf划分成为有序工作流WAow和无序工作流WAuw,然后对工作流进行整合重构,即得到简化后的复杂工作流的优化模型(比如图7);
步骤3:根据网络环境因素和用户的需求,对算法中的关键性因子:惯性因子个体学习因子p1、群体学习因子p2、个体影响常数k1、群体影响常数k2、粒子适应度函数Fit(n,f)、粒子个体最优解pbesti(n,f)、粒子群体最优解gbest(n,f)、粒子位置Pi(n,f)、粒子速度Vi(n,f)、粒子迁移策略O(n,f)系统最大能耗约束Emax、系统最大时延约束Tmax、系统资源利用率平衡值Rbalance、最大迭代次数Imax、粒子的交叉概率β以及粒子的变异概率α;
步骤4:迭代开始前,根据任务总数f×n对边缘服务器集群的可用计算资源进行初始化;
步骤5:基于PSO算法,以任务的能耗、时延的优劣程度为标准,根据粒子的适应度函数Fit(n,f)更新粒子的最优解pbesti(n,f)以及gbest(n,f),继而根据粒子的最优解pbesti(n,f)以及gbesti(n,f)更新粒子下一时刻的速度Vi+1(n,f)以及粒子下一时刻的位置Pi+1(n,f),并记录当前策略下系统总能耗Enow、系统总时延Tnow、各边缘服务器的资源利用率Rs;若系统总能耗Enow与系统总时延Tnow均满足限制要求时,对最优迁移策略进行更新;
步骤6:根据步骤5得到的本次迭代时系统中各边缘服务器的资源利用率Rs,若存在Rs>Rbalance,则VMwork+1,若存在Rs<Rbalance,则VMwork-1,VMwork为正常工作的虚拟机数量。
步骤7:根据当前粒子交叉概率β和变异概率α对工作流进行交叉和变异操作,并基于当前迭代次数对概率进行更新,当前迭代次数Inow≤Imax时,返回步骤5继续迭代。
假定网络环境中存在3个边缘服务器,且由于用户端产生的任务较为复杂,任务有很大概率会被迁移,而非在移动设备本地执行。因此,为了提高算法的效率,不考虑任务直接在移动设备本地被处理,只存在迁移到边缘服务器上被处,理和迁移到云数据中心(公有云)上被处理的情况。但本发明可适用的网络环境不局限于此,同样适用于含有不同数量边缘服务器数量,或直接在本地处理的情况。
记任务被迁移到边缘服务器处理的三种情况分别记为O(n,f)=2、O(n,f)=3和O(n,f)=4,迁移策略从2开始以区分于任务直接在本地被处理的情况。相应的,任务被迁移到远程云数据中心上被处理是的情况记为O(n,f)=5。因此,任务的迁移策略满足关系式:O(n,f)∈{2,3,4,5}。
如图6所示,为任务进行基因编码的过程示意图。每一个粒子上的数字表示其各自的迁移策略。通过基因编码,每一个工作流都被转化为一条染色体,以便后续交叉和编译操作的表达。
如图5所示,用户端产生的任务wan可以通过局域网(Local Area Network,LAN)被迁移到边缘服务器上执行,也可以通过广域网(WideArea Network,WAN)被迁移到具有更多计算资源的远程云数据中心请求服务。记LAN链路带宽为Bcl,网络时延为LLAN,WAN链路带宽为Bc,网络时延为LWAN。
当任务的迁移策略O(n,f)∈{2,3,4}时,任务通过LAN被迁移到距离用户端较近的边缘服务器上进行处理,此时的传输时延很低,但边缘服务器的资源利用是有限的,任务处理时延可能较高。而当任务的迁移策略O(n,f)={5}时,任务通过WAN被迁移到距离用户端较近的边缘服务器上进行处理,此时的传输时延较高,但远程云数据中心的资源相较于边缘服务器是多很多的,任务处理时延较低。且记边缘服务器的处理能力,即计算资源分别为Wcl1、Wcl2和Wcl3,远程云数据中心的处理能力为Wc。
任务从产生到完成的过程中,一共存在三种时延:传输时延、排队时延和处理时延;
设用户端某一工作流WAf存在n个子任务,记为wan,子任务的数据量记为D(n,f),针对有序工作流,子任务之间迁移策略的约束记为Rf(n1,n2)。
其中,D(n,f)为1×n的常数数组,用于表示数据量。有序工作流中子任务之间迁移策略的约束满足关系式:
对有序工作流来说,有前驱后继执行顺序约束的子任务之间的迁移策略将对其传输时间产生影响。即当前子任务处理完成后需要向后继子任务发送包含一定数据量的数据包告知后继任务已完成,以驱动后继任务开始执行,即该数据包的数据量,即传输任务的数据量为d(n,f)。而该数据包的传输时间将受到当前任务和后继任务的迁移策略的影响。
在本具体实施例中,工作流WAf中的子任务wan1和wan2之间的传输时延满足关系式:
上述式子中,若当前任务与其后继任务的迁移策略相同,即Rf(n1,n2)∈{(2,2),(3,3),(4,4),(5,5)}时,驱动数据包无需通过链路传输到其他位置,因此,此时的传输时延为0。
而当Rf(n1,n2)∈{(2,3),(2,4),(3,2),(3,4),(4,2),(4,3)}时,表示当前任务和其后继任务被迁移到了不同的边缘服务器上处理,因此,此时当前任务将发送数据量为d(n,f)的数据包以驱动后继子任务开始执行,该数据包将通过带宽为Bcl的链路进行传输,即此时传输时延为
相似的,当Rf(n1,n2)∈{(2,5),(3,5),(4,5),(5,2),(5,3),(5,4)}时,表示当前任务和其后继任务中有其一被迁移到某一边缘服务器上处理,而另一个任务被迁移到远程云数据中心处理。因此,此时的传输时延为
而对于无序工作流来说,则不存在传输时延,仅存在任务从用户端通过LAN或WAN被迁移到设备外部的网络延时,为了区分传输时延,该时延将被包含在任务处理时延中。
在本具体实施例中,工作流WAf中的子任务wan的处理时延满足关系式:
上述式子中,任务wan的处理时延只由任务从开始处理过程时经链路传输到边缘服务器或远程云数据中心到处理完成这个过程中的总时延。由链路传输时延,即LLAN和LWAN,以及任务在服务器端请求服务的服务时延两部分组成。
在本具体实施例中,为了保持算法具有较高的计算效率和算法的实时性,子任务的排队时延Twait(n,f)将从宏观考虑,根据用户端工作流中子任务的任务数据量的大小取常量带入算法执行。以避免服务器精确计算排队时间产生的额外能耗和时延,且在针对数据量较大的复杂任务的情况中,任务的迁移策略不会因预估排队时延与精确值之间的误差而产生很大的影响,而若计算精确值产生的额外能耗反而会导致服务质量急剧降低。
在本具体实施例中,总数为F的工作流WAf的总时延满足关系式:
在本具体实施例中,总数为F的工作流WAf的总能耗满足关系式:
上述式子中,W表示迁移目的地服务器的功率,即当工作流WAf中某一子任务wan的迁移策略O(n,f)=2时,W=Wcl1,即边缘服务器1的功率;相似的,当O(n,f)=3时,W=Wcl2;当O(n,f)=4时W=Wcl3;当O(n,f)=5时,W=Wc。
在本具体实施例中,用于评估系统能耗和时延的适应度函数满足关系式:
上述式子中,μ和ω为(0,1)区间的任一常数值,决定在优化目标中,能耗和时延分别占的比例,可根据用户需求调整。适应度函数Fit(n,f)的值越小,表示能耗和时延的优化效果越好。即粒子迁移策略在能耗和时延优化方面的能力是通过适应度函数的值Fit(n,f)来进行评估的。
根据适应度函数Fit(n,f)与粒子局部最优解pbesti(n,f)和全局最优解gbest(n,f)进行对比,在每一次迭代过程中对适应度函数Fit(n,f)的值进行更新。
随着迭代的进行,粒子的位置和速度在每一次迭代过程中都可能发生变化,以逐步寻找到最优的位置。
粒子速度满足关系式:
粒子位置满足关系式子:
随着每一次迭代粒子位置,即任务迁移策略的更新,系统的能耗、时延和边缘服务器的资源利用率也会随之改变,且PSO算法的寻优具有一定的惯性。因此,为了在PSO双目标优化的基础上完成资源配置,则需要在每一次迭代完成后对各个边缘服务器的资源利用率进行评估,若存在某一边缘服务器的利用率Rs过低,则关闭一个在该边缘服务器上正常工作的虚拟机。反之,若存在某一边缘服务器的利用率Rs过高,则增加一个在该边缘服务器上正常工作的虚拟机。以达到资源配置的作用。
在每一次迭代的最后一步,每一条染色体,即工作流,都存在交叉的可能,且每一个粒子,即每一个子任务,都存在变异的可能。
如图8所示,两条染色体之间相同的部分没有变化,而相同部分左右两侧的基因将进行交叉互换,该过程成为染色体的交叉。且交叉概率β满足关系式子:
如图9所示,每个粒子都存在任意变异的可能,即其迁移策略随机变为另一个,以避免PSO算法陷入局部收敛。且交叉概率α满足关系式子:
随着迭代次数的增加,染色体交叉和粒子变异的概率逐渐下降,因为在迭代即将结束时,此时的染色体的质量是较高的,即迁移策略相较于迭代初期是具有一定的优化的,因此无需很高的交叉和变异概率驱动其变成更好的基因。
本申请实施例中提供的技术方案,至少具有如下技术效果或优点:本申请实施例提供的方法、装置及介质,将常用于解决连续函数寻优问题的PSO算法思想运用于解决MEC环境下寻找任务最优迁移策略的离散型问题,同时,针对用户端产生的数据量大、数据种类繁多的任务构造了复杂工作流模型,降低了算法执行时的复杂度;在寻找任务迁移策略的过程中引入了粒子交叉和变异技术,有效降低了PSO算法结果局部收敛的概率;进一步将计算迁移和资源配置相结合,突破了PSO算法局限于双目标优化的限制,在满足用户能耗、时延约束的同时完成了对系统能耗、系统时延、边缘服务器的资源利用率的三目标优化。本发明可以适用于较为复杂的网络环境中,能够根据用户的需求,对服务器的资源进行配置,为用户提供合适的高质量服务。且该方法的操作步骤简单、可靠性高、实时性强、执行成本低。另外,本发明可以适用于无线城域网中各种各样的移动设备的通信,因此,推广容易,应用广泛,具有很好的普及推广和应用的前景。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
Claims (7)
1.一种基于粒子群算法资源感知计算迁移方法,其特征在于,包括:
步骤10、采用递归的方法对每一个工作流中的子任务的前驱后继关系进行判断,并采用基因算法,将每一个子任务作为一个基因,构建出每一个工作流的内置模型;根据前驱后继关系,将工作流划分成为有序工作流和无序工作流,然后对工作流的内置模型进行整合重构,得到工作流的简化模型;
步骤20、根据网络环境因素和用户的需求,预定义粒子的适应度函数、粒子迁移策略以及服务器集群搜索范围,并对算法中的因子进行初始化,所述因子包括惯性因子、个体学习因子、群体学习因子、个体影响常数、群体影响常数、粒子个体最优解、粒子群体最优解、粒子位置、粒子速度、系统最大能耗约束、系统最大时延约束、系统资源利用率平衡值、最大迭代次数、粒子交叉概率以及粒子变异概率;
步骤30、获取工作流的简化模型,将每一个子任务作为一个粒子得到任务总数,然后根据任务总数初始化各边缘服务器集群正常工作的虚拟机数量;
步骤40、通过粒子的适应度函数计算每个粒子的适应度值;
步骤50、获取当前系统总能耗以及当前系统总时延,判断当前系统总能耗是否小于等于系统最大能耗约束且当前系统总时延是否小于等于系统最大时延约束,若是,则进入步骤60,若否,则根据当前粒子交叉概率和粒子变异概率对工作流进行交叉和变异操作,然后对粒子交叉概率和粒子变异概率进行更新,返回步骤40;
步骤60、根据每个粒子的适应度值更新粒子个体最优解以及粒子群体最优解,接着再根据粒子个体最优解以及粒子群体最优解更新粒子下一时刻的速度以及粒子下一时刻的位置;
步骤80、根据当前粒子交叉概率和粒子变异概率对工作流进行交叉和变异操作,然后对粒子交叉概率和粒子变异概率进行更新,接着判断当前迭代次数是否小于等于最大迭代次数,若是则返回步骤40,若否,则结束;
所述步骤40进一步具体为:
通过粒子的适应度函数计算每个粒子的适应度值,计算粒子的适应度值的公式如下:
其中,Fit(n,f)为粒子的适应度函数,Etotal(n,f)为系统能耗,Ttotal(n,f)为系统时延,f为工作流数量,n为该工作流中子任务数量,μ和ω为(0,1)区间的任一常数值,用于根据优化需求调整能耗和时延分别占的比例;
所述步骤60进一步具体包括:
步骤61、以每个粒子的适应度值为比较基准,得到个体最优能耗值和个体最优时延值,然后更新粒子个体最优解以及粒子群体最优解;
粒子群体最优解gbest(n,f)取群体最优能耗值gbest(n,f)E和群体最优时延值gbest(n,f)T两者均值,即:
gbest(n,f)=Average(gbest(n,f)E,gbest(n,f)T)
Dg=Abs(gbest(n,f)T-gbest(n,f)E)
pbesti(n,f)=RandSelect{pbesti(n,f)T,pbesti(n,f)E}
pbesti(n,f)=Average(pbest(n,f)E,pbest(n,f)T);
步骤62、根据粒子个体最优解以及粒子群体最优解更新粒子下一时刻的速度以及粒子下一时刻的位置;
根据更新后的pbesti(n,f)及gbesti(n,f)对粒子下一时刻的速度更新的公式如下:
根据粒子下一时刻的速度对粒子下一时刻的位置进行更新,公式如下:
其中,Pi+1(n,f)为粒子下一时刻的位置,Vi+1(n,f)为粒子下一时刻的速度,max为求最大值函数。
2.根据权利要求1所述的方法,其特征在于:所述步骤60后还包括:
步骤70、计算当前各边缘服务器的资源利用率,然后与系统资源利用率平衡值比较,若存在边缘服务器的资源利用率大于系统资源利用率平衡值,则在计算资源最少的边缘服务器上增加一个正常工作的虚拟机,然后进入步骤80;若存在边缘服务器的资源利用率小于系统资源利用率平衡值,则在计算资源最少的边缘服务器上减少一个正常工作的虚拟机,然后进入步骤80;若存在边缘服务器的资源利用率等于系统资源利用率平衡值,则不改变边缘服务器边缘服务器的虚拟机配置,然后进入步骤80。
5.一种基于粒子群算法资源感知计算迁移装置,其特征在于,包括:工作流简化模型生成模块、第一初始化模块、第二初始化模块、适应度值计算模块、约束判断模块、更新模块以及交叉变异模块;
所述工作流简化模型生成模块,用于采用递归的方法对每一个工作流中的子任务的前驱后继关系进行判断,并采用基因算法,将每一个子任务作为一个基因,构建出每一个工作流的内置模型;根据前驱后继关系,将工作流划分成为有序工作流和无序工作流,然后对工作流的内置模型进行整合重构,得到工作流的简化模型;
所述第一初始化模块,用于根据网络环境因素和用户的需求,预定义粒子的适应度函数、粒子迁移策略以及服务器集群搜索范围,并对算法中的因子进行初始化,所述因子包括惯性因子、个体学习因子、群体学习因子、个体影响常数、群体影响常数、粒子个体最优解、粒子群体最优解、粒子位置、粒子速度、系统最大能耗约束、系统最大时延约束、系统资源利用率平衡值、最大迭代次数、粒子交叉概率以及粒子变异概率;
所述第二初始化模块,用于获取工作流的简化模型,将每一个子任务作为一个粒子得到任务总数,然后根据任务总数初始化各边缘服务器集群正常工作的虚拟机数量;
所述适应度值计算模块,用于通过粒子的适应度函数计算每个粒子的适应度值;
所述约束判断模块,用于获取当前系统总能耗以及当前系统总时延,判断当前系统总能耗是否小于等于系统最大能耗约束且当前系统总时延是否小于等于系统最大时延约束,若是,则进入更新模块,若否,则根据当前粒子交叉概率和粒子变异概率对工作流进行交叉和变异操作,然后对粒子交叉概率和粒子变异概率进行更新,然后返回适应度值计算模块;
所述更新模块,用于根据每个粒子的适应度值更新粒子个体最优解以及粒子群体最优解,接着再根据粒子个体最优解以及粒子群体最优解更新粒子下一时刻的速度以及粒子下一时刻的位置;
所述交叉变异模块,用于根据当前粒子交叉概率和粒子变异概率对工作流进行交叉和变异操作,然后对粒子交叉概率和粒子变异概率进行更新,接着判断当前迭代次数是否小于等于最大迭代次数,若是则返回适应度值计算模块,若否,则结束;
所述适应度值计算模块通过粒子的适应度函数计算每个粒子的适应度值,计算粒子的适应度值的公式如下:
其中,Fit(n,f)为粒子的适应度函数,Etotal(n,f)为系统能耗,Ttotal(n,f)为系统时延,f为工作流数量,n为该工作流中子任务数量,μ和ω为(0,1)区间的任一常数值,用于根据优化需求调整能耗和时延分别占的比例;
所述更新模块以每个粒子的适应度值为比较基准,得到个体最优能耗值和个体最优时延值,然后更新粒子个体最优解以及粒子群体最优解;
粒子群体最优解gbest(n,f)取群体最优能耗值gbest(n,f)E和群体最优时延值gbest(n,f)T两者均值,即:
gbest(n,f)=Average(gbest(n,f)E,gbest(n,f)T)
Dg=Abs(gbest(n,f)T-gbest(n,f)E)
当Dip<Dg时,粒子个体最优解在pbesti(n,f)T和pbesti(n,f)E中随机选取,即:
pbesti(n,f)=RandSelect{pbesti(n,f)T,pbesti(n,f)E}
pbesti(n,f)=Average(pbest(n,f)E,pbest(n,f)T);
根据粒子个体最优解以及粒子群体最优解更新粒子下一时刻的速度以及粒子下一时刻的位置;
根据更新后的pbesti(n,f)及gbesti(n,f)对粒子下一时刻的速度更新的公式如下:
根据粒子下一时刻的速度对粒子下一时刻的位置进行更新,公式如下:
其中,Pi+1(n,f)为粒子下一时刻的位置,Vi+1(n,f)为粒子下一时刻的速度,max为求最大值函数。
6.根据权利要求5所述的装置,其特征在于:还包括资源利用率优化模块;
所述资源利用率优化模块,用于计算当前各边缘服务器的资源利用率,然后与系统资源利用率平衡值比较,若存在边缘服务器的资源利用率大于系统资源利用率平衡值,则在计算资源最少的边缘服务器上增加一个正常工作的虚拟机,然后执行交叉变异模块;若存在边缘服务器的资源利用率小于系统资源利用率平衡值,则在计算资源最少的边缘服务器上减少一个正常工作的虚拟机,然后执行交叉变异模块;若存在边缘服务器的资源利用率等于系统资源利用率平衡值,则不改变边缘服务器边缘服务器的虚拟机配置,然后执行交叉变异模块。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至4任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010693095.5A CN111813506B (zh) | 2020-07-17 | 2020-07-17 | 一种基于粒子群算法资源感知计算迁移方法、装置及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010693095.5A CN111813506B (zh) | 2020-07-17 | 2020-07-17 | 一种基于粒子群算法资源感知计算迁移方法、装置及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111813506A CN111813506A (zh) | 2020-10-23 |
CN111813506B true CN111813506B (zh) | 2023-06-02 |
Family
ID=72865757
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010693095.5A Active CN111813506B (zh) | 2020-07-17 | 2020-07-17 | 一种基于粒子群算法资源感知计算迁移方法、装置及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111813506B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112214301B (zh) * | 2020-10-29 | 2023-06-02 | 华侨大学 | 面向智慧城市基于用户偏好的动态计算迁移方法及装置 |
CN112395090B (zh) * | 2020-11-19 | 2023-05-30 | 华侨大学 | 一种移动边缘计算中服务放置的智能混合优化方法 |
CN113435097B (zh) * | 2021-06-29 | 2023-05-23 | 福建师范大学 | 一种应用于多目标工作流调度的方法 |
CN113821317B (zh) * | 2021-07-02 | 2023-08-11 | 华侨大学 | 一种边云协同的微服务调度方法、装置及设备 |
CN113489787B (zh) * | 2021-07-06 | 2023-01-17 | 北京邮电大学 | 一种移动边缘计算的服务与数据协同迁移的方法和装置 |
CN113965569B (zh) * | 2021-10-22 | 2022-08-12 | 大连理工大学 | 一种高能效、低时延的边缘节点计算迁移配置系统 |
CN113986562A (zh) * | 2021-12-29 | 2022-01-28 | 中移(上海)信息通信科技有限公司 | 一种资源调度策略生成方法、装置及终端设备 |
CN116155728B (zh) * | 2023-04-23 | 2023-06-30 | 华东交通大学 | 超密集网络中计算卸载与资源优化方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109885397A (zh) * | 2019-01-15 | 2019-06-14 | 长安大学 | 一种边缘计算环境中时延优化的负载任务迁移算法 |
CN110531996A (zh) * | 2019-08-27 | 2019-12-03 | 河海大学 | 一种多微云环境下基于粒子群优化的计算任务卸载方法 |
CN110580199A (zh) * | 2019-09-16 | 2019-12-17 | 重庆大学 | 边缘计算环境下基于粒子群的服务迁移方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10747568B2 (en) * | 2017-05-30 | 2020-08-18 | Magalix Corporation | Systems and methods for managing a cloud computing environment |
US20200019435A1 (en) * | 2018-07-13 | 2020-01-16 | Raytheon Company | Dynamic optimizing task scheduling |
-
2020
- 2020-07-17 CN CN202010693095.5A patent/CN111813506B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109885397A (zh) * | 2019-01-15 | 2019-06-14 | 长安大学 | 一种边缘计算环境中时延优化的负载任务迁移算法 |
CN110531996A (zh) * | 2019-08-27 | 2019-12-03 | 河海大学 | 一种多微云环境下基于粒子群优化的计算任务卸载方法 |
CN110580199A (zh) * | 2019-09-16 | 2019-12-17 | 重庆大学 | 边缘计算环境下基于粒子群的服务迁移方法 |
Non-Patent Citations (3)
Title |
---|
Asmita Roy 等.Enhancing live virtual machine migration process via optimized resource allocation in next generation mobile edge network: A hybrid evolutionary approach.《WILEY》.2020,全文. * |
Kai Peng 等.A Survey on Mobile Edge Computing: Focusing on Service Adoption and Provision.《Wireless Communications and Mobile Computing》.2018,全文. * |
唐忠原 ; 何利文 ; 黄俊 ; 袁野 ; .基于改进粒子群算法的虚拟机放置策略研究.计算机技术与发展.2018,(第07期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111813506A (zh) | 2020-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111813506B (zh) | 一种基于粒子群算法资源感知计算迁移方法、装置及介质 | |
CN113242568B (zh) | 一种不确定网络环境中的任务卸载和资源分配方法 | |
CN110928654B (zh) | 一种边缘计算系统中分布式的在线任务卸载调度方法 | |
CN112380008B (zh) | 一种面向移动边缘计算应用的多用户细粒度任务卸载调度方法 | |
CN108182115B (zh) | 一种云环境下的虚拟机负载均衡方法 | |
CN109885397B (zh) | 一种边缘计算环境中时延优化的负载任务迁移算法 | |
CN111984419B (zh) | 一种边缘环境可靠性约束的复杂任务计算迁移方法 | |
US11784931B2 (en) | Network burst load evacuation method for edge servers | |
CN113810233B (zh) | 一种在随机网络中基于算网协同的分布式计算卸载方法 | |
CN112214301B (zh) | 面向智慧城市基于用户偏好的动态计算迁移方法及装置 | |
CN113485826B (zh) | 一种边缘服务器负载均衡方法、系统 | |
CN112596910B (zh) | 一种多用户mec系统中的云计算资源调度方法 | |
CN112492032B (zh) | 一种移动边缘环境下的工作流协作调度方法 | |
CN113573363A (zh) | 基于深度强化学习的mec计算卸载与资源分配方法 | |
CN116209084A (zh) | 一种能量收集mec系统中任务卸载和资源分配方法 | |
CN114090239B (zh) | 一种基于模型的强化学习的边缘资源调度方法和装置 | |
CN113139639B (zh) | 一种基于mombi面向智慧城市应用多目标计算迁移方法和装置 | |
Chen et al. | A game theoretic approach to task offloading for multi-data-source tasks in mobile edge computing | |
CN117579701A (zh) | 一种移动边缘网络计算卸载方法及系统 | |
Meng et al. | Deep reinforcement learning based delay-sensitive task scheduling and resource management algorithm for multi-user mobile-edge computing systems | |
CN112685162A (zh) | 边缘服务器异构计算资源的高效能调度方法、系统和介质 | |
CN114727319A (zh) | 基于vcg拍卖机制的5g mec计算任务卸载方法 | |
CN114980216A (zh) | 基于移动边缘计算的依赖型任务卸载系统及方法 | |
Yao et al. | Performance Optimization in Serverless Edge Computing Environment using DRL-Based Function Offloading | |
Jangu et al. | Smart admission control strategy utilizing volunteer‐enabled fog‐cloud computing |
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 |