基于图神经网络的多用户时序依赖型业务计算卸载方法

文档序号:34866128发布日期:2023-07-23 20:05阅读:19来源:国知局
基于图神经网络的多用户时序依赖型业务计算卸载方法

本发明涉及一种基于图神经网络和深度强化学习算法的细粒度任务调度和卸载方法,在多用户和多服务器的mec场景下,设计了一种降低系统中应用调度时间的决策方案,在复杂且高维的状态空间中选择待调度的任务以及为该任务选择服务器进行卸载,既优化了卸载时序又优化了卸载位置,属于无线通信与计算卸载相关领域。


背景技术:

1、随着物联网(iot)和移动设备的快速发展,应用程序对计算量和时延的敏感度越来越高,给资源有限的设备带来了严峻的挑战。移动边缘计算(mec)在靠近数据源或者用户的地方提供计算存储等基础设施,并为边缘应用提供云服务和it环境服务,解决了时延过长,汇聚流量过大的问题。计算卸载作为mec中的关键技术,为实时性和带宽密集型业务应用提供了更好的支持,未来网络需针对智能化产品和应用的特点和多样化性能需求建立一套更加细粒度、智能化的任务卸载机制,统筹网络资源管理,提升网络服务效率,增强用户体验。

2、在考虑时序依赖型业务的卸载研究中,业务的时需依赖特性通常建模为有向无环图(directed acyclic graph,dag)模型,由于dag结构复杂且多样,基于dag型应用的计算卸载问题是困难的,文献[1-3]采用了启发式算法解决时序依赖型业务的调度与卸载问题,然而启发式算法需要经过大量的迭代才能得出最优解,并不适用于高实时性的mec系统,深度强化学习能够在复杂且庞大的状态中寻找最优解,文献[4]提出了一种基于优先级的时序依赖型业务调度方案,保证了任务时序依赖性的同时提高了调度效率,通过离线训练和在线部署,实现了计算任务的高效卸载。文献[5]提出了一种利用s2s神经网络来捕获dag的时序依赖性,将dag的节点通过定长编码为一系列嵌入,用策略梯度算法对s2s神经网络进行训练,实现了单用户单服务器场景下的计算卸载,但是这种方法中每个任务的嵌入向量是定长的,且输入到神经网络的嵌入向量的长度不能过长,会导致dag的结构信息不能被准确提取。文献[6]提出了有向无环图神经网络(dagnn)来解决将dag图输入到drl算法的神经网络时存在的丢失dag图的结构信息问题,将gnn与drl算法相结合用于解决单用户场景下的卸载调度问题。

3、以上利用深度强化学习算法解决卸载问题的场景大多只针对单用户或者单服务器的静态场景,缺乏对多用户多服务器的mec场景下动态到达的应用的卸载研究,且对时序依赖型业务的特征提取仅局限于任务本身的信息,缺少任务之间和应用的全局信息。

4、与现有的工作不同,(1)本发明考虑了一个更为复杂的mec场景,对一个多用户多服务器的mec系统进行了建模研究,每个用户的时序依赖型业务可以卸载到直接相连服务器,也可以卸载到其他服务器。用户产生的应用是动态到达的,且应用的大小、形状是任意的。(2)本发明利用图神经网络的两级嵌入(任务级别和全局级别的嵌入),更加有效地捕获了任意大小和形状的时序依赖型业务和应用的状态。(3)本发明针对细粒度的卸载问题进行马尔科夫过程建模,利用深度强化学习的策略梯度算法进行决策,选择待调度的任务以及为该任务选择要去卸载的服务器,既优化了卸载时序也优化了卸载位置。

5、[1].w.he,l.gao and j.luo,"a multi-layer offloading framework fordependency-aware tasks in mec,"icc 2021-ieee international conference oncommunications,montreal,qc,canada,2021,pp.1-6.

6、[2].h.liao,x.li,d.guo,w.kang and j.li,"dependency-aware applicationassigning and scheduling in edge computing,"in ieee internet of thingsjournal,vol.9,no.6,pp.4451-4463.

