CN112492032A - 一种移动边缘环境下的工作流协作调度方法 - Google Patents

一种移动边缘环境下的工作流协作调度方法 Download PDF

Info

Publication number
CN112492032A
CN112492032A CN202011373791.4A CN202011373791A CN112492032A CN 112492032 A CN112492032 A CN 112492032A CN 202011373791 A CN202011373791 A CN 202011373791A CN 112492032 A CN112492032 A CN 112492032A
Authority
CN
China
Prior art keywords
workflow
server
task
representing
time
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
CN202011373791.4A
Other languages
English (en)
Other versions
CN112492032B (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.)
Hangzhou Dianzi University
Original Assignee
Hangzhou Dianzi 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 Hangzhou Dianzi University filed Critical Hangzhou Dianzi University
Priority to CN202011373791.4A priority Critical patent/CN112492032B/zh
Publication of CN112492032A publication Critical patent/CN112492032A/zh
Application granted granted Critical
Publication of CN112492032B publication Critical patent/CN112492032B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • 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/445Program loading or initiating
    • G06F9/44594Unloading
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明提出了一种移动边缘环境下的工作流协作调度方法,采用了服务器协作的思想,用户工作流由各个服务器协作完成。本发明算法首先对工作流和服务器建模,然后采用了改进的粒子群算法,在迭代过程中不断发现更优调度解,同时本发明算法对粒子群采取了变异操作,降低了陷入局部最优解的可能性,提高了粒子搜索的效率。本发明算法考虑到将高负载的服务器工作流卸载到低负载的服务器。使不同负载状况的服务器能协作处理任务,使资源得到最大程度利用。从而能够保证了较低的工作流卸载失败率,同时减少了工作流运行结束时间。

Description

