掌桥专利:专业的专利平台
掌桥专利
首页

一种基于马尔可夫决策过程的工作流任务卸载方法

文献发布时间:2024-01-17 01:23:17


一种基于马尔可夫决策过程的工作流任务卸载方法

技术领域

本发明涉及一种基于马尔可夫决策过程的工作流任务卸载方法,属于云计算应用、调度优化、任务卸载技术领域。

背景技术

近年来,移动设备的广泛使用正在推动延迟敏感和资源密集型应用的发展,例如人脸识别、数据流处理等。目前,这些应用程序在移动设备或云平台上执行。一方面,移动设备的计算资源较小。另一方面,在云计算中心运行资源密集型应用程序通常需要在移动设备和远程服务器之间传输大量数据,导致不可预测的通信延迟[1]。为应对以上问题,考虑将任务卸载到网络边缘[2],弥补移动设备和远程云的缺点,在增强计算能力的同时缩短传输延迟。

移动设备的快递发展使得应用程序复杂性迅速提高,许多应用程序并非独立任务,而是由相互依赖的若干个子任务构成(工作流)。例如一个人脸识别应用程序,可以被分为以下几种相互依赖的任务:目标获取、人脸检测、预处理、特征提取和分类[3]。在这个例子中,第五个子任务即分类任务,必须要在第四步即特征提取之后完成,这就是任务之间可能存在的依赖关系。显然,依赖于其他子任务的子任务在其前驱子任务完成之前不能被卸载。

许多研究者已提出不同场景下的边缘卸载方法,但这些方法都有一定的局限性。Liu等人[4]以最小化应用程序完成时间为优化目标,考虑子任务之间的依赖性,但是没有考虑边缘服务器的资源约束。事实上,边缘服务器是资源敏感且异构的,在执行卸载决策时需要考虑这一点。Yang等人[5]使用马尔可夫决策,考虑网络边缘资源的异构性,但是其任务是独立的。事实上,如今应用程序越来越复杂,具有依赖关系的任务越来越多,另外边缘计算网络的算力也是有限的,上述两点特征都应该被考虑。

马尔可夫决策过程是强化学习中的一种方法,能够描述一个可观测的系统。系统中可被观测到的状态内容决定了决策需要的特征,马尔可夫决策过程根据这些观测特征决定下一步的状态。本发明提出的卸载方法基于马尔可夫决策过程,每一个状态可被定义为任务与服务器资源特征的笛卡尔积形式,每一次的状态转换基于当前状态所在的边缘服务器以及其拥有的资源决定。

[1]M.-H.Chen,B.Liang,and M.Dong,“Joint offloading and resourceallocation for computation and communication in mobile cloud with computingaccess point,”in Proc.IEEE Conf.Comput.Commun.,2017,pp.1-9.

[2]X.Wang,Y.Han,C.Wang,Q.Zhao,X.Chen,and M.Chen,“In-edge AI:Intelligentizing mobile edge computing,caching and communication by federatedlearning,”IEEE Netw.,vol.33,no.5,pp.156-165,Sep./Oct.2019,doi:10.1109/MNET.2019.1800286.

[3]G.Zhao,H.Xu,Y.Zhao,C.Qiao and L.Huang,″Offloading Tasks WithDependency and Service Caching in Mobile Edge Computing,”in IEEE Transactionson Parallel and Distributed Systems,vol.32,no.11,pp.2777-2792,1 Nov.2021,doi:10.1109/TPDS.2021.3076687.

[4]L.Liu,H.Tan,S.H.-C.Jiang,Z.Han,X.-Y.Li,and H.Huang,“Dependent taskplacement and scheduling with function configuration in edge computing,”inProc.ACM Int.Symp.Qual.Serv.,2019,pp.1-10.

[5]G.Yang,L.Hou,X.He,D.He,S.Chan and M.Guizani,″Offloading TimeOptimization via Markov Decision Process in Mobile-Edge Computing,″in IEEEInternet of Things Journal,vol.8,no.4,pp.2483-2493,15Feb.15,2021,doi:10.1109/JIOT.2020.3033285。

发明内容

本发明考虑在资源受限的异构边缘网络中针对工作流任务进行任务的卸载,目标是获得一组具有最小完成时间的卸载策略。工作流到达各个边缘服务器的速率λ遵循泊松分布。其中,每一个工作流WF