7、[3].l.chen,j.wu,j.zhang,h.-n.dai,x.long and m.yao,"dependency-awarecomputation offloading for mobile edge computing with edge-cloudcooperation,"in ieee transactions on cloud computing,vol.10,no.4,pp.2451-2468.

8、[4].l.chen,j.wu,j.zhang,h.-n.dai,x.long and m.yao,"dependency-awarecomputation offloading for mobile edge computing with edge-cloudcooperation,"in ieee transactions on cloud computing,vol.10,no.4,pp.2451-2468.

9、[5].n.mao,y.chen,m.guizani and g.m.lee,"graph mapping offloadingmodel based on deep reinforcement learning with dependent task,"2021international wireless communications and mobile computing(iwcmc),2021,pp.21-28.

10、[6].崔硕,覃少华,谢志斌,张家豪,卞圣强.基于图神经网络的具有依赖关系任务的计算卸载方法[j].计算机测量与控制,2021,29(11):189-195.


技术实现思路

1、本发明在多用户和多服务器的mec场景下,提出了一种基于图神经网络和深度强化学习算法的细粒度任务调度和卸载方法,每个用户产生一系列动态到达的应用,利用可扩展状态的图神经网络更好地捕获每个时序依赖型业务的特征,同时充分考虑了多个任务和应用之间的全局信息,通过策略梯度算法共同训练图神经网络和策略网络的参数,在复杂且高维的状态空间中选择最优的待调度任务以及为该任务选择最优的服务器来降低系统中所有应用的调度时间。

2、本发明要解决的关键问题是针对一个多用户多服务器的网络场景,将不同用户产生动态到达的时序依赖型业务进行卸载和调度,所采用的的技术方案如下:

3、基于图神经网络的多用户依赖型业务计算卸载优化算法,包括以下步骤:

4、步骤1、根据网络场景,建立系统模型。

5、网络场景是一个多用户多服务器的mec系统,mec系统中每个用户产生一系列流式到达的应用,每个应用由时序依赖型任务构成。

6、步骤1.1根据服务器和用户信息,建立多用户多服务器场景下应用流式到达的动态模型。

7、图1显示了一个由多个异构边缘服务器组成的mec系统,服务器的计算能力各不相同。mec系统中的用户设备和服务器集分别由和表示,u代表集合中任意一个用户设备,m代表服务器集合中的任意一个服务器,任意一个服务器的计算能力表示为fm,一组用户设备被连接在相同的基站上,用户在卸载执行过程中与直接连接的服务器进行通信,用户任务可以卸载到其服务基站所在的mec服务器,也可以卸载到其他相邻基站的mec服务器。

8、如图2所示,应用建模为有向无环图dag,一个dag描述为和e分别代表图的点集和边集,mec系统中任意一个用户产生的应用集合可以表示为gun代表用户产生的任意一个应用n。nu代表用户产生的应用的总数。

9、其中,任意一个用户u(u∈u)产生的应用gun中包含的子任务的个数为gun中的所有任务的集合表示为:代表gun中任务总数,代表应用gun的第i个子任务,代表任务之间的依赖关系,代表着与之间具有依赖关系,并且必须保证在执行完成后才能去执行,称为的父任务,是的子任务,将任意一个子任务的所有前向任务的集合表示为后向任务(子任务)的集合表示为任务上传的数据量为所需的cpu周期数为

10、每个用户都会产生一系列流式到达的应用,根据排队论的假设,某个用户在一段时间内到达的应用之间的时间间隔服从指数分布,用户从时刻0到第一个应用之间的时间间隔为λ0,而后第n个到第n+1个应用之间的时间间隔为λn:

11、λn~exp(λ)

12、其中,λ是到达率参数,表示用户单位时间内产生应用的平均数量,相邻两个应用到达时间的关系为:

13、

14、步骤1.2对多用户多服务器系统进行建模,用户可以与直接相连的基站进行通信,用户产生的某个应用中的任务进行卸载时,既可以选择直接相连的服务器进行卸载,也可以选择其他的服务器进行卸载,根据卸载决策对时延的影响可以得到系统时延的模型。