一种移动边缘环境下的工作流协作调度方法
技术领域
本发明属于工作流调度领域,具体涉及一种移动边缘环境下的工作流调度方法。
背景技术
近年来,随着移动互联网的快速发展和用户设备的普及。诸如面部识别,增强现实和移动在线游戏等越来越多的新移动应用程序已经出现。这些类型的服务由于它们的密集计算和高能耗而需要更多的计算资源。这些应用程序的计算量很大,通常超过了普通移动设备的计算能力。移动设备可能无法在等待时间限制内完成计算密集型任务由于缺乏计算资源,内存和电池容量。移动边缘计算拯救了对计算资源有高要求的移动应用程序,边缘计算由于其靠近用户而可以有效地减少任务的传输延迟并且可以提供有效的计算服务,成为一种有希望的解决方案。在移动边缘计算系统中,用户将需要将移动设备中大量计算资源的任务卸载到与基站边缘相连的服务器上执行,可以大大提高计算运行速度,减少设备能耗。
但是边缘服务器资源是有限的,用户请求随机且频繁地到达服务器并且服务器在地理位置上的不均匀分布,造成负载不平衡的问题是不可避免的。重负荷地区的用户难免会有不好的体验。对于通信和计算资源有限的边缘服务器来说,这是一个巨大的挑战。过量的任务导致服务器拥塞进而会导致新来的用户工作流卸载失败,而一些服务器却有空闲资源没有得到利用,这是一种极大的浪费。
解决这一问题的一种有前途的方法是在MEC之间进行合作。随着部署边缘服务器的趋势,每个服务器通常在附近有一些邻近服务器。同时,很少会看到所有服务器都超载。MEC群集可以通过将具有较大计算工作负载的服务器卸载到具有较小计算工作负载的相邻服务器上,并在它们之间进行协调以为移动用户提供服务,从而平衡地理位置分散的服务器之间的工作负载。
鉴于上述情况,针对工作流调度的负载不均衡情况,本发明算法提出了一种移动边缘环境下的工作流协作调度方法,以解决现有技术存在的技术问题。
发明内容:
为了克服现有服务工作流调度方法中服务器负载不均衡而导致用户任务卸载失败率较高和任务延时较大的技术问题,本发明提出了一种移动边缘环境下的工作流协作调度方法。该方法采用了服务器协作的思想,用户工作流由各个服务器协作完成。本发明算法首先对工作流和服务器建模,然后利用改进的粒子群算法寻求工作流调度最优解。该算法保证了较低的工作流卸载失败率,同时减少了工作流运行结束时间。
为了解决现有工作中存在的问题,本发明的技术方案如下:
一种移动边缘环境下的工作流协作调度方法,包括以下步骤:
步骤(1):建立工作流模型。用户上传的工作流定义为W={i,T,E},其中i表示上传服务器编号,T={t1,t2,t3...tn}表示n个任务的集合,其中ti={ui,vi},ui表示任务的输入数据大小。vi表示任务执行所需要的计算处理能力。E={(ti,tj)|i,j∈T}表示任务之间的依赖关系,具有依赖关系的任务需要按顺序执行,且ti的执行结束时间早于tj的开始执行时间。工作流按照拓扑排序转为任务执行序列。
步骤(2):建立边缘服务器模型;一个MEC系统由构成服务器群集的S个服务器和N个用户组成。每个服务器中都有一个缓冲区队列,用于存储来自本地用户的请求。如果CPU繁忙,则请求的内容将存储在缓冲区队列中。服务器可以选择将工作流储存在本地处理,或者转发给其他服务器执行。服务器i的缓冲区队列在时刻τ的积压为Qi(τ):
Qi(τ)={w1,w2,w3,...,wm}
其中wi代表在缓冲区队列中第i条尚未处理的工作流,未处理的工作流总量为m。任务缓冲区队列具有最大容量
Figure BDA0002807608720000031
当缓冲区队列满,新到来的任务会卸载失败。
将服务器i在时刻τ的负载状态定义为
Figure BDA0002807608720000032
此外,θ定义为MEC之间彼此协作的阈值,且θ∈[0,1],当Li(τ)≥θ,则该服务器有可能将超出阈值部分的工作流发送到其他服务器协作处理,如果未超过阈值,则该服务器可能接受来自其他服务器的工作流。
定义任务卸载失败率为:
Figure BDA0002807608720000033
其中Numfail表示卸载失败的工作流总量,Numall表示上传的工作流总量。
步骤(3):建立计算开销模型;服务器i向服务器j传输一条工作流ws的时间开销为:
Figure BDA0002807608720000041
其中ns表示工作流ws内任务的数量,Bi,j(τ)为服务器之间的传输速率。
服务器i内第j条工作流wj在服务器的排队延时为:
Figure BDA0002807608720000042
其中nl表示第l条工作流内任务的数量,fi,l表示服务器i为第l条工作流分配的计算频率。
工作流ws的完成时间为:
Figure BDA0002807608720000043
Figure BDA0002807608720000044
其中λi表示工作流在服务器i卸载失败的平均额外花费时间,用户卸载失败用户会在时间ttol内选择重传任务,保证任务执行,ttol是用户可接受的最大任务延时
Figure BDA0002807608720000045
步骤(4):定义协作工作流集合;在时刻τ所有超出阈值部分的工作流集合为W={w1,w2,w3...wh},待执行的工作流总量为h。
步骤(5):粒子群参数初始化;初始化参数包括粒子群最大迭代次数,最大种群数,粒子位置矩阵和速度矩阵等;
步骤(6):粒子适应度计算;本发明考虑了任务卸载失败率和任务完成延时两个方面的约束,并将其加入到适应度计算公式中。
步骤(7):迭代更新粒子群;所有粒子都朝着局部最优粒子和全局最优粒子移动。按照粒子迭代公式不断迭代更新粒子位置和速度。
步骤(8):粒子变异操作;适应度值较低的种群有较大概率被新的粒子替换;
步骤(9):判断是否达到最大迭代次数;未达到最大迭代次数则返回步骤(7);否则结束迭代,输出最优调度方案。
步骤(10):调度工作流到相应服务器执行;执行步骤9中得到的最优调度方案,执行结果返回至目标用户的设备。
与现有技术相比,本发明具有以下有益技术效果:
鲁棒性:本发明采用了改进的粒子群算法。在迭代过程中不断发现更优调度解,并且采用了动态改变的惯性系数w,c1和c2。迭代前期,w和c1较大,c2较小使粒子能尽可能的多搜索解空间而不会聚集在某一局部范围。算法后期,w和c1较小,c2较大有利于粒子向全局最优解移动,加快求解速度,提升算法性能。同时本发明算法对粒子群采取了变异操作,降低了陷入局部最优解的可能性,提高了粒子搜索的效率。
高效性:本发明算法考虑到将高负载的服务器工作流卸载到低负载的服务器。使不同负载状况的服务器能协作处理任务,使资源得到最大程度利用。并且考虑到了服务工作流的卸载失败率和总体运行延时。一方面减少了任务等待执行延迟;另一方面降低了任务卸载失败率,减少了任务失败造成的额外开销。并使用了改进的粒子群算法,使算法能在极短时间内给出最调度解,满足调度要求。
附图说明:
图1为本发明移动边缘计算环境下工作流调度的系统框架图;
图2为本发明移动边缘计算环境下工作流调度的流程图;
图3为本发明移动边缘计算环境下一条工作流转化成一条任务执行序列的一个实例;
图4为本发明与NC算法、RTO和GTO算法在不同工作流数量下的任务失败率对比图;
图5为本发明与NC算法、RTO和GTO算法在不同服务器数量下的任务失败率对比图;
图6为本发明与NC算法、RTO和GTO算法在工作流数量下的延时对比图;
具体实施方式
以下将结合附图对本发明提供的技术方案作进一步说明。
图1是移动边缘计算系统下工作流调度系统框架图。首先用户设备产生工作流,将计算密集型工作流上传至边缘服务器,边缘服务器对工作流中有依赖关系的任务根据拓扑排序形成任务调度序列;协作区域内的任意一个服务器节点根据本发明算法对所有超出服务器协作阈值的工作流产生最优调度决策;根据最优调度结果调度工作流;最终将工作流执行结果返回至目标用户。
参见图2,所示为本发明一种边缘计算环境下基于改进粒子群的工作流调度流程图,具体包括以下步骤:
步骤(1):建立工作流模型。在MEC系统中,用户设备执行某个应用程序,则应用程序被建模为工作流。如果该条工作流需要大量计算则将其上传至服务器帮助执行。用户上传的工作流定义为W={i,T,E},其中i表示上传的服务器编号,T={t1,t2,t3...tn}表示n个任务的集合,其中ti={ui,vi},ui表示任务的输入数据大小。vi表示任务执行所需要的计算处理能力。E={(ti,tj)|i,j∈T}表示任务之间的依赖关系,具有依赖关系的任务需要按顺序执行,且ti的执行结束时间早于tj的开始执行时间。工作流按照拓扑排序转为任务执行序列。图3是一条任务流转化成一条任务执行序列的一个实例。任务a是任务b,c,d的前驱任务,所以任务a必须先于任务b,c,d执行,任意一个任务必须在其前驱任务执行完成后方可开始执行。
步骤(2):建立边缘服务器模型;一个MEC系统由构成服务器群集的S个服务器和N个用户组成。每个服务器中都有一个缓冲区队列,用于存储来自本地用户的请求。如果CPU繁忙,则请求的内容将存储在缓冲区队列中。服务器可以选择将工作流储存在本地处理,或者转发给其他服务器执行。服务器i的缓冲区队列在时刻τ的积压为Qi(τ):
Qi(τ)={w1,w2,w3,...,wm}
其中wi代表在缓冲区队列中第i条尚未处理的工作流,未处理的工作流总量为m。任务缓冲区队列具有最大容量
Figure BDA0002807608720000071
当缓冲区队列满,新到来的任务会卸载失败。
将服务器i在时刻τ的负载状态定义为
Figure BDA0002807608720000081
此外,θ定义为MEC之间彼此协作的阈值,且θ∈[0,1],当Li(τ)≥θ,则该服务器有可能将超出阈值部分的工作流发送到其他服务器协作处理,如果未超过阈值,则该服务器可能接受来自其他服务器的工作流。
定义时刻τ任务卸载失败率为:
Figure BDA0002807608720000082
其中Numfail表示时刻τ卸载失败的工作流总量,Numall表示时刻τ上传的工作流总量。
步骤(3):建立计算开销模型;服务器i向服务器j传输一条工作流ws的时间开销为:
Figure BDA0002807608720000083
其中ns表示工作流ws内任务的数量,Bi,j(τ)为时刻τ服务器之间的传输速率。
服务器i内第j条工作流wj在服务器的排队延时为:
Figure BDA0002807608720000084
其中nl表示第l条工作流内任务的数量,fi,l表示服务器i为第l条工作流分配的计算频率。
工作流ws的完成时间为:
Figure BDA0002807608720000085
Figure BDA0002807608720000091
其中λi表示工作流在服务器i卸载失败的平均额外花费时间,用户卸载失败用户会在时间ttol内选择重传任务,保证任务执行,ttol是用户可接受的最大任务延时
Figure BDA0002807608720000092
步骤(4):定义协作工作流集合;在时刻τ所有超出阈值部分的工作流集合为W={w1,w2,w3...wh},其中wi={j,T,E},j表示该工作流来自服务器j,h表示等待调度的工作流总量。
步骤(5):粒子群参数初始化;粒子群最大迭代次数为Gk,最大种群数为z,粒子位置矩阵随机初始化。得到粒子群位置矩阵:
Figure BDA0002807608720000093
其中
Figure BDA0002807608720000094
代表编号为i的种群,k代表当前粒子群的迭代次数,xi,j=2表示将第i个种群将第j条工作流卸载至服务器2。xi,j∈[1,s]且为整数,s为边缘服务器总量。
粒子速度矩阵随机初始化。得到粒子速度矩阵:
Figure BDA0002807608720000095
其中vi,j∈[-vmax,vmax]。
步骤(6):粒子适应度计算;本发明考虑了任务卸载失败率和任务完成时间两个方面的约束,并将其加入到适应度计算公式中。适应度函数计算如下:
Figure BDA0002807608720000101
其中α是对于任务失败情况的惩罚系数,
Figure BDA0002807608720000102
表示在种群i的调度方案下的任务失败率,
Figure BDA0002807608720000103
Figure BDA0002807608720000104
表示在时刻τ种群i调度方案下卸载失败的工作流总量,Numall表示在时刻τ上传的工作流总量。
Figure BDA0002807608720000105
表示所有工作流的执行延时。
计算所有种群的
Figure BDA0002807608720000106
得到全局最优个体Gbest和局部最优个体pbest={pbest1,pbest2...pbestz}。
步骤(7):迭代更新粒子群;所有粒子都朝着局部最优粒子和全局最优粒子移动。按照公式不断迭代更新粒子位置和速度。具体公式如下:
Figure BDA0002807608720000107
Figure BDA0002807608720000108
其中wk表示惯性系数。r1,r2表示每次迭代过程中的随机数,c1,c2表示对局部最优个体和种群最优个体的学习率。惯性系数和学习率的更新公式如下:
Figure BDA0002807608720000109
Figure BDA00028076087200001010
Figure BDA00028076087200001011
其中wst和wend表示初始和结束惯性系数,cβ=1。
同时更新全局最优个体Gbest和局部最优个体pbest。
步骤(8):粒子变异操作;适应度值较低的种群有较大概率被新的粒子替换;计算种群
Figure BDA0002807608720000111
的选取概率:
Figure BDA0002807608720000112
其中M是一个大于所有种群粒子适应度的值,将pi从大到小排序。选取概率最大的s个种群。对这s个种群进行随机初始化操作,重新计算适应度。
步骤(9):判断是否达到最大迭代次数;未达到最大迭代次数则返回步骤(7);否则结束迭代,输出最优调度方案Gbest。
步骤(10):调度工作流到相应服务器执行;执行步骤9中得到的最优调度方案Gbest,执行结果返回至目标用户的设备。
为了展示本发明方法的有效性,分别与不进行任务调度算法NC,随机调度算法RTO,基于贪婪策略的调度算法GTO在任务失败率,任务平均执行延迟等方面进行对比。
实验采用pycharm平台作为仿真模拟平台,在配置为AMD-3600,16GB,win10 64位的台式机电脑上运行。采用DAG模拟器生成工作流,每个服务器设置相同大小的缓冲区。算法种群数目设置为100,迭代次数设置为800,每次加入新种群数量为10。在协作区域内服务器数量为20,每个服务器有相同大小的缓冲区。用户数量为100,一段时间内单个用户提交的工作流总量为20,提交时间服从均匀分布。工作流内任务数量服从参数为20泊松分布。
为了探究该算法在不同边缘服务器数量下任务失败率的关系,针对每个工作流数量,观测其在边缘服务器数目一定情况下工作流卸载失败率的变化。如图4所示,随着工作流数量增加,任务失败率也提高,这是由于服务器数量固定,缓冲区大小一定,所及接受的工作流容量有限。部分地区服务器会超载。随着工作量数量增加,本发明算法相较于NC,RTO和GTO算法任务失败率增长幅度较缓。这是由于本算法能在迭代过程中不断寻求最优解,将任务卸载至其他空闲服务器协作处理。保持一个更低的任务卸载失败率。
为了进一步探究同一以地区边缘服务器部署数量和任务卸载失败率的关系,图5展示了边缘服务器数量在[20,45]之间与工作流失败率的情况。分析图5可以发现,边缘服务器的数量越多,任务卸载失败的情况减少,卸载失败率下降。这是由于随着服务器数量的增加,工作流卸载有了更多可选择的空间,在同一服务器同时卸载的概率降低。说明本算法在不同服务器部署数量情况下都能得到较优的任务失败率。
为了验证在工作流数量变化情况下任务延时的对比。在图6中分析可得。随着工作流数量增加,任务延时也增加,这是两个原因造成的,一是任务在排队等待过程花费了额外时间,二是由于任务传输也花费了一定时间。本发明算法在粒子适应度函数中考虑到了每条工作流的执行延迟,能够在迭代过程中,在解空间搜索的到一个总体较低的任务延时。也同时满足总体任务失败率的情况。
实验结果表明本发明的一种移动边缘环境下基于协作的服务工作流调度方法相对于NC方法、GTO方法和RTO方法能够更加有效地处理服务工作流,在工作流数目增长,边缘服务器个数较大时,有良好的性能,因为采用了改进的粒子群算法能在迭代过程中发现最优解调度工作流,一方面将的了任务卸载失败率,另一方面降低了任务的完成时间。
由上述分析可知,本发明具有以下有益技术效果:
鲁棒性:本发明采用了改进的粒子群算法。在迭代过程中不断发现更优调度解,并且采用了动态改变的惯性系数w,c1和c2。迭代前期,w和c1较大,c2较小使粒子能尽可能的多搜索解空间而不会聚集在某一局部范围。算法后期,w和c1较小,c2较大有利于粒子向全局最优解移动,加快求解速度,提升算法性能。同时本发明算法对粒子群采取了变异操作,降低了陷入局部最优解的可能性,提高了粒子搜索的效率。
高效性:本发明算法考虑到将高负载的服务器工作流卸载到低负载的服务器。使不同负载状况的服务器能协作处理任务,使资源得到最大程度利用。并且考虑到了服务工作流的卸载失败率和总体运行延时。一方面减少了任务等待执行延迟;另一方面降低了任务卸载失败率,减少了任务失败造成的额外开销。并使用了改进的粒子群算法,使算法能在极短时间内给出最调度解,满足调度要求。
以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (1)