发明目的:为克服现有技术中存在的不足,本发明针对具有偏序关系的工作流,考虑资源有限且异构的云边环境,运用马尔可夫决策过程,提供一种最小化执行时间的边缘卸载方法。目标函数:

技术方案:为实现上述目的,本发明采用的技术方案为:

一种基于马尔可夫决策过程的工作流任务卸载方法,包括以下阶段:

A.预处理阶段:记录每一个边缘服务器的计算资源、存储资源、函数镜像,构造服务器集合;根据边缘服务器的网络拓扑结构构建邻接矩阵表,表内元素代表边缘服务器之间的距离。

B.解决方案阶段:对于每一个待卸载的工作流,首先根据工作流的拓扑结构,构造工作流的直接前驱表、已卸载任务集、待卸载任务集和候选集,再对工作流进行马尔可夫决策过程建模,即定义状态空间、动作集合、奖励函数,最后根据价值函数评估出当前状态下的最佳决策,形成决策集;

C.更新阶段:根据不同原因产生的状态更新,分别更新待卸载任务集、已卸载任务集、候选集、服务器集等参数。

所述预处理阶段具体步骤如下:

A1.记录每一个边缘服务器的计算资源、存储资源、函数镜像,定义服务器集M=ES,CS,其中边缘服务器集ES={es

A2.根据网络拓扑结构构建邻接矩阵表adj[N+1][N+1],表示服务器之间的距离。其中前N行N列代表N个边缘服务器,第N+1行和第N+1列代表云服务器。云服务器到所有边缘服务器的距离都非常大;

所述解决方案阶段中包括以下步骤:

B1.构造工作流的直接前驱表Pretable={task

B2.构造工作流的已卸载任务集Comp、待卸载任务集Wait;

B3.构造候选集Cand,表示下一个状态可以转移的任务集。在初始时刻,候选集中有唯一一个任务,即工作流任务拓扑排序的第一个节点,该节点没有直接前驱;

B4.定义状态空间S={Tasks×M},其中×表示笛卡尔积,Tasks表示任务集,即工作流中的所有任务节点;M表示服务器集。例如,s

B5.定义动作集合A={a

B6.定义奖励函数R(s,a),代表处于某状态能获得的奖励值。R(s,a)=-(T

B7.定义预期奖励,以基于此选出最优策略,最小化卸载时间。定义动作价值函数

B8.状态转移。具体包括以下步骤:

B8.1在候选集Cand中选择一个任务task

B8.2遍历边缘服务器函数镜像库,(1)对于不拥有task

B8.3根据策略π

所述更新阶段包括以下步骤:

系统状态更新在以下两种情况下产生:(1)某任务节点到达某台服务器,即将占用该服务器资源,开始执行;(2)某任务在某台服务器上执行完毕,即将释放该服务器资源。

C1.若状态更新由任务开始执行引起,系统将更新待卸载任务集Wait、已卸载任务集Comp、候选集Cand、服务器集M等参数;

C2.若状态更新由任务执行完毕引起,系统将更新参数服务器集M。

C3.转至步骤B8。

有益效果:本发明提供的一种基于马尔可夫决策过程的工作流任务卸载方法,与现有技术相比,具有以下有益效果:

(1)本发明考虑了具有偏序关系的工作流任务,目标是获得具有最小完成时间的卸载策略。具有依赖关系的工作流在卸载时执行顺序具有不确定性,本发明所提出的方法能够选择具有最小完成时间的子任务执行顺序。

(2)边缘服务器的资源有限,且每个边缘服务器的资源分布各不相同,动态变化。采用马尔可夫决策过程能够根据当下资源情况快速选择当前状态下的最佳决策,与传统的启发式规则相比,该方法对于资源变化的感知力和适应力更强。

(3)马尔可夫决策过程结合强化学习的方法具有学习特性,这使得卸载策略将随着迭代的次数增加而变得越来越优。

附图说明

图1是本发明实例中工作流拓扑、网络拓扑示意图。

图2是本发明方法的场景和基本原理示意图。

图3是本发明方法的马尔可夫决策过程状态转移示意图。

图4是本发明方法的具体实现算法的流程示意图。

具体实施方式

下面结合附图和具体实施用例,进一步阐明本发明,应理解这些实例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。

实施例:

如图2所示为一种基于马尔可夫决策过程的工作流任务卸载方法,综合考虑服务器资源异构且有限、工作流动态到达、完成时间最小化等约束,在做卸载决策的过程中,利用马尔可夫决策过程结合强化学习方法,动态分析任务调度顺序和系统资源的影响,最小化每个工作流的完成时间。

假设此时在服务器es1到达如图1左侧所示的工作流,A、B分别表示每一个任务需要的函数实例类型。系统中资源情况如图1右侧所示。包括以下阶段:

A.预处理阶段:记录每一个边缘服务器的计算资源、存储资源、函数镜像,构造服务器集合;根据边缘服务器的网络拓扑结构构建邻接矩阵表,表内元素代表边缘服务器之间的距离。

B.解决方案阶段:对于每一个待卸载的工作流,首先构造工作流的直接前驱表、已卸载任务集、待卸载任务集和候选集,再对工作流进行马尔可夫决策过程建模,即定义状态空间、动作集合、奖励函数、预期奖励,最后根据奖励选出当前状态下的最佳策略,加入决策集。

C.更新阶段:系统状态更新在以下两种情况下产生:(1)某任务节点到达某台服务器,即将占用该服务器资源,开始执行;(2)某任务在某台服务器上执行完毕,即将释放该服务器资源。在系统产生状态更新后,分别更新待卸载任务集、已卸载任务集、候选集、服务器资源集等参数。

所述预处理阶段具体步骤如下:

A1.记录每一个边缘服务器的计算资源、存储资源、函数镜像,定义服务器集M=ES,CS,其中边缘服务器集ES={{es

A2.根据网络拓扑结构构建邻接矩阵表adj[3][3]=[[0,1,1.2],[1,0,0.2],[1.2,0.2,0]],adj[i,j]表示服务器i到服务器j之间的距离。

所述解决方案阶段具体步骤如下:

B1.根据工作流的拓扑结构G=(V,E),其中V={{1,A},{2,B},{3,A},{4,B},{5,A},{6,B}},E={(1,2),(1,3),(2,4),(2,5),(3,5),(4,6),(5,6)},构造工作流的直接前驱表Pretable={task

B2.构造工作流的已卸载任务集Comp={}、待卸载任务集Wait={1,2,3,4,5,6};

B3.构造候选集Cand,表示下一个状态可以转移的任务集。在初始时刻,候选集中有唯一一个任务,即工作流任务拓扑排序的第一个节点,该节点没有直接前驱,即Cand={1};

B4.定义状态空间

B5.定义动作集合A={a

B6.定义奖励函数R(s,a),代表处于某状态能获得的奖励值。R(s,a)=-(T

B7.定义预期奖励,以基于此选出最优策略,最小化卸载时间。定义动作价值函数

B8.状态转移,具体包括以下步骤:

B8.1在候选集Cand中选择一个任务task

B8.2遍历边缘服务器函数镜像库,(1)对于不拥有task

B8.3根据策略π

所述更新阶段包括以下步骤:

系统状态更新在以下两种情况下产生:(1)某任务节点到达某台服务器,即将占用该服务器资源,开始执行;(2)某任务在某台服务器上执行完毕,即将释放该服务器资源。

C1.若状态更新由任务开始执行引起,系统将更新待卸载任务集Wait、已卸载任务集Comp、候选集Cand、服务器集M等参数。当前状态是由任务task=1卸载至服务器es

C2.若状态更新由任务执行完毕引起,系统将更新参数服务器集M。

C3.转至步骤B8:由于本状态处于服务器es1,而候选集中task=3所需函数类型为es1所拥有,因此从候选集中选择task=3作为待卸载节点,则

需要说明的是上述实施例,并非用来限定本发明的保护范围,在上述技术方案的基础上所作出的等同变换或替代均落入本发明权利要求所保护的范围。

相关技术
  • 基于半马尔可夫决策过程车载雾辅助的车队任务卸载方法
  • 基于半马尔可夫决策过程车载雾辅助的车队任务卸载方法
技术分类

06120116171758