15、用户与边缘服务器通过基站进行无线传输,b是信道带宽,pu,m是用户的上传功率,gu,m代表用户u与所连接的服务器m之间的信道增益,σ2代表噪声功率,根据香农公式可以得到传输速率:

16、

17、任意两台服务器之间的数据传输是通过有线连接进行的,传输速率为固定值rm,m′;若任务选择在其他服务器上卸载,传输时间需要额外加上在服务器m与m′之间的有线传输时间传输时间可以写成下式:

18、

19、将任务上传到mec服务器后,任务在mec服务器上执行计算的时延与任务所需的cpu周期数和所选服务器fselected的计算频率有关,计算公式如下:

20、

21、任务开始时间任务的开始时间等于该任务所有前向任务完成时间的最大值和等待时间的加和。

22、

23、任务结束时间任务的结束时间等于该任务的开始时间与传输时间、计算时间的加和。

24、

25、应用的结束时间应用的结束时间等于该应用中所有任务完成时间的最大值。

26、

27、设作业的开始时间为应用的到达时间应用的调度时间为可由应用的开始时间与结束时间表示:

28、

29、步骤2、建立mec系统中计算卸载最优化问题。

30、优化目标:最小化系统中所有应用的调度时间:

31、

32、

33、

34、约束1:子任务必须保证所有前向任务都完成之后才能开始调度;

35、

36、约束2:子任务只能选择所有服务器中的一个进行卸载;

37、

38、其中,为卸载决策变量,若代表子任务在第m个服务器上进行卸载,否则

39、步骤3、利用图神经网络解决时序依赖型业务状态的嵌入问题。

40、在利用drl解决计算卸载问题时,需要将状态信息转化为特征传递给策略网络,然而大多数神经网络只适用于处理欧式空间数据,对于处理dag型应用的卸载问题并不适用,为了将任意数量和任意大小的dag型图更好地输入到drl的神经网络中,使用了图神经网络来处理可扩展的状态,该网络将状态信息编码到一组嵌入向量中。

41、步骤3.1得到任务级别的嵌入;

42、如图3图神经网络部分所示,图神经网络将dag型应用作为输入,应用的每个任务都有一组特征(任务的cpu周期数、任务上传的数据量大小、任务在服务器上的平均传输时间、任务在服务器上的平均计算时间等),输出两种级别的嵌入:分别是任务级别的嵌入和全局级别的嵌入。其中,任务级别的嵌入捕获了该任务与其子任务的信息,全局级别的嵌入包含了来自所有dag型应用的嵌入信息。

43、任务级别的嵌入:第u个用户产生的第个n应用的第i个子任务的原始特征为在本方法中,任务的原始特征包括任务的上传数据量任务所需的cpu周期数任务与服务基站所在服务器的传输时间任务在不同计算能力的服务器中的平均计算时间

44、

45、通过两层非线性函数f1(·)和f2(·),得到第u个用户产生的第个n应用gun的任意子任务嵌入特征特征通过消息传递的顺序从dag的叶子节点开始,不断向节点的前向节点传递。任意一个子任务嵌入的计算方式如下:

46、

47、其中,f1(·)和f2(·)是由小神经网络构成的非线性函数,f1(·)聚合了任务的所有前向任务的嵌入。

48、步骤3.2得到全局级别的嵌入

49、全局级别的嵌入包含了来自所有dag型应用的嵌入信息(例如应用的数量)。图神经网络首先计算每个dag的所有节点嵌入的汇总为了计算全局级别的嵌入,向每个dag图添加一个汇总节点,该节点将dag中的所有节点作为子节点,然后得到全局级别的汇总

50、步骤4、利用深度强化学习算法进行卸载决策

51、为了平衡动作空间的大小和操作数量,将调度决策分解为一系列的二维动作,输出下一个被调度的任务以及任务要去执行卸载的服务器,调度代理观察系统的状态,来决定每一个调度操作,根据优化目标接收奖励,使用图神经网络将应用dag转化为策略网络的向量,通过奖励来指导策略网络输出每次决策的动作。