1.一种移动边缘环境下的工作流协作调度方法,其特征在于,包括以下步骤:
步骤(1):建立工作流模型;用户上传的工作流定义为W={i,T,E},其中i表示上传服务器编号,T={t1,t2,t3...tn}表示n个任务的集合,其中ti={ui,vi},ui表示任务的输入数据大小;vi表示任务执行所需要的计算处理能力;E={(ti,tj)|i,j∈T}表示任务之间的依赖关系,具有依赖关系的任务需要按顺序执行,且ti的执行结束时间早于tj的开始执行时间;工作流按照拓扑排序转为任务执行序列;
步骤(2):建立边缘服务器模型;一个MEC系统由构成服务器群集的S个服务器和N个用户组成;每个服务器中都有一个缓冲区队列,用于存储来自本地用户的请求;如果CPU繁忙,则请求的内容将存储在缓冲区队列中;服务器可以选择将工作流储存在本地处理,或者转发给其他服务器执行;服务器i的缓冲区队列在时刻τ的积压为Qi(τ):
Qi(τ)={w1,w2,w3,...,wm}
其中wi代表在缓冲区队列中第i条尚未处理的工作流,未处理的工作流总量为m;任务缓冲区队列具有最大容量
Figure FDA0002807608710000011
当缓冲区队列满,新到来的任务会卸载失败;
将服务器i在时刻τ的负载状态定义为
Figure FDA0002807608710000012
此外,θ定义为MEC之间彼此协作的阈值,且θ∈[0,1],当Li(τ)≥θ,则该服务器有可能将超出阈值部分的工作流发送到其他服务器协作处理,如果未超过阈值,则该服务器可能接受来自其他服务器的工作流;
定义任务卸载失败率为:
Figure FDA0002807608710000021
其中Numfail表示卸载失败的工作流总量,Numall表示上传的工作流总量;
步骤(3):建立计算开销模型;服务器i向服务器j传输一条工作流ws的时间开销为:
Figure FDA0002807608710000022
其中ns表示工作流ws内任务的数量,Bi,j(τ)为服务器之间的传输速率;
服务器i内第j条工作流wj在服务器的排队延时为:
Figure FDA0002807608710000023
其中nl表示第l条工作流内任务的数量,fi,l表示服务器i为第l条工作流分配的计算频率;
工作流ws的完成时间为:
Figure FDA0002807608710000024
Figure FDA0002807608710000025
其中λi表示工作流在服务器i卸载失败的平均额外花费时间,用户卸载失败用户会在时间ttol内选择重传任务,保证任务执行,ttol是用户可接受的最大任务延时
Figure FDA0002807608710000026
步骤(4):定义协作工作流集合;在时刻τ所有超出阈值部分的工作流集合为W={w1,w2,w3...wh},待执行的工作流总量为h;
步骤(5):粒子群参数初始化;初始化参数包括粒子群最大迭代次数,最大种群数,粒子位置矩阵和速度矩阵;
步骤(6):粒子适应度计算;考虑了任务卸载失败率和任务完成延时两个方面的约束,并将其加入到适应度计算公式中;
适应度函数计算如下:
Figure FDA0002807608710000031
其中α是对于任务失败情况的惩罚系数,
Figure FDA0002807608710000032
表示在种群i的调度方案下的任务失败率,
Figure FDA0002807608710000033
Figure FDA0002807608710000034
表示在时刻τ种群i调度方案下卸载失败的工作流总量,Numall表示在时刻τ上传的工作流总量;
Figure FDA0002807608710000035
表示所有工作流的执行延时;
计算所有种群的
Figure FDA0002807608710000036
得到全局最优个体Gbest和局部最优个体pbest={pbest1,pbest2...pbestz};
步骤(7):迭代更新粒子群;所有粒子都朝着局部最优粒子和全局最优粒子移动;按照公式不断迭代更新粒子位置和速度;具体公式如下:
Figure FDA0002807608710000037
Figure FDA0002807608710000038
其中wk表示惯性系数;r1,r2表示每次迭代过程中的随机数,c1,c2表示对局部最优个体和种群最优个体的学习率;惯性系数和学习率的更新公式如下:
Figure FDA0002807608710000041
Figure FDA0002807608710000042
Figure FDA0002807608710000043
其中wst和wend表示初始和结束惯性系数,cβ=1;
同时更新全局最优个体Gbest和局部最优个体pbest;
步骤(8):粒子变异操作;适应度值较低的种群有较大概率被新的粒子替换;计算种群
Figure FDA0002807608710000044
的选取概率:
Figure FDA0002807608710000045
其中M是一个大于所有种群粒子适应度的值,将pi从大到小排序;选取概率最大的s个种群;对这s个种群进行随机初始化操作,重新计算适应度;
步骤(9):判断是否达到最大迭代次数;未达到最大迭代次数则返回步骤(7);否则结束迭代,输出最优调度方案Gbest;
步骤(10):调度工作流到相应服务器执行;执行步骤(9)中得到的最优调度方案Gbest,执行结果返回至目标用户的设备。
CN202011373791.4A 2020-11-30 2020-11-30 一种移动边缘环境下的工作流协作调度方法 Active CN112492032B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011373791.4A CN112492032B (zh) 2020-11-30 2020-11-30 一种移动边缘环境下的工作流协作调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011373791.4A CN112492032B (zh) 2020-11-30 2020-11-30 一种移动边缘环境下的工作流协作调度方法

