CN111813506A - 一种基于粒子群算法资源感知计算迁移方法、装置及介质 - Google Patents

一种基于粒子群算法资源感知计算迁移方法、装置及介质 Download PDF

Info

Publication number
CN111813506A
CN111813506A CN202010693095.5A CN202010693095A CN111813506A CN 111813506 A CN111813506 A CN 111813506A CN 202010693095 A CN202010693095 A CN 202010693095A CN 111813506 A CN111813506 A CN 111813506A
Authority
CN
China
Prior art keywords
particle
workflow
utilization rate
resource utilization
individual
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
CN202010693095.5A
Other languages
English (en)
Other versions
CN111813506B (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.)
Huaqiao University
Original Assignee
Huaqiao 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 Huaqiao University filed Critical Huaqiao University
Priority to CN202010693095.5A priority Critical patent/CN111813506B/zh
Publication of CN111813506A publication Critical patent/CN111813506A/zh
Application granted granted Critical
Publication of CN111813506B publication Critical patent/CN111813506B/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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • 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)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (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中,惯性因子、个体学习因子、群体学习因子、个体影响常数、群体影响常数的选取范围满足如下关系式:
Figure BDA0002589970320000041
其中,
Figure BDA0002589970320000042
为惯性因子、p1为个体学习因子、p2为群体学习因子、k1为个体影响常数、k2为群体影响常数。
优选的,所述步骤40进一步具体为:
通过粒子的适应度函数计算每个粒子的适应度值,计算粒子的适应度值的公式如下:
Figure BDA0002589970320000043
其中,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)
粒子个体最优解pbesti(n,f)的计算公式根据中间优化因子
Figure BDA0002589970320000051
和Dg的计算结果确定,计算公式如下:
Figure BDA0002589970320000052
Dg=Abs(gbest(n,f)T-gbest(n,f)E)
其中,
Figure BDA0002589970320000053
表示个体优化目标差异程度,Dg表示群体优化目标差异程度,pbesti(n,f)E为个体最优能耗值,pbesti(n,f)T为个体最优时延值,Abs表示取绝对值;
Figure BDA0002589970320000054
时,粒子个体最优解在pbesti(n,f)T和pbesti(n,f)E中随机选取,即:
pbesti(n,f)=RandSelect{pbesti(n,f)T,pbesti(n,f)E}
Figure BDA0002589970320000055
时,粒子个体最优解取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)对粒子下一时刻的速度更新的公式如下:
Figure BDA0002589970320000056
其中,Vi+1(n,f)为粒子下一时刻的速度,
Figure BDA0002589970320000057
为惯性因子,Vi(n,f)为粒子速度、p1为个体学习因子、p2为群体学习因子、k1为个体影响常数、k2为群体影响常数,Oi(n,f)为粒子迁移策略;
根据粒子下一时刻的速度对粒子下一时刻的位置进行更新,公式如下:
Figure BDA0002589970320000058
其中,Pi+1(n,f)为粒子下一时刻的位置,Vi+1(n,f)为粒子下一时刻的速度,max为求最大值函数。
所述步骤80中,可以基于如下公式对粒子交叉概率和粒子变异概率进行更新:
Figure BDA0002589970320000061
Figure BDA0002589970320000062
其中,β为粒子交叉概率,α为粒子变异概率,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)以及服务器集群搜索范围,并对算法中的因子进行初始化,所述因子包括惯性因子
Figure BDA0002589970320000091
个体学习因子p1、群体学习因子p2、个体影响常数k1、群体影响常数k2、粒子个体最优解pbesti(n,f)、粒子群体最优解gbest(n,f)、粒子位置Pi(n,f)、粒子速度Vi(n,f)、系统最大能耗约束Emax、系统最大时延约束Tmax、系统资源利用率平衡值Rbalance、最大迭代次数Imax、粒子交叉概率β以及粒子变异概率α;
其中,惯性因子、个体学习因子、群体学习因子、个体影响常数、群体影响常数的选取范围可以满足如下关系式:
Figure BDA0002589970320000092
其中,
Figure BDA0002589970320000093
为惯性因子、p1为个体学习因子、p2为群体学习因子、k1为个体影响常数、k2为群体影响常数。
其中,惯性因子
Figure BDA0002589970320000094
的值越大,表示粒子当前速度对下一时刻位置的影响越大。相似的,个体学习因子p1越大,则分别表示粒子个体对下一时刻位置的影响越大。同样,群体学习因子p2的值越大,则表示粒子群体对下一时刻位置的影响越大。诚然,方法最终得到的是全局最优解,但是如果将p2的值设定过大或p1的值设定过小,算法的优化效果可能并不理想。反之,若p2的值设定过小或p1的值设定过大,算法可能会陷入局部收敛,无法得到正确的解。此外,在一般情况下,个体影响常数k1的值等于群体影响常数的值k2等于2。
步骤30、获取工作流的简化模型,将每一个子任务作为一个粒子得到任务总数,然后根据任务总数f×n初始化各边缘服务器集群正常工作的虚拟机数量。
步骤40、通过粒子的适应度函数计算每个粒子的适应度值;
在一种可能的实现方式中,所述步骤40进一步具体为:
通过粒子的适应度函数计算每个粒子的适应度值,计算粒子的适应度值的公式如下:
Figure BDA0002589970320000101
其中,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)的选取将借助中间优化因子
Figure BDA0002589970320000111
和Dg,且
Figure BDA0002589970320000112
和Dg满足如下关系式:
Figure BDA0002589970320000113
Dg=Abs(gbest(n,f)T-gbest(n,f)E)
其中,
Figure BDA0002589970320000114
表示个体优化目标差异程度,Dg表示群体优化目标差异程度,pbesti(n,f)E为个体最优能耗值,pbesti(n,f)T为个体最优时延值,Abs表示取绝对值;
Figure BDA0002589970320000115
时,表示群体优化目标差异程度较大,而个体优化目标差异程度较小,因此,此时选取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}
Figure BDA0002589970320000116
时,表示群体优化目标差异程度较小,而个体优化目标差异程度较大。因此,此时pbesti(n,f)可以取pbesti(n,f)T和pbesti(n,f)T的平均值,以同时考虑二者影响:
粒子个体最优解取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)对粒子下一时刻的速度更新的公式如下:
Figure BDA0002589970320000121
其中,Vi+1(n,f)为粒子下一时刻的速度,
Figure BDA0002589970320000122
为惯性因子,Vi(n,f)为粒子速度、p1为个体学习因子、p2为群体学习因子、k1为个体影响常数、k2为群体影响常数,Oi(n,f)为粒子迁移策略;
根据粒子下一时刻的速度对粒子下一时刻的位置进行更新,公式如下:
Figure BDA0002589970320000123
其中,Pi+1(n,f)为粒子下一时刻的位置,Vi+1(n,f)为粒子下一时刻的速度,max为求最大值函数。
步骤80、根据当前粒子交叉概率和粒子变异概率对工作流进行交叉和变异操作,然后对粒子交叉概率和粒子变异概率进行更新,接着判断当前迭代次数是否小于等于最大迭代次数,若是则返回步骤40,若否,则结束。
可以基于如下公式对粒子交叉概率和粒子变异概率进行更新:
Figure BDA0002589970320000124
Figure BDA0002589970320000125
其中,β为粒子交叉概率,α为粒子变异概率,Imax为最大迭代次数Inow为当前迭代次数。
随着迭代次数的增加,染色体交叉和粒子变异的概率逐渐下降,因为在迭代即将结束时,此时的染色体的质量是较高的,即迁移策略相较于迭代初期是具有一定的优化的,因此无需很高的交叉和变异概率驱动其变成更好的基因。
在另一种可能的实现方式中,在更新粒子位置和速度后,可进一步地对边缘服务器的资源利用率进行优化,即在步骤60后还包括如下步骤:
步骤70、计算当前各边缘服务器的资源利用率,然后与系统资源利用率平衡值比较,若存在边缘服务器的资源利用率大于系统资源利用率平衡值,则在计算资源最少的边缘服务器上增加一个正常工作的虚拟机,然后进入步骤80;若存在存在边缘服务器的资源利用率小于系统资源利用率平衡值,则在计算资源最少的边缘服务器上减少一个正常工作的虚拟机,然后进入步骤80;若存在存在边缘服务器的资源利用率等于系统资源利用率平衡值,则不改变边缘服务器边缘服务器的虚拟机配置,然后进入步骤80。
各边缘服务器资源利用率Rs是根据当前正常运行的虚拟机总数VMtotal与正在工作的虚拟机数量VMwork做商得到的。各边缘服务器资源利用率Rs的关系式为:
Figure BDA0002589970320000131
随着每一次迭代粒子位置,即任务迁移策略的更新,系统的能耗、时延和边缘服务器的资源利用率也会随之改变,由于PSO算法的寻优具有一定的惯性,因此,为了在PSO双目标优化的基础上完成资源配置,则需要在每一次迭代完成后对各个边缘服务器的资源利用率进行评估,在满足用户可接受的最大能耗和最大时延的基础上,在每一次迭代过程中,根据当前各边缘服务器的资源利用率Rs,对每一个边缘服务器上工作的虚拟机数量进行适当的调整。当存在某一边缘服务器的利用率过高(即Rs较大时),则随着任务数量的增加或种类的变化,可能会出现服务器过载情况的发生,进而导致网络拥塞,此时,该边缘服务器上正常工作的虚拟机数量将增加1;而当某一边缘服务器的利用率过低(即Rs较小时),则说明该边缘服务器上存在虚拟机处于开机状态,却无任务可服务的情况,此时该边缘服务器上的虚拟机数量将减1,即关闭无服务的虚拟机,以防虚拟机待机时产生一定的能耗,以达到资源配置的作用。
基于同一发明构思,本申请还提供了与实施例一中的方法对应的装置,详见实施例二。
实施例二
在本实施例中提供了一种装置,如图2所示,包括:工作流简化模型生成模块、第一初始化模块、第二初始化模块、适应度值计算模块、约束判断模块、更新模块以及交叉变异模块;
所述工作流简化模型生成模块,用于采用递归的方法对每一个工作流中的子任务的前驱后继关系进行判断,并采用基因算法,将每一个子任务作为一个基因,构建出每一个工作流的内置模型;根据前驱后继关系,将工作流划分成为有序工作流和无序工作流,然后对工作流的内置模型进行整合重构,得到工作流的简化模型;
所述第一初始化模块,用于根据网络环境因素和用户的需求,预定义粒子的适应度函数、粒子迁移策略以及服务器集群搜索范围,并对算法中的因子进行初始化,所述因子包括惯性因子、个体学习因子、群体学习因子、个体影响常数、群体影响常数、粒子个体最优解、粒子群体最优解、粒子位置、粒子速度、系统最大能耗约束、系统最大时延约束、系统资源利用率平衡值、最大迭代次数、粒子交叉概率以及粒子变异概率;
所述第二初始化模块,用于获取工作流的简化模型,将每一个子任务作为一个粒子得到任务总数,然后根据任务总数初始化各边缘服务器集群正常工作的虚拟机数量;
所述适应度值计算模块,用于通过粒子的适应度函数计算每个粒子的适应度值;
所述约束判断模块,用于获取当前系统总能耗以及当前系统总时延,判断当前系统总能耗是否小于等于系统最大能耗约束且当前系统总时延是否小于等于系统最大时延约束,若是,则进入更新模块,若否,则根据当前粒子交叉概率和粒子变异概率对工作流进行交叉和变异操作,然后对粒子交叉概率和粒子变异概率进行更新,然后返回适应度值计算模块;
所述更新模块,用于根据每个粒子的适应度值更新粒子个体最优解以及粒子群体最优解,接着再根据粒子个体最优解以及粒子群体最优解更新粒子下一时刻的速度以及粒子下一时刻的位置;
所述交叉变异模块,用于根据当前粒子交叉概率和粒子变异概率对工作流进行交叉和变异操作,然后对粒子交叉概率和粒子变异概率进行更新,接着判断当前迭代次数是否小于等于最大迭代次数,若是则返回适应度值计算模块,若否,则结束。
在一种可能的实现方式中,所述装置还包括资源利用率优化模块;
所述资源利用率优化模块,用于计算当前各边缘服务器的资源利用率,然后与系统资源利用率平衡值比较,若存在边缘服务器的资源利用率大于系统资源利用率平衡值,则在计算资源最少的边缘服务器上增加一个正常工作的虚拟机,然后执行交叉变异模块;若存在存在边缘服务器的资源利用率小于系统资源利用率平衡值,则在计算资源最少的边缘服务器上减少一个正常工作的虚拟机,然后执行交叉变异模块;若存在存在边缘服务器的资源利用率等于系统资源利用率平衡值,则不改变边缘服务器边缘服务器的虚拟机配置,然后执行交叉变异模块。
由于本发明实施例二所介绍的装置,为实施本发明实施例一的方法所采用的装置,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该装置的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的装置都属于本发明所欲保护的范围。
基于同一发明构思,本申请提供了实施例一对应的存储介质,详见实施例三。
实施例三
本实施例提供一种计算机可读存储介质,如图3所示,其上存储有计算机程序,该计算机程序被处理器执行时,可以实现实施例一中任一实施方式。
实施例四
为了便于计算和具体说明,以及让本领域技术人员理解本发明所提出的方法,以下公开了一个具体的实施例,请参考图4执行流程图:
步骤1:采用递归的方法对每一个工作流WAf中的子任务wan的前驱后继关系进行判断,并采用基因算法,将每一个子任务看成一个基因,构建出每一个工作流的内置模型(比如图6);
步骤2:根据步骤1所得子任务的前驱后继关系,将WAf划分成为有序工作流WAow和无序工作流WAuw,然后对工作流进行整合重构,即得到简化后的复杂工作流的优化模型(比如图7);
步骤3:根据网络环境因素和用户的需求,对算法中的关键性因子:惯性因子
Figure BDA0002589970320000161
个体学习因子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的常数数组,用于表示数据量。有序工作流中子任务之间迁移策略的约束满足关系式:
Figure BDA0002589970320000181
对有序工作流来说,有前驱后继执行顺序约束的子任务之间的迁移策略将对其传输时间产生影响。即当前子任务处理完成后需要向后继子任务发送包含一定数据量的数据包告知后继任务已完成,以驱动后继任务开始执行,即该数据包的数据量,即传输任务的数据量为d(n,f)。而该数据包的传输时间将受到当前任务和后继任务的迁移策略的影响。
在本具体实施例中,工作流WAf中的子任务wan1和wan2之间的传输时延满足关系式:
Figure BDA0002589970320000182
上述式子中,若当前任务与其后继任务的迁移策略相同,即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的链路进行传输,即此时传输时延为
Figure BDA0002589970320000191
相似的,当Rf(n1,n2)∈{(2,5),(3,5),(4,5),(5,2),(5,3),(5,4)}时,表示当前任务和其后继任务中有其一被迁移到某一边缘服务器上处理,而另一个任务被迁移到远程云数据中心处理。因此,此时的传输时延为
Figure BDA0002589970320000192
而对于无序工作流来说,则不存在传输时延,仅存在任务从用户端通过LAN或WAN被迁移到设备外部的网络延时,为了区分传输时延,该时延将被包含在任务处理时延中。
在本具体实施例中,工作流WAf中的子任务wan的处理时延满足关系式:
Figure BDA0002589970320000193
上述式子中,任务wan的处理时延只由任务从开始处理过程时经链路传输到边缘服务器或远程云数据中心到处理完成这个过程中的总时延。由链路传输时延,即LLAN和LWAN,以及任务在服务器端请求服务的服务时延两部分组成。
在本具体实施例中,为了保持算法具有较高的计算效率和算法的实时性,子任务的排队时延Twait(n,f)将从宏观考虑,根据用户端工作流中子任务的任务数据量的大小取常量带入算法执行。以避免服务器精确计算排队时间产生的额外能耗和时延,且在针对数据量较大的复杂任务的情况中,任务的迁移策略不会因预估排队时延与精确值之间的误差而产生很大的影响,而若计算精确值产生的额外能耗反而会导致服务质量急剧降低。
在本具体实施例中,总数为F的工作流WAf的总时延满足关系式:
Figure BDA0002589970320000201
在本具体实施例中,总数为F的工作流WAf的总能耗满足关系式:
Figure BDA0002589970320000202
上述式子中,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
在本具体实施例中,用于评估系统能耗和时延的适应度函数满足关系式:
Figure BDA0002589970320000203
上述式子中,μ和ω为(0,1)区间的任一常数值,决定在优化目标中,能耗和时延分别占的比例,可根据用户需求调整。适应度函数Fit(n,f)的值越小,表示能耗和时延的优化效果越好。即粒子迁移策略在能耗和时延优化方面的能力是通过适应度函数的值Fit(n,f)来进行评估的。
根据适应度函数Fit(n,f)与粒子局部最优解pbesti(n,f)和全局最优解gbest(n,f)进行对比,在每一次迭代过程中对适应度函数Fit(n,f)的值进行更新。
随着迭代的进行,粒子的位置和速度在每一次迭代过程中都可能发生变化,以逐步寻找到最优的位置。
粒子速度满足关系式:
Figure BDA0002589970320000204
粒子位置满足关系式子:
Figure BDA0002589970320000211
随着每一次迭代粒子位置,即任务迁移策略的更新,系统的能耗、时延和边缘服务器的资源利用率也会随之改变,且PSO算法的寻优具有一定的惯性。因此,为了在PSO双目标优化的基础上完成资源配置,则需要在每一次迭代完成后对各个边缘服务器的资源利用率进行评估,若存在某一边缘服务器的利用率Rs过低,则关闭一个在该边缘服务器上正常工作的虚拟机。反之,若存在某一边缘服务器的利用率Rs过高,则增加一个在该边缘服务器上正常工作的虚拟机。以达到资源配置的作用。
在每一次迭代的最后一步,每一条染色体,即工作流,都存在交叉的可能,且每一个粒子,即每一个子任务,都存在变异的可能。
如图8所示,两条染色体之间相同的部分没有变化,而相同部分左右两侧的基因将进行交叉互换,该过程成为染色体的交叉。且交叉概率β满足关系式子:
Figure BDA0002589970320000212
如图9所示,每个粒子都存在任意变异的可能,即其迁移策略随机变为另一个,以避免PSO算法陷入局部收敛。且交叉概率α满足关系式子:
Figure BDA0002589970320000213
随着迭代次数的增加,染色体交叉和粒子变异的概率逐渐下降,因为在迭代即将结束时,此时的染色体的质量是较高的,即迁移策略相较于迭代初期是具有一定的优化的,因此无需很高的交叉和变异概率驱动其变成更好的基因。
本申请实施例中提供的技术方案,至少具有如下技术效果或优点:本申请实施例提供的方法、装置及介质,将常用于解决连续函数寻优问题的PSO算法思想运用于解决MEC环境下寻找任务最优迁移策略的离散型问题,同时,针对用户端产生的数据量大、数据种类繁多的任务构造了复杂工作流模型,降低了算法执行时的复杂度;在寻找任务迁移策略的过程中引入了粒子交叉和变异技术,有效降低了PSO算法结果局部收敛的概率;进一步将计算迁移和资源配置相结合,突破了PSO算法局限于双目标优化的限制,在满足用户能耗、时延约束的同时完成了对系统能耗、系统时延、边缘服务器的资源利用率的三目标优化。本发明可以适用于较为复杂的网络环境中,能够根据用户的需求,对服务器的资源进行配置,为用户提供合适的高质量服务。且该方法的操作步骤简单、可靠性高、实时性强、执行成本低。另外,本发明可以适用于无线城域网中各种各样的移动设备的通信,因此,推广容易,应用广泛,具有很好的普及推广和应用的前景。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。

