CN113627871B - 一种基于多目标粒子群算法的工作流调度方法、系统及存储介质 - Google Patents
一种基于多目标粒子群算法的工作流调度方法、系统及存储介质 Download PDFInfo
- Publication number
- CN113627871B CN113627871B CN202110690513.XA CN202110690513A CN113627871B CN 113627871 B CN113627871 B CN 113627871B CN 202110690513 A CN202110690513 A CN 202110690513A CN 113627871 B CN113627871 B CN 113627871B
- Authority
- CN
- China
- Prior art keywords
- particle
- workflow
- task
- representing
- execution
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
-
- 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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0633—Workflow analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0639—Performance analysis of employees; Performance analysis of enterprise or organisation operations
- G06Q10/06393—Score-carding, benchmarking or key performance indicator [KPI] analysis
-
- 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)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Economics (AREA)
- Operations Research (AREA)
- Data Mining & Analysis (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Quality & Reliability (AREA)
- Marketing (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- Mathematical Physics (AREA)
- Game Theory and Decision Science (AREA)
- Computational Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Algebra (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于多目标粒子群算法的工作流调度方法、系统及存储介质,所述方法首先考虑集群内各服务器的降频特性和执行时间的差异性,在传统模型基础上构建了一个涵盖工作流执行开销、执行时间、集群负载均衡的多目标综合评估模型;其次,面向工作流调度提出了一种多目标粒子群算法,并给出了一种高效求解方法。此方法缓解了粒子群算法的过早收敛、物种多样性低的缺陷,降低了工作流在集群服务器上的执行开销、执行时间,较好的平衡了集群服务器的负载。
Description
技术领域
本发明具体涉及一种基于改进粒子群算法的工作流调度算法,属于云计算技术领域。
背景技术
云计算是基于互联网所提供的一种资源共享的方法,采用虚拟化技术,并且基于即用即付的消费模式将资源模拟成虚拟机来向用户终端提供接近无限的资源,例如:CPU、GPU、内存、存储等资源。
在当前在云计算系统中,资源管理由资源配置和资源调度两个阶段组成。资源配置是为最终用户提交的工作负载识别足够的资源,资源调度则是将工作负载映射到配置的资源的过程,并且是云计算技术的核心模块。
近年来,研究人员致力于引入元启发式调度算法,大多数主要关注任务的负载均衡供应,以产生高效的资源利用,然而,这种关注会提高大规模任务的执行时间,从而导致大规模任务的调度效率过低。除此之外,目前市面上的大多数调度算法只针对单一性问题进行调度,忽略了综合考量,并且市面上现有的粒子群算法种群单一且容易陷入局部最优解,无法得到最终的优化部署方案。
发明内容
本发明所要解决的技术问题是:在云计算系统中,如何降低调度算法陷入局部最优解的概率并提高任务部署的精确性。
为解决上述技术问题,本发明采用如下技术方案:
一种基于多目标粒子群算法的工作流调度方法,包括以下步骤:
1)构建工作流执行开销评估方程;
2)构建工作流执行时间评估方程;
3)构建集群负载评估方程;
4)构建包含上述三种评估方程中的指标的综合评估方程,针对工作流执行开销评估方程、工作流执行时间评估方程、集群负载评估方程和综合评估方程,采用粒子群改进算法进行工作流的调度,所述粒子群改进算法(PSO)是将粒子群平均分成四部分,每部分粒子假设均进行C次迭代,每部分粒子的前C*a%次迭代分别寻找上述四种评估方程的最优解,后C*(1-a%)次迭代均寻找综合评估方程的最优解,系数a的取值范围为0≦a≦100。
一种基于多目标粒子群算法的工作流调度系统,包括以下程序模块:
开销评估模块:用于构建工作流执行开销评估方程;
执行时间评估模块:用于构建工作流执行时间评估方程;
集群负载评估模块:用于构建集群负载评估方程;
求解模块:构建包含上述三种评估方程中的指标的综合评估方程,针对工作流执行开销评估方程、工作流执行时间评估方程、集群负载评估方程和综合评估方程,采用粒子群改进算法进行工作流的调度,所述粒子群改进算法(PSO)是将粒子群平均分成四部分,每部分粒子假设均进行C次迭代,每部分粒子的前C*a%次迭代分别寻找上述四种评估方程的最优解,后C*(1-a%)次迭代均寻找综合评估方程的最优解。
一种计算机可读存储介质,用于存储上述基于多目标粒子群算法的工作流调度方法。
与现有技术相比,本发明所达到的有益效果是:
本发明提出了一个多目标综合评估模型,该模型在传统模型的基础上额外考虑了服务器的降频特性和服务器执行时间的差异化特性,旨在降低工作流的执行时间和执行开销并优化虚拟机的负载均衡,提高集群的资源利用率。其次,本发明还提出了一种基于改进粒子群算法的工作流调度算法,该算法区别于传统粒子群算法中的单目标粒子群,采用了新型多目标粒子群,旨在提高粒子群种群多样性、扩大粒子群搜索法范围,降低调度算法陷入局部最优解的概率并提高任务部署的精确性。除此之外,该算法还区别于传统粒子群算法中的粒子更新策略,采用退火算法中的Metropolis准则来更新粒子,旨在提高粒子群的全局搜索能力和局部搜索能力。该算法采用交替更新策略减弱多目标粒子群所带来的复杂度上升的负面效果,使该算法的复杂度在略微高于传统粒子群算法的前提下,充分发挥其性能。
1)本发明充分考虑了集群机器的执行能力、降频特性等诸多因素更加科学构造了评估方程并对工作流部署方案进行精准的评估,有效的降低了工作流在集群服务器上的执行开销,执行时间,并且进一步平衡集群服务器的负载
2)本发明缓解了原始粒子群算法的过早收敛,物种多样性低的缺陷,保证了算法在求解时,得出的工作流的部署方案更加精确,更加合理。除此之外,调度时间极大的缩短,节约了总的工作流的调度与执行时间。
附图说明
图1为本发明举例的工作流模型;
图2为本发明改进粒子群调度算法工作流程图。
具体实施方式
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
实施例1
本发明的一种基于多目标粒子群算法的工作流调度方法,包括以下步骤:
1)构建工作流执行开销评估方程;
2)构建工作流执行时间评估方程;
3)构建集群负载评估方程;
4)构建包含上述三种评估方程中的指标的综合评估方程,针对工作流执行开销评估方程、工作流执行时间评估方程、集群负载评估方程和综合评估方程,采用粒子群改进算法进行工作流的调度,所述粒子群改进算法(PSO)是将粒子群平均分成四部分,每部分粒子假设均进行C次迭代,每部分粒子的前C*a%次迭代分别寻找上述四个评估方程的最优解,后C*(1-a%)次迭代均寻找综合评估方程的最优解,在寻找最优解的过程中采用退火概率公式更新每个粒子的状态信息。
构建优化目标函数:
如图1所示的工作流模拟图,每个小球t代表一个任务,工作流是若干任务t1、t2…tn的组合,对于工作流来说大部分任务都是相互依赖的,工作流用加权有向无环图G=(T,E)来表示,T={t1、t2…tN}代表工作流的N个任务,E={eij|i,j=1,…N}代表任务的依赖情况,如:e12代表任务t1执行完毕,并把数据传输给任务t2之后才能执行任务t2,假设虚拟机用vmi表示,i=1,2…M,M是虚拟机的数量,
每个任务的执行时间公式如下:
式中,代表任务ti的指令长度,Cvj代表虚拟机vmi的执行能力(MIPS),/>代表虚拟机vmi的衰减系数(服务器不可能长期工作在最大工作负载),/>代表任务ti在虚拟机vmj的执行时间,每个任务的执行时间/>不能超过各自任务ti的截止时间/>
前置任务与后置任务的数据传输时间公式如下:
式中,bw代表云服务器的网络带宽,代表任务ti向任务tj传输的数据的大小,代表任务ti向任务tj传输数据完毕所花费的时间。
在步骤1)中,工作流执行开销评估方程包含工作流的执行开销和前置任务与后置任务的数据传输开销,表达式为:
Cost≤revenue (6)
式中,工作流中的任务数是N,虚拟机数是M,是二维变量,/>代表任务ti在虚拟机vmj的执行时间,/>代表任务在虚拟机vi的执行代价系数,用于表示服务器执行任务的单位时间开销,/>代表任务ti向任务tj传输数据完毕所花费的时间,PriceIE代表两任务在云服务器网络的数据传输代价,用于表示数据传输的单位时间网络开销,PR(ti)代表任务ti的所有前置任务,工作流的总开销Cost不能超过用户的开销限制revenue。
在步骤2)中,任务ti的完成时间用表示,工作流的执行时间用其子任务的最大完成时间来表示/>其中,任务ti的完成时间目标方程包含了任务ti的执行时间和等待时间,任务ti的等待时间包含所有前置任务的最大执行时间和所有前置任务向后置任务ti传输的数据时间,公式如下:
式中,代表任务ti的等待执行时间,PR(ti)代表任务ti的所有前置任务,/>代表任务t1向任务t2传输数据完毕所花费的时间,/>代表ti在vmj的执行时间;/>代表着任务ti的所有前置任务在vmi上的执行时间(这是个集合),从这个集合中选取最大值;
任务ti的完成时间用公式如下:
式中,代表任务ti的等待执行时间,/>代表ti在vmj的执行时间。
工作流的执行时间评估方程如下:
式中,工作流任务数是N,代表任务ti的最大完成时间。
在步骤3)中,负载均衡评估方程是根据服务器的执行时间的差异性建立的,即由单个虚拟机的任务执行时间与虚拟机集群的平均任务执行时间的方差来表示,方差越小则表明服务器负载越均衡,其中单个虚拟机执行任务的总时间方程如下:
式中,工作流总任务数是N,是二维变量,/>代表tj在vmi的执行时间。
虚拟机的平均执行任务时间AVEET:
上述公式中,工作流任务数是N,虚拟机数是M,代表ti在vmj的执行时间,/>是二维变量,/>代表虚拟机vi执行任务的总时间。
服务器集群最大负载目标方程用每个虚拟机工作流的执行时间与总虚拟机工作流的平均执行时间的方差表示,方程表达式如下:
式中,虚拟机数量是M,代表虚拟机vmi执行任务的总时间,AVEET代表虚拟机的平均执行任务时间,LD代表虚拟机集群的工作负载,LD越小,虚拟机负载约均衡。
在步骤4)中,工作流综合评估方程由工作流执行开销评估方程、工作流执行时间评估方程和集群负载评估方程构成,其方程表达式如下:
Fitness=x1*Cost+x2*Makespan+x3*LD (14)
Cost≤revenue (15)
Makespan≤D (16)
式中,x1、x2、x3分别为开销权重系数、时间权重系数和集群负载权重系数,权重系数随任务的特点变化而变化;Cost代表工作流的执行开销;D代表工作流的截止日期;Makespan代表工作流执行时间,LD代表虚拟机集群的工作负载。
在步骤4)中,构建改进粒子群算法:
粒子群算法是用多个粒子来模拟鸟类群体搜索食物行为的一种元启发式算法。每个粒子可视为N维搜索空间中的一个搜索个体,粒子的当前位置即为对应优化问题的一个候选解,粒子的飞行过程即为该个体的搜索过程.粒子的飞行速度可根据粒子历史最优位置和种群历史最优位置进行动态调整.粒子仅具有两个属性:速度v和位置x。每个粒子单独搜寻的最优解叫做个体最优解,粒子群中最优的个体极值作为当前全局最优解。不断迭代,更新速度和位置。最终得到满足终止条件的最优解。
传统粒子群算法公式如下:
式中,d代表粒子的维度,vt i,d代表第t次迭代第i个粒子的第d维的速度,xt i,d代表第t次迭代第i个粒子的第s维的位置;c1和c2分别为加速常数一和加速常数二,前者为每个粒子的个体学习因子,后者为每个粒子的社会学习因子,一般取c1、c2为(0,4)区间的常数;r1,r2分别为(0,1)区间的随机数一和随机数二,表示第t次迭代的第i个粒子的第d维的评估方程的个体极值,/>表示第t次迭代的第d维的评估方程的全局极值,ω称为惯性因子,值为非负,惯性因子越大,全局寻优能力强但局部寻优能力弱,惯性因子越小,全局寻优能力弱但局部寻优能力强:
ωt=(ωstart-ωend)(C-t)/C+ωend (18)
式中,ωt代表第t次迭代的惯性因子ω的值,ωstart=0.9,为惯性因子ω的初始的值,ωend=0.4为惯性因子ω的最终值,C代表迭代总次数,t代表当前的迭代次数。
传统模拟退火算法概率公式:
式中,p(xt→xt+1)代表xt转移到xt+1的概率,若目标函数f(xt+1)<f(xt),则转移概率是1,若f(xt+1)≥f(xt),则转移概率是Tt代表第t次迭代的退火温度,它随着迭代次数变化而变化,变化公式如下:
式中的温度Tt的变化本发明采用水从100摄氏度到0摄氏度的自然降温方程,其中t代表当前迭代的次数,n代表粒子群数。
本发明的改进粒子群调度算法的具体执行流程如图2所示:
步骤1)粒子群初始化总迭代次数C、惯性因子ω、加速常数一c1和加速常数二c2、随机数一r1和随机数二r2、t=1、粒子分组系数k=0、i=1、初始化粒子群的数量n、随机产生n个粒子、使用执行开销评估方程的粒子的的个体极值pbest1和使用执行开销评估方程的粒子的全局极值gbest1用执行开销评估方程Cost来表示、使用执行时间评估方程的粒子的的个体极值pbest2和使用执行时间评估方程的粒子的的全局极值gbest2用执行时间评估方程Makespan来表示、使用集群负载评估方程的粒子的的个体极值pbest3和使用集群负载评估方程的粒子的的全局极值gbest3用集群负载评估方程LD来表示、使用工作流综合评估方程的粒子的的个体极值pbest4和使用工作流综合评估方程的粒子的的全局极值gbest4用工作流综合评估方程Fitness来表示,粒子的各维度代表各工作流;
步骤2)判断迭代次数是否小于等于C*a%,否则跳到步骤三;开始利用For循环i=1:n对n粒子群速度v和位置x进行更新,为了减弱多目标粒子群所带来的复杂度上升的负面效果,采用交替更新方法:
当i=4k+1:
粒子i采用如下评估方程:
式中,工作流中的任务数是N,虚拟机数是M,是二维变量,/>代表任务ti在虚拟机vmj的执行时间,/>代表任务在虚拟机vi的执行代价系数,用于表示服务器执行任务的单位时间开销,/>代表任务ti向任务tj传输数据完毕所花费的时间,PriceIE代表两任务在云服务器网络的数据传输代价,用于表示数据传输的单位时间网络开销,PR(ti)代表任务ti的所有前置任务。
采用如下粒子群公式更新速度v和位置x:
概率更新速度v和位置x公式如下:
若则更新/>是记录所找到的最优的粒子的个体信息,如果找到更优的,则把新找到的粒子信息替换原有存储的旧的粒子信息,若粒子在搜索过程中发现/> 则更新对应的/>
当i=4k+2:
粒子i采用如下评估函数:
采用如下粒子群公式更新速度v和位置x:
概率更新速度v和位置x公式如下:
若则更新/>若粒子发现/> 则更新对应的/>
当i=4k+3:
粒子i采用如下评估函数:
采用如下粒子群公式更新速度v和位置x:
概率更新速度v和位置x公式如下:
若则更新/>若粒子发现/> 则更新对应的/>
当i=4k+4:
粒子i采用如下综合评估函数:
Fitness=x1*Cost+x2*Makespan+x3*LD (30)
采用如下粒子群公式更新速度v和位置x:
概率更新速度v和位置x公式如下:
若则更新/>若粒子发现/> 则更新对应的/>
经过以上执行过程之后,更新k:k=k+1,更新c:c=c+1,跳回步骤2);
步骤3)判断迭代次数是否小于等于D,否则跳到步骤4);开始利用For循环对n个粒子速度v和位置x进行更新:
n个粒子均采用如下综合评估函数:
Fitness=x1*Cost+x2*Makespan+x3*LD (33)
采用如下粒子群公式更新速度v和位置x:
更新速度v和位置x判断公式如下:
若则更新/>若/>则更新对应的/>
步骤4)输出最终结果,利用调度器(负责将任务调度到对应虚拟机的模块)将工作流调度到相应的虚拟机上的;检查是否有新的工作流到来,若有,则开启新一轮循环,若没有,则流程结束。
一种基于多目标粒子群算法的工作流调度系统,包括以下程序模块:
开销评估模块:用于构建工作流执行开销评估方程;
执行时间评估模块:用于构建工作流执行时间评估方程;
集群负载评估模块:用于构建集群负载评估方程;
求解模块:构建包含上述三种评估方程中的指标的综合评估方程,针对工作流执行开销评估方程、工作流执行时间评估方程、集群负载评估方程和综合评估方程,采用粒子群改进算法进行工作流的调度,所述粒子群改进算法(PSO)是将粒子群平均分成四部分,每部分粒子假设均进行C次迭代,每部分粒子的前C*a%次迭代分别寻找上述四种评估方程的最优解,后C*(1-a%)次迭代均寻找综合评估方程的最优解。
一种计算机可读存储介质,用于存储上述基于多目标粒子群算法的工作流调度方法。
以上实施例仅用以说明发明的技术方案而非对其限制,所属领域的研发人员参照上述实施例依然可以对本发明的具体实施方式进行修改或者等同替换,这些没有脱离本发明精神和范围的任何修改或者等同替换,均在申请待批的本发明的权利要求保护范围以内。
Claims (5)
1.一种基于多目标粒子群算法的工作流调度方法,其特征在于,包括以下步骤:
1)构建工作流执行开销评估方程;
2)构建工作流执行时间评估方程;
3)构建集群负载评估方程;
4)构建包含上述三种评估方程中的指标的综合评估方程,针对工作流执行开销评估方程、工作流执行时间评估方程、集群负载评估方程和综合评估方程,采用粒子群改进算法进行工作流的调度,所述粒子群改进算法是将粒子群平均分成四部分,每部分粒子假设均进行C次迭代,每部分粒子的前C*a%次迭代分别寻找上述四种评估方程的最优解,后C*(1-a%)次迭代均寻找综合评估方程的最优解,系数a的取值范围是[0,100];
在步骤4)中,改进粒子群调度算法的具体执行流程包括以下步骤:
步骤41)粒子群初始化总迭代次数C、惯性因子ω、加速常数一c1和加速常数二c2、随机数一r1和随机数二r2、当前的迭代次数t=1、粒子分组系数k=0、i=1、初始化粒子群的数量n、随机产生n个粒子、使用执行开销评估方程的粒子的个体极值pbest1和使用执行开销评估方程的粒子的全局极值gbest1用执行开销评估方程Cost来表示、使用执行时间评估方程的粒子的个体极值pbest2和使用执行时间评估方程的粒子的全局极值gbest2用执行时间评估方程Makespan来表示、使用集群负载评估方程的粒子的个体极值pbest3和使用集群负载评估方程的粒子的全局极值gbest3用集群负载评估方程LD来表示、使用工作流综合评估方程的粒子的个体极值pbest4和使用工作流综合评估方程的粒子的全局极值gbest4用工作流综合评估方程Fitness来表示,粒子的各维度代表各工作流;
步骤42)判断迭代次数是否小于等于C*a%,否则跳到步骤43);开始利用For循环i=1:n对n粒子群速度v和位置x进行更新,为了减弱多目标粒子群所带来的复杂度上升的负面效果,采用交替更新方法:
当i=4k+1:
粒子i采用如下评估方程:
式中,工作流中的任务数是N,虚拟机数是M,是二维变量,/>代表任务ti在虚拟机vmj的执行时间,/>代表任务在虚拟机vmj的执行代价系数,用于表示服务器执行任务的单位时间开销,/>代表任务ti向任务tj传输数据完毕所花费的时间,PriceIE代表两任务在云服务器网络的数据传输代价,用于表示数据传输的单位时间网络开销,RP(ti)代表任务ti的所有前置任务;
采用如下粒子群公式更新速度v和位置x:
概率更新速度v和位置x公式如下:
式中,d代表粒子的维度,vt i,d代表第t次迭代第i个粒子的第d维的速度,xt i,d代表第t次迭代第i个粒子的第d维的位置;表示第t次迭代的第i个粒子的第d维的评估方程的个体极值,/>表示第t次迭代的第d维的评估方程的全局极值;ωt代表第t次迭代的惯性因子ω的值;p(xt→xt+1)代表xt转移到xt+1的概率,若目标函数f(xt+1)<f(xt),则转移概率是1,若f(xt+1)≥f(xt),则转移概率是/>
若则更新/> 是记录所找到的最优的粒子的个体极值信息一,如果找到更优的,则把新找到的粒子信息替换原有存储的旧的粒子信息,若粒子在搜索过程中发现/> 则更新对应的全局极值/>
当i=4k+2:
粒子i采用如下评估函数:
式中,代表任务ti的完成时间;Makespan为工作流的执行时间;
采用如下粒子群公式更新速度v和位置x:
概率更新速度v和位置x公式如下:
若则更新/> 是记录所找到的最优的粒子的个体极值信息二,若粒子发现/> 则更新对应的全局极值/>
当i=4k+3:
粒子i采用如下评估函数:
式中,代表虚拟机vmi执行任务的总时间,AVEET代表虚拟机的平均执行任务时间,LD代表虚拟机集群的工作负载;
采用如下粒子群公式更新速度v和位置x:
概率更新速度v和位置x公式如下:
若则更新/> 是记录所找到的最优的粒子的个体极值信息三,若粒子发现/> 则更新对应的全局极值/>
当i=4k+4:
粒子i采用如下综合评估函数:
Fitness=x1*Cost+x2*Makespan+x3*LD (30)
x1、x2、x3分别为开销权重系数、时间权重系数和集群负载权重系数;
采用如下粒子群公式更新速度v和位置x:
概率更新速度v和位置x公式如下:
若则更新/> 是记录所找到的最优的粒子的个体极值信息四,若粒子发现/> 则更新对应的全局极值/>
经过以上执行过程之后,更新k:k=k+1,更新c:c=c+1,跳回步骤42);
步骤43)判断迭代次数是否小于等于D,D代表工作流的截止日期,否则跳到步骤44);开始利用For循环对n个粒子速度v和位置x进行更新:
n个粒子均采用如下综合评估函数:
Fitness=x1*Cost+x2*Makespan+x3*LD (33)
采用如下粒子群公式更新速度v和位置x:
更新速度v和位置x判断公式如下:
若则更新/>若/>则更新对应的全局极值/>
步骤44)输出最终结果,利用调度器将工作流调度到相应的虚拟机上;
检查是否有新的工作流到来,若有,则开启新一轮循环,若没有,则流程结束。
2.根据权利要求1所述的一种基于多目标粒子群算法的工作流调度方法,其特征在于:
在步骤2)中,任务ti的完成时间目标方程包含了任务ti的执行时间和等待时间,任务ti的等待时间包含所有前置任务的最大执行时间和所有前置任务向后置任务ti传输的数据时间,公式如下:
式中,代表任务ti的等待执行时间,/>代表任务ti的所有前置任务在虚拟机vmj上的执行时间,从任务ti的所有前置任务在虚拟机vmj上的执行时间集合中选取最大值;
任务ti的完成时间用公式如下:
3.根据权利要求1所述的一种基于多目标粒子群算法的工作流调度方法,其特征在于:
在步骤3)中,负载均衡评估方程根据服务器的执行时间的差异性建立,即由单个虚拟机的任务执行时间与虚拟机集群的平均任务执行时间的方差来表示,方差越小则表明服务器负载越均衡,其中单个虚拟机执行任务的总时间方程如下:
式中,是二维变量,/>代表任务tj在虚拟机vmi的执行时间;
虚拟机的平均执行任务时间AVEET:
上述公式中,代表任务ti在虚拟机vmj的执行时间,/>是二维变量,/>代表虚拟机vmj执行任务的总时间。
4.一种基于多目标粒子群算法的工作流调度系统,其特征在于,包括以下程序模块:
开销评估模块:用于构建工作流执行开销评估方程;
执行时间评估模块:用于构建工作流执行时间评估方程;
集群负载评估模块:用于构建集群负载评估方程;
求解模块:构建包含上述三种评估方程中的指标的综合评估方程,针对工作流执行开销评估方程、工作流执行时间评估方程、集群负载评估方程和综合评估方程,采用粒子群改进算法进行工作流的调度,所述粒子群改进算法(PSO)是将粒子群平均分成四部分,每部分粒子假设均进行C次迭代,每部分粒子的前C*a%次迭代分别寻找上述四种评估方程的最优解,后C*(1-a%)次迭代均寻找综合评估方程的最优解;
在求解模块中,改进粒子群调度算法的具体执行流程包括以下步骤:
步骤41)粒子群初始化总迭代次数C、惯性因子ω、加速常数一c1和加速常数二c2、随机数一r1和随机数二r2、当前的迭代次数t=1、粒子分组系数k=0、i=1、初始化粒子群的数量n、随机产生n个粒子、使用执行开销评估方程的粒子的个体极值pbest1和使用执行开销评估方程的粒子的全局极值gbest1用执行开销评估方程Cost来表示、使用执行时间评估方程的粒子的个体极值pbest2和使用执行时间评估方程的粒子的全局极值gbest2用执行时间评估方程Makespan来表示、使用集群负载评估方程的粒子的个体极值pbest3和使用集群负载评估方程的粒子的全局极值gbest3用集群负载评估方程LD来表示、使用工作流综合评估方程的粒子的个体极值pbest4和使用工作流综合评估方程的粒子的全局极值gbest4用工作流综合评估方程Fitness来表示,粒子的各维度代表各工作流;
步骤42)判断迭代次数是否小于等于C*a%,否则跳到步骤43);开始利用For循环i=1:n对n粒子群速度v和位置x进行更新,为了减弱多目标粒子群所带来的复杂度上升的负面效果,采用交替更新方法:
当i=4k+1:
粒子i采用如下评估方程:
式中,工作流中的任务数是N,虚拟机数是M,是二维变量,/>代表任务ti在虚拟机vmj的执行时间,/>代表任务在虚拟机vmj的执行代价系数,用于表示服务器执行任务的单位时间开销,/>代表任务ti向任务tj传输数据完毕所花费的时间,PriceIE代表两任务在云服务器网络的数据传输代价,用于表示数据传输的单位时间网络开销,RP(ti)代表任务ti的所有前置任务;
采用如下粒子群公式更新速度v和位置x:
概率更新速度v和位置x公式如下:
式中,d代表粒子的维度,vt i,d代表第t次迭代第i个粒子的第d维的速度,xt i,d代表第t次迭代第i个粒子的第d维的位置;表示第t次迭代的第i个粒子的第d维的评估方程的个体极值,/>表示第t次迭代的第d维的评估方程的全局极值;ωt代表第t次迭代的惯性因子ω的值;p(xt→xt+1)代表xt转移到xt+1的概率,若目标函数f(xt+1)<f(xt),则转移概率是1,若f(xt+1)≥f(xt),则转移概率是/>
若则更新/> 是记录所找到的最优的粒子的个体极值信息一,如果找到更优的,则把新找到的粒子信息替换原有存储的旧的粒子信息,若粒子在搜索过程中发现/> 则更新对应的全局极值/>
当i=4k+2:
粒子i采用如下评估函数:
式中,代表任务ti的完成时间;Makespan为工作流的执行时间;
采用如下粒子群公式更新速度v和位置x:
概率更新速度v和位置x公式如下:
若则更新/> 是记录所找到的最优的粒子的个体极值信息二,若粒子发现/> 则更新对应的全局极值/>
当i=4k+3:
粒子i采用如下评估函数:
式中,代表虚拟机vmi执行任务的总时间,AVEET代表虚拟机的平均执行任务时间,LD代表虚拟机集群的工作负载;
采用如下粒子群公式更新速度v和位置x:
概率更新速度v和位置x公式如下:
若则更新/> 是记录所找到的最优的粒子的个体极值信息三,若粒子发现/> 则更新对应的全局极值/>
当i=4k+4:
粒子i采用如下综合评估函数:
Fitness=x1*Cost+x2*Makespan+x3*LD (30)
x1、x2、x3分别为开销权重系数、时间权重系数和集群负载权重系数;
采用如下粒子群公式更新速度v和位置x:
概率更新速度v和位置x公式如下:
若则更新/> 是记录所找到的最优的粒子的个体极值信息四,若粒子发现/> 则更新对应的全局极值/>
经过以上执行过程之后,更新k:k=k+1,更新c:c=c+1,跳回步骤42);
步骤43)判断迭代次数是否小于等于D,D代表工作流的截止日期,否则跳到步骤44);开始利用For循环对n个粒子速度v和位置x进行更新:
n个粒子均采用如下综合评估函数:
Fitness=x1*Cost+x2*Makespan+x3*LD (33)
采用如下粒子群公式更新速度v和位置x:
更新速度v和位置x判断公式如下:
若则更新/>若/>则更新对应的全局极值/>
步骤44)输出最终结果,利用调度器将工作流调度到相应的虚拟机上;
检查是否有新的工作流到来,若有,则开启新一轮循环,若没有,则流程结束。
5.一种计算机可读存储介质,其特征在于:用于存储权利要求1-3任一项所述的基于多目标粒子群算法的工作流调度方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110690513.XA CN113627871B (zh) | 2021-06-22 | 2021-06-22 | 一种基于多目标粒子群算法的工作流调度方法、系统及存储介质 |
PCT/CN2022/094474 WO2022267791A1 (zh) | 2021-06-22 | 2022-05-23 | 一种基于多目标粒子群算法的工作流调度方法、系统及存储介质 |
US17/846,051 US20220405129A1 (en) | 2021-06-22 | 2022-06-22 | Workflow scheduling method and system based on multi-target particle swarm algorithm, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110690513.XA CN113627871B (zh) | 2021-06-22 | 2021-06-22 | 一种基于多目标粒子群算法的工作流调度方法、系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113627871A CN113627871A (zh) | 2021-11-09 |
CN113627871B true CN113627871B (zh) | 2023-08-18 |
Family
ID=78378295
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110690513.XA Active CN113627871B (zh) | 2021-06-22 | 2021-06-22 | 一种基于多目标粒子群算法的工作流调度方法、系统及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113627871B (zh) |
WO (1) | WO2022267791A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113627871B (zh) * | 2021-06-22 | 2023-08-18 | 南京邮电大学 | 一种基于多目标粒子群算法的工作流调度方法、系统及存储介质 |
CN116165542B (zh) * | 2023-03-01 | 2023-10-20 | 上海玫克生储能科技有限公司 | 一种电池参数的辨识方法、装置、设备及存储介质 |
CN116011502B (zh) * | 2023-03-27 | 2023-06-09 | 南昌航空大学 | 基于多收敛方向粒子群寻优提升良品率的数据处理方法 |
CN116260730B (zh) * | 2023-05-15 | 2023-07-21 | 武汉大学 | 多边缘计算节点中的地理信息服务进化粒子群优化方法 |
CN116633864B (zh) * | 2023-07-19 | 2023-11-03 | 国家计算机网络与信息安全管理中心江西分中心 | 一种基于云计算平台的流量调度方法 |
CN117234219B (zh) * | 2023-11-14 | 2024-02-02 | 中国船舶集团有限公司第七一九研究所 | 一种海上集群感知任务轨迹设计方法及计算机可读介质 |
CN117250868B (zh) * | 2023-11-14 | 2024-03-01 | 泉州装备制造研究所 | 基于多目标粒子群算法的分流控制方法、系统及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012143424A1 (fr) * | 2011-04-19 | 2012-10-26 | Ge Energy Products France Snc | Système et procédé de commande d'une installation de production d'énergie électrique |
CN103699446A (zh) * | 2013-12-31 | 2014-04-02 | 南京信息工程大学 | 基于量子粒子群优化算法的多目标工作流动态调度方法 |
CN108182109A (zh) * | 2017-12-28 | 2018-06-19 | 福州大学 | 一种云环境下的工作流调度与数据分配方法 |
CN109670689A (zh) * | 2018-12-06 | 2019-04-23 | 杭州电子科技大学 | 一种基于免疫粒子群的科学工作流多目标调度方法 |
WO2019109757A1 (zh) * | 2017-12-06 | 2019-06-13 | 华南理工大学 | 运用粒子群算法优化功率电子电路的方法 |
CN111047183A (zh) * | 2019-12-10 | 2020-04-21 | 浙江工商大学 | 基于分层自适应智能计算算法的云工作流调度优化方法 |
CN111858029A (zh) * | 2020-06-16 | 2020-10-30 | 国网福建省电力有限公司信息通信分公司 | 基于离散粒子群的Storm集群负载均衡方法及系统 |
CN112132471A (zh) * | 2020-09-25 | 2020-12-25 | 华中科技大学 | 基于模拟退火粒子群算法的梯级水电站调度方法及系统 |
CN112685165A (zh) * | 2021-01-08 | 2021-04-20 | 北京理工大学 | 一种基于联合强化学习策略的多目标云工作流调度方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10528396B2 (en) * | 2016-11-14 | 2020-01-07 | King Abdulaziz University | Temporal task scheduling in a hybrid system |
CN110161995B (zh) * | 2019-06-10 | 2020-06-19 | 北京工业大学 | 基于动态多目标粒子群算法的城市污水处理过程优化控制方法 |
CN112492032B (zh) * | 2020-11-30 | 2022-09-23 | 杭州电子科技大学 | 一种移动边缘环境下的工作流协作调度方法 |
CN113627871B (zh) * | 2021-06-22 | 2023-08-18 | 南京邮电大学 | 一种基于多目标粒子群算法的工作流调度方法、系统及存储介质 |
-
2021
- 2021-06-22 CN CN202110690513.XA patent/CN113627871B/zh active Active
-
2022
- 2022-05-23 WO PCT/CN2022/094474 patent/WO2022267791A1/zh active Application Filing
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012143424A1 (fr) * | 2011-04-19 | 2012-10-26 | Ge Energy Products France Snc | Système et procédé de commande d'une installation de production d'énergie électrique |
CN103699446A (zh) * | 2013-12-31 | 2014-04-02 | 南京信息工程大学 | 基于量子粒子群优化算法的多目标工作流动态调度方法 |
WO2019109757A1 (zh) * | 2017-12-06 | 2019-06-13 | 华南理工大学 | 运用粒子群算法优化功率电子电路的方法 |
CN108182109A (zh) * | 2017-12-28 | 2018-06-19 | 福州大学 | 一种云环境下的工作流调度与数据分配方法 |
CN109670689A (zh) * | 2018-12-06 | 2019-04-23 | 杭州电子科技大学 | 一种基于免疫粒子群的科学工作流多目标调度方法 |
CN111047183A (zh) * | 2019-12-10 | 2020-04-21 | 浙江工商大学 | 基于分层自适应智能计算算法的云工作流调度优化方法 |
CN111858029A (zh) * | 2020-06-16 | 2020-10-30 | 国网福建省电力有限公司信息通信分公司 | 基于离散粒子群的Storm集群负载均衡方法及系统 |
CN112132471A (zh) * | 2020-09-25 | 2020-12-25 | 华中科技大学 | 基于模拟退火粒子群算法的梯级水电站调度方法及系统 |
CN112685165A (zh) * | 2021-01-08 | 2021-04-20 | 北京理工大学 | 一种基于联合强化学习策略的多目标云工作流调度方法 |
Non-Patent Citations (1)
Title |
---|
云计算环境下基于改进粒子群算法的任务调度;张照胜;李蜀瑜;;电子设计工程(第15期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
WO2022267791A1 (zh) | 2022-12-29 |
CN113627871A (zh) | 2021-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113627871B (zh) | 一种基于多目标粒子群算法的工作流调度方法、系统及存储介质 | |
Yi et al. | Task optimization and scheduling of distributed cyber–physical system based on improved ant colony algorithm | |
CN108182115B (zh) | 一种云环境下的虚拟机负载均衡方法 | |
US20220405129A1 (en) | Workflow scheduling method and system based on multi-target particle swarm algorithm, and storage medium | |
Wang et al. | Load balancing task scheduling based on genetic algorithm in cloud computing | |
WO2023184939A1 (zh) | 基于深度强化学习的云数据中心自适应高效资源分配方法 | |
CN103631657B (zh) | 一种基于MapReduce的任务调度方法 | |
Kaur et al. | Deep‐Q learning‐based heterogeneous earliest finish time scheduling algorithm for scientific workflows in cloud | |
CN109857532B (zh) | 基于蒙特卡洛树搜索的dag任务调度方法 | |
CN111274036A (zh) | 一种基于速度预测的深度学习任务的调度方法 | |
CN109067834A (zh) | 基于振荡式惯性权重的离散粒子群调度算法 | |
Tong et al. | DDQN-TS: A novel bi-objective intelligent scheduling algorithm in the cloud environment | |
CN115454612A (zh) | 一种基于维度学习策略和灰狼优化的云平台任务调度方法 | |
Wu et al. | A deadline-aware estimation of distribution algorithm for resource scheduling in fog computing systems | |
CN115330189A (zh) | 一种基于改进飞蛾火焰算法的工作流优化调度方法 | |
CN113778646A (zh) | 一种基于执行时间预测的任务层级调度方法及装置 | |
CN109445386A (zh) | 一种基于onba的云制造任务最短生产时间调度方法 | |
Yao et al. | Cloud task scheduling algorithm based on improved genetic algorithm | |
CN114675975A (zh) | 一种基于强化学习的作业调度方法、装置及设备 | |
CN114968554B (zh) | 一种基于核函数映射方式的鲸鱼算法的工作流云调度方法 | |
CN112698911B (zh) | 一种基于深度强化学习的云作业调度方法 | |
CN108958919A (zh) | 一种云计算中有期限约束的多dag任务调度费用公平性评估模型 | |
CN112381333A (zh) | 一种基于分布式改进蝙蝠算法的微电网优化方法 | |
CN112817708A (zh) | 一种异构多核处理器系统中有向无环图任务的调度方法 | |
Chen | Effective scheduling simulation of Internet of things load balanced sharing of resources |
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 |