Publications (2)

Publication Number Publication Date
CN112492032A true CN112492032A (zh) 2021-03-12
CN112492032B CN112492032B (zh) 2022-09-23

Family

ID=74937587

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011373791.4A Active CN112492032B (zh) 2020-11-30 2020-11-30 一种移动边缘环境下的工作流协作调度方法

Country Status (1)

Country Link
CN (1) CN112492032B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113282394A (zh) * 2021-06-07 2021-08-20 河北工业大学 面向协作机制资源受限边缘服务器间任务调度方法
CN113873047A (zh) * 2021-12-03 2021-12-31 江苏电力信息技术有限公司 一种面向流式数据的协作计算方法
WO2022267791A1 (zh) * 2021-06-22 2022-12-29 南京邮电大学 一种基于多目标粒子群算法的工作流调度方法、系统及存储介质

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150067028A1 (en) * 2013-08-30 2015-03-05 Indian Space Research Organisation Message driven method and system for optimal management of dynamic production workflows in a distributed environment
CN106201701A (zh) * 2016-07-14 2016-12-07 扬州大学 一种带任务重复的工作流调度算法
CN106874112A (zh) * 2017-01-17 2017-06-20 华南理工大学 一种结合负载均衡的工作流回填方法
US20170329643A1 (en) * 2014-11-25 2017-11-16 Institute Of Acoustics, Chinese Academy Of Sciences Distributed node intra-group task scheduling method and system
CN107656799A (zh) * 2017-11-06 2018-02-02 福建师范大学 一种多云环境下考虑通信和计算代价的工作流调度方法
US20180136976A1 (en) * 2016-11-14 2018-05-17 King Abdulaziz University Temporal task scheduling in a hybrid system
CN108958916A (zh) * 2018-06-29 2018-12-07 杭州电子科技大学 一种移动边缘环境下工作流卸载优化算法
CN108989098A (zh) * 2018-08-24 2018-12-11 福建师范大学 一种混合云环境面向时延优化的科学工作流数据布局方法
US20180357584A1 (en) * 2017-06-12 2018-12-13 Hefei University Of Technology Method and system for collaborative scheduling of production and transportation in supply chains based on improved particle swarm optimization
CN109670689A (zh) * 2018-12-06 2019-04-23 杭州电子科技大学 一种基于免疫粒子群的科学工作流多目标调度方法
CN109783213A (zh) * 2018-12-28 2019-05-21 杭州电子科技大学 一种边缘计算环境下针对可靠性的工作流容错调度方法
CN110780974A (zh) * 2019-09-10 2020-02-11 杭州电子科技大学 一种移动边缘计算环境下面向工作流的容错调度方法
CN110809275A (zh) * 2019-11-08 2020-02-18 福州大学 基于无线城域网的微云节点放置方法
CN110928651A (zh) * 2019-10-12 2020-03-27 杭州电子科技大学 一种移动边缘环境下的服务工作流容错调度方法

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150067028A1 (en) * 2013-08-30 2015-03-05 Indian Space Research Organisation Message driven method and system for optimal management of dynamic production workflows in a distributed environment
US20170329643A1 (en) * 2014-11-25 2017-11-16 Institute Of Acoustics, Chinese Academy Of Sciences Distributed node intra-group task scheduling method and system
CN106201701A (zh) * 2016-07-14 2016-12-07 扬州大学 一种带任务重复的工作流调度算法
US20180136976A1 (en) * 2016-11-14 2018-05-17 King Abdulaziz University Temporal task scheduling in a hybrid system
CN106874112A (zh) * 2017-01-17 2017-06-20 华南理工大学 一种结合负载均衡的工作流回填方法
US20180357584A1 (en) * 2017-06-12 2018-12-13 Hefei University Of Technology Method and system for collaborative scheduling of production and transportation in supply chains based on improved particle swarm optimization
CN107656799A (zh) * 2017-11-06 2018-02-02 福建师范大学 一种多云环境下考虑通信和计算代价的工作流调度方法
CN108958916A (zh) * 2018-06-29 2018-12-07 杭州电子科技大学 一种移动边缘环境下工作流卸载优化算法
CN108989098A (zh) * 2018-08-24 2018-12-11 福建师范大学 一种混合云环境面向时延优化的科学工作流数据布局方法
CN109670689A (zh) * 2018-12-06 2019-04-23 杭州电子科技大学 一种基于免疫粒子群的科学工作流多目标调度方法
CN109783213A (zh) * 2018-12-28 2019-05-21 杭州电子科技大学 一种边缘计算环境下针对可靠性的工作流容错调度方法
CN110780974A (zh) * 2019-09-10 2020-02-11 杭州电子科技大学 一种移动边缘计算环境下面向工作流的容错调度方法
CN110928651A (zh) * 2019-10-12 2020-03-27 杭州电子科技大学 一种移动边缘环境下的服务工作流容错调度方法
CN110809275A (zh) * 2019-11-08 2020-02-18 福州大学 基于无线城域网的微云节点放置方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
XIAO-DONG ZHANG: "Improved multi-objective particle swarm optimization algorithm for service-workflows scheduling", 《2010 INTERNATIONAL CONFERENCE ON MECHANIC AUTOMATION AND CONTROL ENGINEERING》 *
吴家豪等: "基于多Agent系统的粒子群遗传优化云工作流调度算法", 《南京大学学报(自然科学)》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113282394A (zh) * 2021-06-07 2021-08-20 河北工业大学 面向协作机制资源受限边缘服务器间任务调度方法
CN113282394B (zh) * 2021-06-07 2022-03-22 河北工业大学 面向协作机制资源受限边缘服务器间任务调度方法
WO2022267791A1 (zh) * 2021-06-22 2022-12-29 南京邮电大学 一种基于多目标粒子群算法的工作流调度方法、系统及存储介质
CN113873047A (zh) * 2021-12-03 2021-12-31 江苏电力信息技术有限公司 一种面向流式数据的协作计算方法
CN113873047B (zh) * 2021-12-03 2022-02-15 江苏电力信息技术有限公司 一种面向流式数据的协作计算方法