Claims (9)

1.一种基于粒子群算法资源感知计算迁移方法,其特征在于,包括:
步骤10、采用递归的方法对每一个工作流中的子任务的前驱后继关系进行判断,并采用基因算法,将每一个子任务作为一个基因,构建出每一个工作流的内置模型;根据前驱后继关系,将工作流划分成为有序工作流和无序工作流,然后对工作流的内置模型进行整合重构,得到工作流的简化模型;
步骤20、根据网络环境因素和用户的需求,预定义粒子的适应度函数、粒子迁移策略以及服务器集群搜索范围,并对算法中的因子进行初始化,所述因子包括惯性因子、个体学习因子、群体学习因子、个体影响常数、群体影响常数、粒子个体最优解、粒子群体最优解、粒子位置、粒子速度、系统最大能耗约束、系统最大时延约束、系统资源利用率平衡值、最大迭代次数、粒子交叉概率以及粒子变异概率;
步骤30、获取工作流的简化模型,将每一个子任务作为一个粒子得到任务总数,然后根据任务总数初始化各边缘服务器集群正常工作的虚拟机数量;
步骤40、通过粒子的适应度函数计算每个粒子的适应度值;
步骤50、获取当前系统总能耗以及当前系统总时延,判断当前系统总能耗是否小于等于系统最大能耗约束且当前系统总时延是否小于等于系统最大时延约束,若是,则进入步骤60,若否,则根据当前粒子交叉概率和粒子变异概率对工作流进行交叉和变异操作,然后对粒子交叉概率和粒子变异概率进行更新,返回步骤40;
步骤60、根据每个粒子的适应度值更新粒子个体最优解以及粒子群体最优解,接着再根据粒子个体最优解以及粒子群体最优解更新粒子下一时刻的速度以及粒子下一时刻的位置;
步骤80、根据当前粒子交叉概率和粒子变异概率对工作流进行交叉和变异操作,然后对粒子交叉概率和粒子变异概率进行更新,接着判断当前迭代次数是否小于等于最大迭代次数,若是则返回步骤40,若否,则结束。
2.根据权利要求1所述的方法,其特征在于:所述步骤60后还包括:
步骤70、计算当前各边缘服务器的资源利用率,然后与系统资源利用率平衡值比较,若存在边缘服务器的资源利用率大于系统资源利用率平衡值,则在计算资源最少的边缘服务器上增加一个正常工作的虚拟机,然后进入步骤80;若存在存在边缘服务器的资源利用率小于系统资源利用率平衡值,则在计算资源最少的边缘服务器上减少一个正常工作的虚拟机,然后进入步骤80;若存在存在边缘服务器的资源利用率等于系统资源利用率平衡值,则不改变边缘服务器边缘服务器的虚拟机配置,然后进入步骤80。
3.根据权利要求1所述的方法,其特征在于:所述步骤20中,惯性因子、个体学习因子、群体学习因子、个体影响常数、群体影响常数的选取范围满足如下关系式:
Figure FDA0002589970310000021
其中,
Figure FDA0002589970310000022
为惯性因子、p1为个体学习因子、p2为群体学习因子、k1为个体影响常数、k2为群体影响常数。
4.根据权利要求1所述的方法,其特征在于:所述步骤40进一步具体为:
通过粒子的适应度函数计算每个粒子的适应度值,计算粒子的适应度值的公式如下:
Figure FDA0002589970310000023
其中,Fit(n,f)为粒子的适应度函数,Etotal(n,f)为系统能耗,Ttotal(n,f)为系统时延,f为工作流数量,n为该工作流中子任务数量,μ和ω为(0,1)区间的任一常数值,用于根据优化需求调整能耗和时延分别占的比例。
5.根据权利要求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)
粒子个体最优解pbesti(n,f)的计算公式根据中间优化因子
Figure FDA0002589970310000031
和Dg的计算结果确定,计算公式如下
Figure FDA0002589970310000032
Dg=Abs(gbest(n,f)T-gbest(n,f)E)
其中,
Figure FDA0002589970310000033
表示个体优化目标差异程度,Dg表示群体优化目标差异程度,pbesti(n,f)E为个体最优能耗值,pbesti(n,f)T为个体最优时延值,Abs表示取绝对值;
Figure FDA0002589970310000034
时,粒子个体最优解在pbesti(n,f)T和pbesti(n,f)E中随机选取,即:
pbesti(n,f)=RandSelect{pbesti(n,f)T,pbesti(n,f)E}
Figure FDA0002589970310000038
时,粒子个体最优解取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)对粒子下一时刻的速度更新的公式如下:
Figure FDA0002589970310000035
其中,Vi+1(n,f)为粒子下一时刻的速度,
Figure FDA0002589970310000036
为惯性因子,Vi(n,f)为粒子速度、p1为个体学习因子、p2为群体学习因子、k1为个体影响常数、k2为群体影响常数,Oi(n,f)为粒子迁移策略;
根据粒子下一时刻的速度对粒子下一时刻的位置进行更新,公式如下:
Figure FDA0002589970310000037
其中,Pi+1(n,f)为粒子下一时刻的位置,Vi+1(n,f)为粒子下一时刻的速度,max为求最大值函数。
6.根据权利要求1所述的方法,其特征在于:所述步骤80中,所述对粒子交叉概率和粒子变异概率进行更新进一步具体为:
基于如下公式对粒子交叉概率和粒子变异概率进行更新:
Figure FDA0002589970310000041
Figure FDA0002589970310000042
其中,β为粒子交叉概率,α为粒子变异概率,Imax为最大迭代次数Inow为当前迭代次数。
7.一种基于粒子群算法资源感知计算迁移装置,其特征在于,包括:工作流简化模型生成模块、第一初始化模块、第二初始化模块、适应度值计算模块、约束判断模块、更新模块以及交叉变异模块;
所述工作流简化模型生成模块,用于采用递归的方法对每一个工作流中的子任务的前驱后继关系进行判断,并采用基因算法,将每一个子任务作为一个基因,构建出每一个工作流的内置模型;根据前驱后继关系,将工作流划分成为有序工作流和无序工作流,然后对工作流的内置模型进行整合重构,得到工作流的简化模型;
所述第一初始化模块,用于根据网络环境因素和用户的需求,预定义粒子的适应度函数、粒子迁移策略以及服务器集群搜索范围,并对算法中的因子进行初始化,所述因子包括惯性因子、个体学习因子、群体学习因子、个体影响常数、群体影响常数、粒子个体最优解、粒子群体最优解、粒子位置、粒子速度、系统最大能耗约束、系统最大时延约束、系统资源利用率平衡值、最大迭代次数、粒子交叉概率以及粒子变异概率;
所述第二初始化模块,用于获取工作流的简化模型,将每一个子任务作为一个粒子得到任务总数,然后根据任务总数初始化各边缘服务器集群正常工作的虚拟机数量;
所述适应度值计算模块,用于通过粒子的适应度函数计算每个粒子的适应度值;
所述约束判断模块,用于获取当前系统总能耗以及当前系统总时延,判断当前系统总能耗是否小于等于系统最大能耗约束且当前系统总时延是否小于等于系统最大时延约束,若是,则进入更新模块,若否,则根据当前粒子交叉概率和粒子变异概率对工作流进行交叉和变异操作,然后对粒子交叉概率和粒子变异概率进行更新,然后返回适应度值计算模块;
所述更新模块,用于根据每个粒子的适应度值更新粒子个体最优解以及粒子群体最优解,接着再根据粒子个体最优解以及粒子群体最优解更新粒子下一时刻的速度以及粒子下一时刻的位置;
所述交叉变异模块,用于根据当前粒子交叉概率和粒子变异概率对工作流进行交叉和变异操作,然后对粒子交叉概率和粒子变异概率进行更新,接着判断当前迭代次数是否小于等于最大迭代次数,若是则返回适应度值计算模块,若否,则结束。
8.根据权利要求7所述的装置,其特征在于:还包括资源利用率优化模块;
所述资源利用率优化模块,用于计算当前各边缘服务器的资源利用率,然后与系统资源利用率平衡值比较,若存在边缘服务器的资源利用率大于系统资源利用率平衡值,则在计算资源最少的边缘服务器上增加一个正常工作的虚拟机,然后执行交叉变异模块;若存在存在边缘服务器的资源利用率小于系统资源利用率平衡值,则在计算资源最少的边缘服务器上减少一个正常工作的虚拟机,然后执行交叉变异模块;若存在存在边缘服务器的资源利用率等于系统资源利用率平衡值,则不改变边缘服务器边缘服务器的虚拟机配置,然后执行交叉变异模块。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至6任一项所述的方法。
CN202010693095.5A 2020-07-17 2020-07-17 一种基于粒子群算法资源感知计算迁移方法、装置及介质 Active CN111813506B (zh)

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 true CN111813506A (zh) 2020-10-23
CN111813506B 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)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112214301A (zh) * 2020-10-29 2021-01-12 华侨大学 面向智慧城市基于用户偏好的动态计算迁移方法及装置
CN112395090A (zh) * 2020-11-19 2021-02-23 华侨大学 一种移动边缘计算中服务放置的智能混合优化方法
CN113435097A (zh) * 2021-06-29 2021-09-24 福建师范大学 一种应用于多目标工作流调度的方法
CN113489787A (zh) * 2021-07-06 2021-10-08 北京邮电大学 一种移动边缘计算的服务与数据协同迁移的方法和装置
CN113821317A (zh) * 2021-07-02 2021-12-21 华侨大学 一种边云协同的微服务调度方法、装置及设备
CN113965569A (zh) * 2021-10-22 2022-01-21 大连理工大学 一种高能效、低时延的边缘节点计算迁移架构及配置系统
CN113986562A (zh) * 2021-12-29 2022-01-28 中移(上海)信息通信科技有限公司 一种资源调度策略生成方法、装置及终端设备
CN116155728A (zh) * 2023-04-23 2023-05-23 华东交通大学 超密集网络中计算卸载与资源优化方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180349168A1 (en) * 2017-05-30 2018-12-06 Magalix Corporation Systems and methods for managing a cloud computing environment
CN109885397A (zh) * 2019-01-15 2019-06-14 长安大学 一种边缘计算环境中时延优化的负载任务迁移算法
CN110531996A (zh) * 2019-08-27 2019-12-03 河海大学 一种多微云环境下基于粒子群优化的计算任务卸载方法
CN110580199A (zh) * 2019-09-16 2019-12-17 重庆大学 边缘计算环境下基于粒子群的服务迁移方法
US20200019435A1 (en) * 2018-07-13 2020-01-16 Raytheon Company Dynamic optimizing task scheduling

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180349168A1 (en) * 2017-05-30 2018-12-06 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
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)