52、步骤4.1根据卸载问题对马尔科夫(mdp)过程进行建模;

53、在强化学习的框架中,进行学习及实施决策的机器称为智能体,智能体与其相互作用的事物称为环境,在每个离散的时刻t,智能体与环境会进行交互,观察到所在环境状态的某种特征表达并在此基础上选择一个动作在下一时刻接收到一个奖励作为选择此动作的结果,并进入一个新的状态st+1,这个过程称为马尔科夫决策过程,通常被描述为一个四元组分别表示状态空间、动作空间、状态转移概率和奖励。状态空间输入到图神经网络中的状态包括应用状态sgun和任务的状态sgun,i两部分。

54、

55、任意任务的状态:任务的状态包括任务的上传数据量任务所需的cpu周期数任务与所在用户连接的服务器的传输时间任务在不同计算能力的服务器中的平均计算时间

56、

57、应用的状态包括:应用所在的用户u所连接的服务器的索引iu、应用所在用户u与所连接的服务器m之间的信道增益gu,m。

58、

59、动作空间决策动作为一个二维动作,即输出下一个被调度的任务vnext以及任务要去执行卸载的服务器snext,既优化了卸载位置又优化了卸载时序。

60、at=<vnext,snext>

61、调度事件:当一个任务完成,释放与之相对应的执行器或者新的应用到达称为在时刻t的调度事件。

62、选择任务:在时刻t调度事件发生时,对应的状态为st,对第u个用户产生的第个n应用的任意子任务计算一个分数将嵌入到图神经网络的向量转化为一个标量,在一定程度上,分数表示可调度任务的优先级,然后使用softmax运算根据优先级分数计算选择任务的概率:

63、

64、其中,是在时刻t可调度的任务集合,g(x)是任务x所在的应用dag。

65、选择服务器:对于每个服务器,策略网络也会计算一个分数g(·),使用另一个分数函数g(·)为任务分配卸载位置。与选择可调度任务类似,系统对这些分数应用softmax操作,以计算选择服务器概率。

66、奖励r:设t为一个epoch总的动作数量,tk是第k个动作对应的时钟数,jk代表在(tk-1,tk]时间段内存在的应用。

67、rk=-(tk-tk-1)jk

68、步骤4.2利用策略梯度算法进行卸载决策;

69、策略梯度方法(policy gradient methods)是一类直接针对期望回报(expectedreturn)通过梯度下降(gradient descent)进行策略优化的增强学习方法,这一类方法避免了其他传统增强学习方法所面临的一些困难,比如,没有一个准确的价值函数,或者由于连续的状态和动作空间,以及状态信息的不确定性而导致的难解性(intractability)。

70、采用带基准函数b(st′)的策略梯度算法,该算法可以大幅提升策略梯度方法的表现。本系统所有的操作,从图神经网络到策略网络都是可微的。为简洁起见,将这些操作中的所有参数联合表示为θ,将调度策略πθ(at|st)定义为在状态st时采取行动的概率。考虑一个长度为t的事件,agent在每一步t收集(状态,动作,奖励),即(st,at,rt)。agent使用reinforce策略梯度算法更新其策略πθ(at|st)的参数θ。有了基准函数b(st′),目标函数的梯度写成:

71、

72、参数的更新如下,其中a是学习率:

73、

74、技术总结:

75、与现有技术相比较,本发明考虑了一个更加复杂的mec系统,在多用户多服务器的网络场景下对动态到达的时序依赖型业务进行细粒度的卸载研究,每个用户产生的应用的子任务可以卸载到直接相连服务器,也可以卸载到其他服务器。本发明利用图神经网络更加有效地捕获了任意大小和形状的时序依赖型业务和应用的特征状态,综合考虑了任务本身的信息和全局信息。最后对卸载问题进行马尔可夫过程建模,利用深度强化学习的策略梯度算法进行卸载决策,选择待调度的任务以及为该任务选择要去卸载的服务器,既优化了卸载时序也优化了卸载位置。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1