Also Published As

Publication number Publication date
CN112492032B (zh) 2022-09-23

Similar Documents

Publication Publication Date Title
CN112492032B (zh) 一种移动边缘环境下的工作流协作调度方法
CN107196865B (zh) 一种负载感知的自适应阈值过载迁移方法
CN111813506B (zh) 一种基于粒子群算法资源感知计算迁移方法、装置及介质
WO2016045515A1 (zh) 基于用户满意度的云任务调度算法
CN111431961A (zh) 一种云数据中心的节能任务分配方法
CN110795208A (zh) 基于改进粒子群的移动云计算自适应虚拟机调度方法
CN112214301B (zh) 面向智慧城市基于用户偏好的动态计算迁移方法及装置
CN111984419A (zh) 一种边缘环境可靠性约束的复杂任务计算迁移方法
CN113993218A (zh) 一种mec架构下基于多智能体drl的协作卸载和资源分配方法
CN112905327A (zh) 一种任务调度方法、边缘服务器、计算机介质及边云协同计算系统
CN109005211B (zh) 一种无线城域网环境下的微云部署及用户任务调度方法
Dong et al. Quantum particle swarm optimization for task offloading in mobile edge computing
CN113992677A (zh) 一种延迟与能耗联合优化的mec计算卸载方法
CN110888745A (zh) 一种考虑任务传输到达时间的mec节点选择方法
CN117579701A (zh) 一种移动边缘网络计算卸载方法及系统
CN112835684A (zh) 一种面向移动边缘计算的虚拟机部署方法
CN110308991B (zh) 一种基于随机任务的数据中心节能优化方法及系统
CN110888713A (zh) 一种针对异构云数据中心的可信虚拟机迁移算法
Addya et al. A hybrid queuing model for virtual machine placement in cloud data center
CN116302507A (zh) 基于休假排队的应用服务动态部署与更新方法
CN112764932B (zh) 基于深度强化学习的计算密集型工作负载高能效分配方法
CN115499875A (zh) 一种卫星互联网任务卸载方法、系统以及可读存储介质
Wang et al. Hill climbing-based decentralized job scheduling on computational grids
CN114791853A (zh) 一种基于可靠性约束的工作流调度优化方法
CN114356585A (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