* Cited by examiner, † Cited by third party
Title
ASMITA ROY 等: "Enhancing live virtual machine migration process via optimized resource allocation in next generation mobile edge network: A hybrid evolutionary approach" *
KAI PENG 等: "A Survey on Mobile Edge Computing: Focusing on Service Adoption and Provision" *
唐忠原;何利文;黄俊;袁野;: "基于改进粒子群算法的虚拟机放置策略研究" *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112214301B (zh) * 2020-10-29 2023-06-02 华侨大学 面向智慧城市基于用户偏好的动态计算迁移方法及装置
CN112214301A (zh) * 2020-10-29 2021-01-12 华侨大学 面向智慧城市基于用户偏好的动态计算迁移方法及装置
CN112395090A (zh) * 2020-11-19 2021-02-23 华侨大学 一种移动边缘计算中服务放置的智能混合优化方法
CN112395090B (zh) * 2020-11-19 2023-05-30 华侨大学 一种移动边缘计算中服务放置的智能混合优化方法
CN113435097A (zh) * 2021-06-29 2021-09-24 福建师范大学 一种应用于多目标工作流调度的方法
CN113435097B (zh) * 2021-06-29 2023-05-23 福建师范大学 一种应用于多目标工作流调度的方法
CN113821317A (zh) * 2021-07-02 2021-12-21 华侨大学 一种边云协同的微服务调度方法、装置及设备
CN113821317B (zh) * 2021-07-02 2023-08-11 华侨大学 一种边云协同的微服务调度方法、装置及设备
CN113489787A (zh) * 2021-07-06 2021-10-08 北京邮电大学 一种移动边缘计算的服务与数据协同迁移的方法和装置
CN113965569A (zh) * 2021-10-22 2022-01-21 大连理工大学 一种高能效、低时延的边缘节点计算迁移架构及配置系统
CN113965569B (zh) * 2021-10-22 2022-08-12 大连理工大学 一种高能效、低时延的边缘节点计算迁移配置系统
CN113986562A (zh) * 2021-12-29 2022-01-28 中移(上海)信息通信科技有限公司 一种资源调度策略生成方法、装置及终端设备
CN116155728B (zh) * 2023-04-23 2023-06-30 华东交通大学 超密集网络中计算卸载与资源优化方法
CN116155728A (zh) * 2023-04-23 2023-05-23 华东交通大学 超密集网络中计算卸载与资源优化方法

