任务执行方法、装置、电子设备及存储介质与流程

文档序号:28376097发布日期:2022-01-07 21:53阅读:51来源:国知局
任务执行方法、装置、电子设备及存储介质与流程

1.本发明涉及边缘计算技术领域,尤其涉及一种任务执行方法、装置、电子设备及存储介质。


背景技术:

2.在物联网时代,产生了大量计算密集型任务,终端设备的计算能力不能满足需求。在当前现状以及未来发展趋势下,云计算展现出了强大的优势。但是云计算还面临着很多问题,比如远距离传输及排队等待带来的高时延问题。在采用边缘计算的场景中,用户不再直接将大型服务传输到云中心服务器进行处理,而是选择对大型服务根据其特征进行划分,将其划分为更小的服务以便于进一步处理以及管理。这些划分之后的服务,不需要全部在网络中心的云服务器进行处理,而是交由分布式的边缘节点对其进行处理。
3.但若是将大量任务卸载至边缘服务器处理,则会导致任务执行时延过大。


技术实现要素:

4.本发明提供一种任务执行方法、装置、电子设备及存储介质,用以解决现有技术中将大量任务卸载至边缘服务器处理,则会导致任务执行时延过大的缺陷,实现优化终端任务执行导致的系统能耗和时延。
5.第一方面,本发明提供一种任务执行方法,包括:
6.基于边缘服务器的计算能力,确定边缘服务器的计算能力状态向量;
7.将所述计算能力状态向量,输入任务卸载模型,获取子任务卸载策略;
8.基于所述子任务卸载策略,执行终端的子任务;
9.其中,所述任务卸载模型在训练时的奖励函数是任务执行总开支的相反数,所述任务执行总开支包括执行所述子任务所产生的总能耗,和执行所述子任务产生的总时延。
10.可选地,根据本发明提供的一种任务执行方法,所述基于所述子任务卸载策略,执行终端的子任务,包括以下至少一项:
11.在所述子任务卸载策略指示所有终端的所有子任务中的第一子任务本地执行的情况下,在所述第一子任务的终端本地执行所述第一子任务;
12.在所述子任务卸载策略指示所有终端的所有子任务中的第二子任务卸载到目标边缘服务器执行的情况下,将所述第二子任务卸载到所述目标边缘服务器执行。
13.可选地,根据本发明提供的一种任务执行方法,所述执行所述子任务所产生的总能耗,包括:
14.所述第一子任务的终端本地执行所述第一子任务所消耗的能耗;
15.将所述第二子任务卸载到所述目标边缘服务器时传输所消耗的能耗;
16.所述目标边缘服务器执行所述第二子任务所消耗的能耗。
17.可选地,根据本发明提供的一种任务执行方法,所述执行所述子任务产生的总时延,包括:
18.将所述第二子任务卸载到所述目标边缘服务器时传输所产生的时延;
19.所述第二子任务在所述目标边缘服务器上等待执行时排队所产生的时延;
20.所述第二子任务在所述目标边缘服务器上执行所产生的时延。
21.可选地,根据本发明提供的一种任务执行方法,所述方法还包括:
22.确定训练样本组;
23.基于至少一个所述训练样本组和所述奖励函数,训练所述任务卸载模型。
24.可选地,根据本发明提供的一种任务执行方法,所述确定训练样本组,包括:
25.确定所述计算能力状态向量的初始状态向量;
26.以所述初始状态向量为输入,基于所述奖励函数,获得所有卸载动作对应的奖励值;
27.根据贪婪法确定所有卸载动作中的目标卸载动作,确定执行所述目标卸载动作后的计算能力状态向量,和执行所述目标卸载动作获得的奖励值;
28.将所述初始状态向量,所述目标卸载动作,执行所述目标卸载动作后的计算能力状态向量,和执行所述目标卸载动作获得的奖励值,作为一个所述训练样本组。
29.第二方面,本发明还提供一种任务执行装置,包括:
30.确定模块,用于基于边缘服务器的计算能力,确定边缘服务器的计算能力状态向量;
31.获取模块,用于将所述计算能力状态向量,输入任务卸载模型,获取子任务卸载策略;
32.执行模块,用于基于所述子任务卸载策略,执行终端的子任务;
33.其中,所述任务卸载模型在训练时的奖励函数是任务执行总开支的相反数,所述任务执行总开支包括执行所述子任务所产生的总能耗,和执行所述子任务产生的总时延。
34.第三方面,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述任务执行方法的步骤。
35.第四方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述任务执行方法的步骤。
36.第五方面,本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述任务执行方法的步骤。
37.本发明提供的任务执行方法、装置、电子设备及存储介质,通过采用针对任务卸载和任务执行阶段对能耗和时延进行优化的任务卸载模型,基于边缘服务器的计算能力,确定子任务卸载策略,可以实现更好地优化终端任务执行导致的系统能耗和时延,得到更低的系统总代价。
附图说明
38.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
39.图1是本发明提供的任务执行方法的流程示意图之一;
40.图2是本发明提供的任务执行方法的流程示意图之二;
41.图3是本发明提供的ed-dqn任务卸载方法的具体流程示意图;
42.图4是本发明提供的ed-dqn任务卸载方法训练及收敛过程的示例图;
43.图5是本发明提供的ed-dqn和n-dqn任务卸载方法训练及收敛过程对比的示例图;
44.图6是本发明提供的三种任务卸载方法的系统总代价对比的示意图;
45.图7是本发明提供的任务执行装置的结构示意图;
46.图8是本发明提供的电子设备的结构示意图。
具体实施方式
47.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
48.下面结合图1-图8描述本发明的任务执行方法、装置及电子设备。
49.图1是本发明提供的任务执行方法的流程示意图之一,如图1所示,该方法包括如下步骤:
50.步骤100,基于边缘服务器的计算能力,确定边缘服务器的计算能力状态向量;
51.步骤110,将所述计算能力状态向量,输入任务卸载模型,获取子任务卸载策略;
52.步骤120,基于所述子任务卸载策略,执行终端的子任务;
53.其中,所述任务卸载模型在训练时的奖励函数是任务执行总开支的相反数,所述任务执行总开支包括执行所述子任务所产生的总能耗,和执行所述子任务产生的总时延。
54.可选地,子任务可以为终端的大任务划分为的多个子任务;
55.可选地,子任务可以为终端的任务;
56.可选地,本发明可以通过任务执行装置实现,该任务执行装置执行的子任务可以为多个终端的多个任务的多个子任务。
57.可选地,在边缘处理器(边缘节点)执行子任务,边缘节点更靠近用户终端设备,极大地提升了服务的相应速率,提升了服务处理效率,也节省了能量消耗,但终端及边缘设备能耗有限,任务卸载带来的能量消耗亟需成为卸载策略制定的关键优化目标,在优化能耗的同时,也必须兼顾时延。
58.可选地,本发明基于物联网的典型应用场景,构造了一个包含若干终端设备和边缘服务器的两层架构。将整个边缘计算系统分为边缘层和终端层两层,边缘层包括若干边缘服务器,终端层包括若干终端设备。
59.其中,对于终端设备来说,其自身的能耗、计算资源是有限的,所以在面临计算密集型任务时,可以考虑将计算任务按照其任务特征划分为多个子任务。
60.可选地,可以根据步骤110中获得的子任务卸载策略,决定将子任务在本地执行,或者卸载到边缘服务器上,并且确定卸载的边缘服务器位置。
61.假设在多终端设备多边缘服务器场景中,共有n个终端设备,m个边缘服务器。假设终端设备用u={u1,u2,...,un}表示,边缘服务器用e={e1,e2,...,em}表示。在每个终端设
备ui上都有一个计算任务xi,任务xi可以根据自身的任务特征分解成若干子任务{x
i,1
,x
i,2
,...,x
i,r
}。
62.比如智能家居中的智能温控程序,可以划分为感知温度、温度反馈、温度调节等子任务。并且,根据实际情况,这些子任务间存在依赖关系,即后一个子任务的输入依赖前一个子任务的输出,所以可以按序串行执行。
63.比如在温控系统中,温度调节这一子任务依赖于温度反馈子任务的结果。
64.本发明可以考虑终端设备上子任务之间的串行依赖关系,在任务处理过程中,各子任务需要按照顺序,依次完成任务卸载和任务执行工作。
65.可选地,本发明可以采用一个二元组来描述子任务x
i,j
的特征,即(l
i,j
,c
i,j
)。其中,用l
i,j
表示子任务的数据大小,包括子任务的请求、数据、代码等;用c
i,j
表示完成该子任务所需要的cpu周期数。
66.可选地,本发明中各终端设备上的任务卸载决策动作可以用a
i,j,k
来表示,即终端设备i上的子任务j是否卸载到边缘服务器k上,或者是否直接在本地执行。
67.可选地,若动作a
i,j,k
=1,表示确认将子任务卸载到边缘服务器k上进行执行;
68.可选地,若动作a
i,j,k
=0,表示该子任务不卸载到边缘服务器k上;其中,k=0时,即a
i,j,0
表示任务是否在本地执行。a
i,j,0
=1表示子任务在本地执行,a
i,j,0
=0表示子任务不在本地执行。
69.图2是本发明提供的任务执行方法的流程示意图之二,如图2所示,本发明为了平衡任务被执行所消耗的总能耗和产生的时延,可以训练获得对任务卸载和任务执行阶段对能耗和时延进行优化的任务卸载模型,然后可以将体现边缘服务器的计算能力的计算能力状态向量,输入任务卸载模型,获取子任务卸载策略,该子任务卸载策略是是在保障能耗和时延的平衡的基础上最适合当前边缘服务器的计算能力状态的子任务卸载策略,并基于该子任务卸载策略执行终端的子任务。
70.本发明通过采用针对任务卸载和任务执行阶段对能耗和时延进行优化的任务卸载模型,基于边缘服务器的计算能力,确定子任务卸载策略,可以实现更好地优化终端任务执行导致的系统能耗和时延,得到更低的系统总代价。
71.可选地,所述基于所述子任务卸载策略,执行终端的子任务,包括以下至少一项:
72.在所述子任务卸载策略指示所有终端的所有子任务中的第一子任务本地执行的情况下,在所述第一子任务的终端本地执行所述第一子任务;
73.在所述子任务卸载策略指示所有终端的所有子任务中的第二子任务卸载到目标边缘服务器执行的情况下,将所述第二子任务卸载到所述目标边缘服务器执行。
74.可选地,对于所有终端的所有子任务中的每一个子任务,可以根据子任务卸载策略,确定决定将该子任务在本地执行,或者卸载到边缘服务器上,并且确定卸载的边缘服务器位置。
75.可选地,在所述子任务卸载策略指示第一子任务本地执行的情况下,即第一子任务对应的动作a
i,j,0
=1,在所述第一子任务的终端本地执行所述第一子任务;
76.可选地,在所述子任务卸载策略指示第二子任务本地执行的情况下,即第二子任务对应的动作a
i,j,0
=0,则可以确定将所述第二子任务卸载到边缘服务器执行;若第二子任务对应的动作a
i,j,k
=1,则可以确定将第二子任务卸载到所述目标边缘服务器k执行。
77.可选地,所述执行所述子任务所产生的总能耗,包括:
78.所述第一子任务的终端本地执行所述第一子任务所消耗的能耗;
79.将所述第二子任务卸载到所述目标边缘服务器时传输所消耗的能耗;
80.所述目标边缘服务器执行所述第二子任务所消耗的能耗。
81.可选地,本发明可以建立能耗模型,确定执行所述子任务所产生的总能耗;
82.可选地,可以将整个任务处理过程分为了三个阶段,包括任务卸载阶段、任务执行阶段和结果回传阶段。通常来说,对于计算密集型任务,计算结果的大小远远小于计算任务的大小,结果回传阶段的能量消耗也远远小于任务卸载阶段和计算阶段,且产生的能耗相对固定,可进行优化的空间较小。所以,在能耗优化问题上,本发明可以将优化重点放在前两个阶段:任务卸载阶段和任务执行阶段。
83.因此,所述执行所述子任务所产生的总能耗可以包括:所述第一子任务的终端本地执行所述第一子任务所消耗的能耗;将所述第二子任务卸载到所述目标边缘服务器时传输所消耗的能耗;以及所述目标边缘服务器执行所述第二子任务所消耗的能耗。
84.其中,在任务卸载阶段,各终端设备根据子任务卸载策略,通过上行链路将子任务传输到边缘服务器等待执行。设r
i,k
为终端设备i和边缘服务器k之间的数据链路上的传输速率。设b
i.k
为信道带宽,g
i,k
为通信增益,a为环境噪音,为第i个终端设备的传输功率。根据香农公式可以得到传输速率r
i,k
为:
85.r
i,k
=b
i,k
*log2(1+p
itrans
*g
i,k
/a2)
ꢀꢀꢀꢀꢀꢀ
(1)
86.采用二元组(l
i,j
,c
i,j
)来描述子任务。其中,l
i,j
表示第二子任务的数据大小,c
i,j
为完成该第二子任务需要的cpu周期数。则第二子任务(l
i,j
,c
i,j
)在任务卸载阶段的传输能耗可以表示为:
[0087][0088]
在第二子任务执行阶段,根据子任务卸载策略,终端设备上的第二子任务可以卸载到边缘服务器上执行。边缘服务器的能耗主要包括两个方面:
[0089]
一是处理计算第二子任务时产生的执行能耗,这部分能耗与cpu利用率成正相关,是服务器能耗的主要构成部分;
[0090]
二是边缘服务器的开机能耗,即服务器在开机状态时,数据存储和网络设备等会产生能量消耗,这部分的能耗同样需要考虑在内。若第二子任务在本地执行,则没有传输能耗,只需要考虑第二子任务执行能耗。
[0091]
表示终端设备i上的子任务j卸载到边缘服务器k执行产生的能耗,公式如下(3)式。
[0092]
其中,表示服务器负载达到峰值时的功率,表示服务器处于开机状态时的功率,fk表示边缘服务器k的计算能力,c
i,j
表示计算终端设备i上的第二子任务j所需的cpu转数。服务器负载峰值能耗与启动能耗之差,再除以边缘服务器计算能力,即为用于单位计算资源的能耗。用单位计算资源所需的能耗乘第二子任务所需的计算资源,为该第二子任务在边缘服务器k上的计算能耗。
[0093][0094]
边缘服务器k的总能量消耗用ek表示,包括开机能耗和执行能耗。公式如下(4)式。其中,表示是否需要启动边缘服务器k,为边缘服务器处于开机状态时的能耗。
[0095][0096]
终端设备i上本地执行计算第一子任务的能耗可以表示为:
[0097][0098]
系统总能耗等于该任务卸载阶段的传输能耗和任务执行阶段的能耗之和,可以表示为:
[0099][0100]
可选地,所述执行所述子任务产生的总时延,包括:
[0101]
将所述第二子任务卸载到所述目标边缘服务器时传输所产生的时延;
[0102]
所述第二子任务在所述目标边缘服务器上等待执行时排队所产生的时延;
[0103]
所述第二子任务在所述目标边缘服务器上执行所产生的时延。
[0104]
可选地,任务处理时延可以包括三个部分:任务的传输时延,即第二子任务通过无线网络从终端设备i传输到边缘服务器k;排队时延,即第二子任务在边缘服务器上等待执行的时延;任务执行,即第二子任务在边缘服务器上计算过程中产生的时延。
[0105]
可选地,可以根据时延组成的三个部分,任务处理时延可以用如下公式(7)表示,其中为卸载过程中的传输时延,为服务时延,包括等待时延和执行时延。
[0106][0107]
在任务卸载阶段,可以采用二元组(l
i,j
,c
i,j
)来描述第二子任务,采用r
i,k
表示终端设备i和边缘服务器k之间的传输速率。则终端设备i上的第二子任务j在任务卸载阶段的传输时延可以表示为:
[0108][0109]
在第二子任务执行阶段,当第二子任务被卸载到边缘服务器k上之后,进入第二子任务队列,进行等待队列并执行。
[0110]
由于边缘服务器计算能力有限,不能同时满足大量计算任务的需求,同时计算能力也难以有明显提升,为了平衡计算任务的需求和边缘服务器的计算能力,引入排队论,并可以将这一过程建模为一个m/m/1排队模型。用fk表示边缘服务器k的计算能力,边缘服务
器上的服务时间服从指数分布,且均值为1/fk。用表示边缘服务器k上的计算任务平均到达率,公式如下(9)式。其中,终端设备i上的第二子任务j卸载到边缘服务器k上,卸载策略中的动作用a
i,j,k
来表示。
[0111][0112]
则边缘服务器k对终端设备i上的第二子任务j的服务时延包括任务等待时延和任务执行时延,可以用公式表示为:
[0113][0114]
若计算第一子任务在本地处理,则时延为:
[0115][0116]
每个终端设备上的第一子任务的处理时延为:
[0117][0118]
各终端设备之间不存在依赖关系,则总处理时延为:
[0119]
t
total
=max{t1,t2,...,tn}
ꢀꢀꢀꢀꢀꢀ
(13)
[0120]
可选地,为了在优化能耗的同时兼顾时延问题,进行多目标联合优化,综合考虑能耗和时延,可以将任务处理过程中的能耗和时延作为联合优化目标。为能耗和时延分别赋予不同的权重因子,表示优化偏好,如下(14)式所示。
[0121][0122]
若计算任务为时延敏感型,可以适当提高时延项的权重因子;若计算任务为能耗敏感型,则可以增大能耗项的权重因子。将能耗和时延的加权和作为系统总代价,优化目标为使系统总代价达到最低。
[0123]
可选地,所述方法还包括:
[0124]
确定训练样本组;
[0125]
基于至少一个所述训练样本组和所述奖励函数,训练所述任务卸载模型。
[0126]
可选地,首先需要定义马尔可夫过程(mdp)的三要素,包括状态空间、动作空间、奖励函数。一个典型的马尔可夫过程是由一个四元组m={s,a,p,r}定义的。其中,s是一个有限的状态集合,a是一个有限的动作集合,p表示从当前状态转移到下一状态的概率,r是在当前状态执行动作的即时奖励函数。
[0127]
(1)状态空间:根据联合优化模型,系统中共有n∈{1,2,3,...,n}个终端设备,以
及m∈{1,2,3,...,m}个边缘服务器。终端设备完成第二子任务卸载后,第二子任务将会在边缘服务器上等待并执行,随着边缘服务器上第二子任务数量的增加,边缘服务器的计算能力会受到影响。因此,定义系统状态为当前状态下各个边缘服务器的计算能力,用向量表示为{f1,f2,...,fm}。
[0128]
(2)动作空间:其中,a
i,j,k
表示一个卸载动作,即是否将边缘设备i上的子任务j卸载到边缘服务器k上,若卸载,则a
i,j,k
=1,否则a
i,j,k
=0。对于终端设备i上的子任务j,拥有卸载动作向量a
i,j
={a
i,j,0
,a
i,j,1
,a
i,j,2
,...,a
i,j,m
}。
[0129]
(3)奖励函数:根据马尔可夫决策过程,当智能体在当前状态下采取一个动作后,会跳转到某个新状态,并且得到一个即时奖励。在本发明中,可以考虑能耗和时延联合优化,将最小化能耗和时延作为优化目标。在深度强化学习中,在进行优化时,一般考虑使奖励最大化。所以,本发明可以考虑将当前状态下执行卸载动作后产生的能耗、时延加权之和的相反数构建为奖励函数:
[0130][0131]
本发明将能耗最小化问题建模为了一个马尔可夫决策过程。
[0132]
可选地,图3是本发明提供的ed-dqn任务卸载方法的具体流程示意图,如图3所示,本发明基于马尔可夫过程,设计ed-dqn(energy and delay aware offloading based on deep q network)任务卸载方法。
[0133]
本发明采用深度强化学习算法dqn,将深度学习与强化学习结合起来,解决本发明提出的能耗优化问题。
[0134]
其中,深度强化学习可以把所有现实问题都抽象为任务卸载模型与环境的互动来进行建模,任务卸载模型选择执行某一动作,环境会对本次选择的动作进行反馈,同时状态也会发生跳转。
[0135]
本发明中的任务卸载模型可以通过选择不同的动作与环境进行交互,对所获得的奖励进行优化(即使奖励函数获得的奖励值尽可能大);即在每一次训练过程中基于环境的反馈,对任务卸载模型的网络系数进行优化,不断迭代训练,任务卸载模型最终可以收敛到一个最优的状态。
[0136]
dqn算法采用深度神经网络来近似地模拟q函数,更新q值。输入状态s和行为a,可以得到累积折扣奖励q
*
(s,a),约等于q(s,a,ω),即后续所有能耗和时延加权和的总和。
[0137]
可选地,可以首先初始化累积折扣奖励q,初始化记忆内存d。初始化边缘服务器集合、终端设备集合、计算任务集合等;
[0138]
可选地,然后可以确定训练样本组;基于至少一个所述训练样本组和所述奖励函数,循环训练所述任务卸载模型。
[0139]
可选地,在训练时,可以随机从经验回放合集中取出m个训练样本组用于计算当前目标q值yi[0140]
yj=rj+γmax
a'
q(φ(sj'),aj,ω)
[0141]
使用损失函数进行梯度下降更新q(s,a,ω)的参数ω;
[0142]
其中,rj表示即时奖励,γ表示折扣因子,φ(sj)和φ(sj')分别表示卸载前和卸载
后的计算能力状态向量,aj表示动作向量,ω表示神经网络参数。
[0143]
模型训练完毕之后,保存神经网络参数。
[0144]
在训练过程中,随着迭代次数的增加,算法可以逐渐收敛。在此过程中,可以每隔一定迭代次数,进行测试,测试部分的算法流程如下。
[0145]
1、初始化边缘服务器计算能力状态state对应的计算能力状态向量,作为输入;初始化边缘服务器集合、终端设备集合、计算任务集合等;
[0146]
2、进行循环遍历:
[0147]
1)根据当前状态state下的最优q值,选出对应的动作action,即当前所有终端设备上相应子任务的卸载动作,加入策略policy集合;
[0148]
2)在当前状态state下执行动作action,得到奖励reward,跳转到下一状态next state,并将奖励进行累计,得到系统总代价(能耗和时延的加权和)。
[0149]
可选地,所述确定训练样本组,包括:
[0150]
确定所述计算能力状态向量的初始状态向量;
[0151]
以所述初始状态向量为输入,基于所述奖励函数,获得所有卸载动作对应的奖励值;
[0152]
根据贪婪法确定所有卸载动作中的目标卸载动作,确定执行所述目标卸载动作后的计算能力状态向量,和执行所述目标卸载动作获得的奖励值;
[0153]
将所述初始状态向量,所述目标卸载动作,执行所述目标卸载动作后的计算能力状态向量,和执行所述目标卸载动作获得的奖励值,作为一个所述训练样本组。
[0154]
可选地,可以初始化计算能力状态s1,并且得到对应的初始状态向量;
[0155]
可选地,q网络可以用于获得近似q值,在q网络中,以初始状态向量作为输入,得到所有卸载动作对应的q值。根据∈-贪婪法选出卸载动作a(以一定概率随机选择卸载动作,或者选择令q函数最大的卸载动作);
[0156]
然后可以在当前状态执行动作a,将任务卸载到各边缘服务器,转移到新计算能力状态,并获得此次卸载的奖励值;
[0157]
进而可以采样,获得训练样本组(s,a,r,s')存入经验回放合集中;
[0158]
其中,(s,a,r,s')中的s为初始状态向量;a为所述目标卸载动作;r为执行所述目标卸载动作获得的奖励值;s'为执行所述目标卸载动作后的计算能力状态向量。
[0159]
图4是本发明提供的ed-dqn任务卸载方法训练及收敛过程的示例图,在图4中,横坐标为迭代次数,纵坐标为系统总代价,图5是本发明提供的ed-dqn和n-dqn任务卸载方法训练及收敛过程对比的示例图,在图5中,横坐标为迭代次数,纵坐标为系统总代价,如图4和5所示,本发明通过观察训练及收敛曲线可以发现,在第1000次训练左右,系统总代价降低至18左右,并且在此后的训练过程中,系统总代价逐渐收敛,达到较稳定的状态。可以证明本发明提供的ed-dqn任务卸载方法的有效性,符合深度强化学习的特性,并且可以有效降低系统总代价,使其收敛至一个较低的值。
[0160]
图6是本发明提供的三种任务卸载方法的系统总代价对比的示意图,在图6中,横坐标为仿真实验的不同方法,纵坐标为系统总代价,如图6所示,采用n-dqn任务卸载方法的系统总代价收敛于19左右,而ed-dqn任务卸载方法的系统总代价收敛于18左右,后者比前者的优化效果提升了5%左右。通过分析两种任务卸载方法的差异,以及仿真结果的不同,
可以总结得出,制定更加精确且贴合实际情况的能耗和时延评价模型,更有利于制定最优任务卸载策略。
[0161]
可以发现根据随机任务卸载方法制定的卸载策略系统总代价最高,根据ed-dqn任务卸载方法制定的卸载策略系统总代价最低,n-dqn任务卸载方法居中。ed-dqn任务卸载方法的系统总代价相比于随机卸载方法,降低了22%左右,相比于n-dqn任务卸载方法降低了10%左右。通过对比同一卸载方法的不同仿真实验结果,可以发现,n-dqn和ed-dqn任务卸载方法的系统总代价基本不变,比较稳定。而随机任务卸载方法的系统总代价不稳定,每次实验结果差异较大,随机性很强。通过对比实验发现,在这三种任务卸载方法中,ed-dqn任务卸载方法最优越。
[0162]
本发明针对多终端设备多边缘服务器的边缘计算场景,提出能耗感知的边缘任务智能卸载方法。首先构建任务模型,并明确任务卸载过程,主要针对任务卸载和任务执行阶段对能耗和时延进行优化。能耗模型包括任务传输能耗、任务执行能耗、边缘服务器开机能耗;时延模型包括传输时延、执行时延、排队时延。然后构建时延和能耗的多目标联合优化问题模型,并设计ed-dqn(energy and delay aware offloading based on deep q network)任务卸载方法。通过与边缘计算环境不断交互,得到执行卸载动作后的奖励或惩罚,由此更新模型。经过训练之后,可以根据环境状态,得到卸载动作,进而获得最优卸载决策。仿真实验表明,本发明所提方法,可以更好地优化能耗和时延,得到更低的系统总代价。
[0163]
本发明通过采用针对任务卸载和任务执行阶段对能耗和时延进行优化的任务卸载模型,基于边缘服务器的计算能力,确定子任务卸载策略,可以实现更好地优化终端任务执行导致的系统能耗和时延,得到更低的系统总代价。
[0164]
下面对本发明提供的任务执行装置进行描述,下文描述的任务执行装置与上文描述的任务执行方法可相互对应参照。
[0165]
图7是本发明提供的任务执行装置的结构示意图,如图7所示,该执行装置包括:确定模块710,获取模块720,和执行模块730;其中:
[0166]
确定模块710用于基于边缘服务器的计算能力,确定边缘服务器的计算能力状态向量;
[0167]
获取模块720用于将所述计算能力状态向量,输入任务卸载模型,获取子任务卸载策略;
[0168]
执行模块730用于基于所述子任务卸载策略,执行终端的子任务;
[0169]
其中,所述任务卸载模型在训练时的奖励函数是任务执行总开支的相反数,所述任务执行总开支包括执行所述子任务所产生的总能耗,和执行所述子任务产生的总时延。
[0170]
可选地,任务执行装置可以基于边缘服务器的计算能力,通过确定模块710确定边缘服务器的计算能力状态向量;随后可以通过获取模块720将所述计算能力状态向量,输入任务卸载模型,获取子任务卸载策略;随后可以基于所述子任务卸载策略,通过执行模块730执行终端的子任务。
[0171]
本发明通过采用针对任务卸载和任务执行阶段对能耗和时延进行优化的任务卸载模型,基于边缘服务器的计算能力,确定子任务卸载策略,可以实现更好地优化终端任务执行导致的系统能耗和时延,得到更低的系统总代价。
[0172]
图8示例了一种电子设备的实体结构示意图,如图8所示,该电子设备可以包括:处
理器(processor)810、通信接口(communications interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行任务执行方法,该方法包括:基于边缘服务器的计算能力,确定边缘服务器的计算能力状态向量;
[0173]
将所述计算能力状态向量,输入任务卸载模型,获取子任务卸载策略;
[0174]
基于所述子任务卸载策略,执行终端的子任务;
[0175]
其中,所述任务卸载模型在训练时的奖励函数是任务执行总开支的相反数,所述任务执行总开支包括执行所述子任务所产生的总能耗,和执行所述子任务产生的总时延。
[0176]
此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0177]
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的任务执行方法,该方法包括:基于边缘服务器的计算能力,确定边缘服务器的计算能力状态向量;
[0178]
将所述计算能力状态向量,输入任务卸载模型,获取子任务卸载策略;
[0179]
基于所述子任务卸载策略,执行终端的子任务;
[0180]
其中,所述任务卸载模型在训练时的奖励函数是任务执行总开支的相反数,所述任务执行总开支包括执行所述子任务所产生的总能耗,和执行所述子任务产生的总时延。
[0181]
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的任务执行方法,该方法包括:基于边缘服务器的计算能力,确定边缘服务器的计算能力状态向量;
[0182]
将所述计算能力状态向量,输入任务卸载模型,获取子任务卸载策略;
[0183]
基于所述子任务卸载策略,执行终端的子任务;
[0184]
其中,所述任务卸载模型在训练时的奖励函数是任务执行总开支的相反数,所述任务执行总开支包括执行所述子任务所产生的总能耗,和执行所述子任务产生的总时延。
[0185]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0186]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该
计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0187]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1