Also Published As

Publication number Publication date
CN111813506B (zh) 2023-06-02

Similar Documents

Publication Publication Date Title
CN111813506B (zh) 一种基于粒子群算法资源感知计算迁移方法、装置及介质
CN108182115B (zh) 一种云环境下的虚拟机负载均衡方法
CN112286677B (zh) 一种面向资源受限边缘云的物联网应用优化部署方法
CN112380008B (zh) 一种面向移动边缘计算应用的多用户细粒度任务卸载调度方法
CN109885397B (zh) 一种边缘计算环境中时延优化的负载任务迁移算法
CN113242568A (zh) 一种不确定网络环境中的任务卸载和资源分配方法
CN113950066A (zh) 移动边缘环境下单服务器部分计算卸载方法、系统、设备
Xu et al. Multiobjective computation offloading for workflow management in cloudlet‐based mobile cloud using NSGA‐II
CN109818786B (zh) 一种云数据中心应用可感知的分布式多资源组合路径最优选取方法
CN113485826B (zh) 一种边缘服务器负载均衡方法、系统
CN111984419B (zh) 一种边缘环境可靠性约束的复杂任务计算迁移方法
CN112214301B (zh) 面向智慧城市基于用户偏好的动态计算迁移方法及装置
CN113867843B (zh) 一种基于深度强化学习的移动边缘计算任务卸载方法
CN112492032B (zh) 一种移动边缘环境下的工作流协作调度方法
CN111176784B (zh) 一种基于极限学习机和蚁群系统的虚拟机整合方法
CN113139639B (zh) 一种基于mombi面向智慧城市应用多目标计算迁移方法和装置
CN112596910B (zh) 一种多用户mec系统中的云计算资源调度方法
CN117579701A (zh) 一种移动边缘网络计算卸载方法及系统
CN112685162A (zh) 边缘服务器异构计算资源的高效能调度方法、系统和介质
CN114650321A (zh) 用于边缘计算的任务调度方法及边缘计算终端
Yu Research on optimization strategy of task scheduling software based on genetic algorithm in cloud computing environment
CN112764932B (zh) 基于深度强化学习的计算密集型工作负载高能效分配方法
CN114980216A (zh) 基于移动边缘计算的依赖型任务卸载系统及方法
CN113157344B (zh) 移动边缘计算环境下基于drl的能耗感知任务卸载方法
CN115086249A (zh) 一种基于深度强化学习的云数据中心资源分配方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant