一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

多接入边缘计算联合任务卸载和资源分配的方法及系统与流程

2021-12-03 23:50:00 来源:中国专利 TAG:


1.本发明属于移动通信领域,尤其涉及一种多接入边缘计算联合任务卸载和资源分配的方法及系统。


背景技术:

2.本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
3.随着5g网络的兴起,诸如工业4.0,虚拟/增强现实,自动驾驶等服务快速发展,移动数据流量正在经历着爆炸式增长。而这类计算密集型应用通常具有低延迟、高能耗的特点。由于物联网设备在存储和计算上的特点,很难满足这些应用的要求或根本无法运行复杂的程序。因此物联网设备必须将应用数据上传至远程服务器进行进一步的存储和处理,虽然远程服务器的计算资源是无限的,但通过公共互联网到达云可能会导致网络拥塞,也很难满足计算密集型应用低延迟的要求。所以说,不管是物联网设备还是远程云服务器都不能满足发展的需要。
4.多接入边缘计算(mec)实现了有效的计算卸载并提供了一种应对不断增长的计算需求的有效方法。mec通过在物联网设备附近部署边缘服务器提供云计算能力。通常,边缘服务器位于核心网或无线接入点(rap)的汇聚点,从而保证低延迟应用的要求。这样,物联网设备产生的大量的延迟敏感型应用(如智慧城市、电子健康和无人驾驶等)可以将大量的感知数据卸载到边缘服务器上进行进一步的处理和存储。与云计算相比,mec不仅可以减小延迟,而且能提供更好的物联网设备体验。
5.现有的关于多接入边缘计算的研究大多是针对独立任务的研究,而在现实场景中,一个应用往往由多个相互依赖的任务组成,任务执行优先级和在哪执行都会影响任务执行的性能,进而影响整个应用的执行情况。


技术实现要素:

6.为了解决上述背景技术中存在的技术问题,本发明提供一种多接入边缘计算联合任务卸载和资源分配的方法及系统,其通过研究在mec系统中多物联网设备多依赖任务的卸载,优化目标,并在满足不同物联网设备偏好的情况下使任务的执行时延和能耗的长期加权总和最小化。
7.为了实现上述目的,本发明采用如下技术方案:
8.本发明的第一个方面提供一种多接入边缘计算联合任务卸载和资源分配的方法。
9.多接入边缘计算联合任务卸载和资源分配的方法,包括:
10.根据组成各个应用的任务的规定最晚完成时间和实际执行过程中的允许最晚完成时间,确定任务执行的优先级;
11.针对当前应用环境确定强化学习的三要素:状态、动作和奖励;
12.基于物联网设备、边缘服务器和远程服务器的资源状态,要执行的任务状态和优
先队列状态,采用dqn网络,结合物联网设备、边缘服务器和远程服务器的资源情况以及物联网设备产生应用的实时信息,得到当前状态下各种动作与每种动作对应的奖励,直到dqn网络收敛,得到最优的任务执行和资源分配策略。
13.进一步的,假设任务x
tnq
的初始规定完成时间是sct
tnq
,随着其前任任务的执行,任务x
tnq
的最新可接受完成时间act
tnq
和开始时间ast
tnq
;定义sts
tnq
是任务x
tnq
的后继任务集合,act
tni
为任务x
tni
∈sts
tnq
的最新可接受完成时间,etx
tni
为任务x
tni
在设备x上的执行时间;如果x
tnw
为应用x
tn
的最后一个任务时,act
tnw
等于sct
tnw
,完成时间约束;
14.对于任务x
tnq
从它的下一个任务x
tni
反向计算其最新的可接受完成时间,即
[0015][0016]
因此,任务x
tnq
的最新可接受开始时间为
[0017][0018]
根据公式(1)和(2)得到所有任务的最新可接受开始时间,基于所有任务的最新可接受开始时间,得到任务执行的优先级。
[0019]
进一步的,所述状态要素包括:状态空间、任务的状态信息、设备的状态信息和队列的状态信息;所述状态空间包括:任务、设备及队列三个部分的信息;所述任务的状态信息包括:任务的预处理前的大小、输入数据大小、计算复杂度、输出数据大小、最大可容忍延迟及最新可接受完成时间,所述设备的状态信息包括:本地设备、边缘服务器及远程服务器的计算资源分配,队列的状态信息包括:优先级队列的信息。
[0020]
进一步的,所述动作要素包括:
[0021]
ac1:对于决策时期k任务的选取,遵循以下规则:首先,从没有执行的任务中挑选优先级最高的任务,该任务属于哪个物联网设备的哪个应用;其次,判断该任务是否有未执行的前任任务;如果有,跳过该任务,并按同样的方法判断优先级次之的任务,直至找到可执行的任务或将所有任务查看完毕;否则,执行该任务,并将sa
kqs
中对应该任务的元素置为0,sa
kqs
是一个n*q*t*1的行向量,n是物联网设备的数量,q是每个物联网每个时隙产生应用包含的任务数,t是时间。
[0022]
ac2:包括一个动作,当动作ac1挑选出要执行的任务x
tnq
时,需要决定任务x
tnq
在哪个设备上执行;另一个动作,指定该设备将分配给该任务多少计算资源;将执行决策和计算资源分配的可能取值组合起来得到ac2。
[0023]
进一步的,所述奖励要素包括:agent在状态s∈sa
k
执行动作a∈ac后,将获得奖励r(s,a)并进入下一状态s’,奖励函数与优化目标一致。
[0024]
进一步的,所述优化目标是通过配置调整物联网设备的cpu频率、边缘服务器及远程服务器上的计算资源分配做出最优卸载决策,以使物联网设备的执行时延和能耗的总成本最小。
[0025]
进一步的,所述dqn网络包括:输入层、两层隐含层和输出层,输入层具有(6*nt*m
×
n
c
)个神经元,其中nt表示总的任务数量;第一个隐藏层大小为128个神经元,第二个隐藏层大小为64个神经元,输出层为与总动作空间大小相同的神经元的全连接层。
[0026]
具体的,在每次决策时,agent采用ε贪婪算法做出决策。即选择随机动作和贪婪动
作的概率分别为ε和1

ε,其中ε
min
<ε<1。且在dqn中采用经验回放机制,即用一个容量大小为nm的replay memory来存储经历过的数据(s,a,r(s,a),s’),每次更新参数的时候从replay memory中抽取minibath的数据来用于更新,以此来打破数据间的关联。在本发明中,为保持同一应用任务之间的依赖关系,从replay memory中随机抽取minibath个物联网设备用于更新。由于状态s的每一部分都有不同的取值范围,如计算资源被视为一个单通道图像,对于其中的每个计算单元cr
iτ,ic,k
的取值范围为(10,40),而任务的计算复杂度取值范围为(1,3)。因此在状态s输入之前,先对各部分做归一化处理方法为:
[0027][0028]
其中,max和min分别是该样本数据的最大值和最小值。x是当前需要更改的值,x*是更改后的值。归一化后,状态s的所有取值位于(0,1)之间。将状态s所有部分按行重新排列成一维列向量。然后将其发送到dqn的输入层,输入层具有(6*nt*m
×
n
c
)个神经元,其中nt表示总的任务数量。接着通过2个隐藏层。第一个隐藏层大小为128个神经元,第二个隐藏层大小为64个神经元。最后通过一个与具有总动作空间|ac|大小相同的神经元的全连接层作为输出层,并且每个神经元的输出都对应于a∈ac的动作价值函数。
[0029]
本发明的第二个方面提供一种多接入边缘计算联合任务卸载和资源分配的系统。
[0030]
多接入边缘计算联合任务卸载和资源分配的系统,包括:
[0031]
优先级排列模块,其被配置为:根据组成各个应用的任务的规定最晚完成时间和实际执行过程中的允许最晚完成时间,确定任务执行的优先级;
[0032]
要素确定模块,其被配置为:针对当前应用环境确定强化学习的三要素:状态、动作和奖励;
[0033]
最优决策获得模块,其被配置为:基于物联网设备、边缘服务器和远程服务器的资源状态,要执行的任务状态和优先队列状态,采用dqn网络,结合物联网设备、边缘服务器和远程服务器的资源情况以及物联网设备产生应用的实时信息,得到当前状态下各种动作与每种动作对应的奖励,直到dqn网络收敛,得到最优的任务执行和资源分配策略。
[0034]
本发明的第三个方面提供一种计算机可读存储介质。
[0035]
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一个方面所述的多接入边缘计算联合任务卸载和资源分配的方法中的步骤。
[0036]
本发明的第四个方面提供一种计算机设备。
[0037]
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述第一个方面所述的多接入边缘计算联合任务卸载和资源分配的方法中的步骤。
[0038]
与现有技术相比,本发明的有益效果是:
[0039]
以往对于mec场景下的任务卸载大多只考虑独立任务单目标的研究,很难符合实际的任务卸载情况且得到的效果并不明显。本发明研究了在mec中多物联网设备多应用的卸载,同时最小化任务的执行时延和能耗的长期加权总和,设计了最小化物联网设备长期的任务执行时延和能耗加权总和的效果函数。利用了一种新兴的深度q网络的技术来解决该问题,很好的权衡了任务执行时延和能量消耗之间的关系,满足了物联网设备的qos需求,且复杂度低,适用性好。
[0040]
本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
[0041]
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
[0042]
图1是本发明多接入边缘计算联合任务卸载和资源分配的方法的流程图;
[0043]
图2是本发明的多接入边缘计算场景示意图。
具体实施方式
[0044]
下面结合附图与实施例对本发明作进一步说明。
[0045]
应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
[0046]
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
[0047]
需要注意的是,附图中的流程图和框图示出了根据本公开的各种实施例的方法和系统的可能实现的体系架构、功能和操作。应当注意,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分可以包括一个或多个用于实现各个实施例中所规定的逻辑功能的可执行指令。也应当注意,在有些作为备选的实现中,方框中所标注的功能也可以按照不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,或者它们有时也可以按照相反的顺序执行,这取决于所涉及的功能。同样应当注意的是,流程图和/或框图中的每个方框、以及流程图和/或框图中的方框的组合,可以使用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以使用专用硬件与计算机指令的组合来实现。
[0048]
实施例一
[0049]
如图1所示,本实施例提供了一种多接入边缘计算联合任务卸载和资源分配的方法,本实施例以该方法应用于服务器进行举例说明,可以理解的是,该方法也可以应用于终端,还可以应用于包括终端和服务器和系统,并通过终端和服务器的交互实现。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务器、云通信、中间件服务、域名服务、安全服务cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本技术在此不做限制。本实施例中,该方法包括以下步骤:
[0050]
根据组成各个应用的任务的规定最晚完成时间和实际执行过程中的允许最晚完成时间,确定任务执行的优先级;
[0051]
针对当前应用环境确定强化学习的三要素:状态、动作和奖励;
[0052]
基于物联网设备、边缘服务器和远程服务器的资源状态,要执行的任务状态和优先队列状态,采用dqn网络,结合物联网设备、边缘服务器和远程服务器的资源情况以及物联网设备产生应用的实时信息,得到当前状态下各种动作与每种动作对应的奖励,直到dqn网络收敛,得到最优的任务执行和资源分配策略。
[0053]
具体的,如图2所示:本发明考虑的多接入边缘计算系统包括若干个物联网设备、若干个边缘服务器和一个远程云服务器。物联网设备可以选择任务在物联网设备本地执行或将任务上传至边缘服务器或远程服务器来执行。注意:每个服务器的服务范围是有限的,每个任务都只能选择它范围内的边缘服务器作为接入点,在该接入点上执行或由该接入点上传至远程服务器执行。
[0054]
图1为本发明所述方法的流程图。包括如下步骤:
[0055]
step1:系统初始化,获取物联网设备、边缘服务器和远程服务器的资源情况,以及物联网设备产生应用的实时信息,具体如下:
[0056]
物联网设备和边缘服务器的计算和存储资源都是有限的且物联网设备只能将任务卸载到可选的边缘服务器上,我们定义物联网设备n可选的边缘服务器集合为m(n)。远程服务器的计算和存储资源远远超过边缘服务器。我们将时间t划分为多个时隙t∈t={1,2,
……
,t},每个时隙的持续时间都等于τ。每个物联网设备不断产生各种各样的应用。应用生成被认为λ={0,1},其中λ=1表示有一个应用生成,否则,在这个时隙没有任务生成。同一物联网设备的任务存在依赖关系,即任务的前绪任务完成之后才能开始执行。不同物联网设备的任务相互独立。在每个物联网设备中,一些任务可以在本地设备执行,而另一些任务在同一时期可以通过无线电传输到边缘服务器执行或由边缘服务器上传到远程服务器执行。关于物联网设备产生应用的实时信息,对于物联网设备n在时隙t产生的应用的第q个任务可表示为x
tnq
={l
tnqp
,l
tnqin
,b
tnq
,l
tnqout
,d
tnq
}。这里,l
tnqp
是任务预处理前的大小,l
tnqin
表示任务x
tnq
的输入数据大小,即任务x
tnq
卸载计算时需要从物联网设备n传输到边缘服务器的工作量,包括输入参数,程序代码等。b
tnq
表示任务x
tnq
的计算复杂度,即执行任务x
tnq
所需的计算资源。假设任务无论是在物联网设备本地执行还是卸载到边缘服务器或远程服务器执行,b
tnq
保持不变。l
tnqout
表示任务x
tnq
的输出数据大小,即任务x
tnq
从边缘服务器或远程服务器执行完成后,从边缘服务器或远程服务器返回物联网设备n的工作量。d
tnq
表示任务x
tnq
的最大可容忍延迟,即任务x
tnq
的执行延时不能超过d
tnq
,这将是本实施例研究问题的重要约束之一。本实施例假设任务是不可分割的,即每个任务只能在一个设备上执行。
[0057]
step2:根据组成各个应用的任务的规定最晚完成时间和实际执行过程中的允许最晚完成时间,确定任务执行的优先级。具体过程如下:
[0058]
我们假设任务x
tnq
的初始规定完成时间是sct
tnq
,随着其前任任务的执行,可得任务x
tnq
的最新可接受完成时间act
tnq
和开始时间ast
tnq
。任务最新可接受开始时间越小,说明该任务越紧急,需要更早的被执行,优先级也就越高。定义sts
tnq
是任务x
tnq
的后继任务集合,act
tni
为任务x
tni
∈sts
tnq
的最新可接受完成时间,etx
tni
为任务x
tni
在设备x上的执行时间。如果x
tnw
为应用x
tn
(物联网设备n在时隙t产生的应用)的最后一个任务时,act
tnw
等于sct
tnw
,即完成时间约束。对于任务x
tnq
我们可以从它的下一个任务x
tni
反向计算其最新的可接受完成时间,即
[0059][0060]
因此,任务x
tnq
的最新可接受开始时间为
[0061][0062]
根据公式(1)和(2),我们可以得到所有任务的最新可接受开始时间,然后按任务优先级顺序将所有任务放置在优先队列中。
[0063]
step3:确定强化学习的三要素:状态、动作和奖励函数。关于本实施例强化学习的状态要素定义如下:
[0064]
在我们的工作中,状态空间的定义包括任务、设备及队列三个部分的信息。任务的状态信息由任务的预处理前的大小、输入数据大小、计算复杂度、输出数据大小、最大可容忍延迟及最新可接受完成时间组成。设备的状态信息由本地设备、边缘服务器及远程服务器的计算资源分配组成。队列的状态信息是优先队列的信息。决策点k处的状态空间sa
k
可表示为:
[0065][0066]
其中,m表示设备的数量,eq
km
表示在第k个决策时期第m个设备的计算资源情况。sa
kes
表示所有设备的计算资源分配状态,sa
kts
为要处理的任务状态信息,sa
kqs
为优先级队列信息。sa
k
的每个部分详述如下。
[0067]
计算资源分配sa
kes
是一个m
×
n
c
的矩阵,n
c
是所有设备中的最大资源数。sa
kes
的每一行表示一个设备的计算资源。sa
kes
定义的每个元素都表示一个决策时期的计算单位,是资源分配的最小单位。对于某计算单元cr
iτ,ic,k
,表示在决策时期k第iτ个设备的第ic个计算资源的分配状态,其中iτ∈{1,2,

,m},ic∈{1,2,

,n
c
}。
[0068]
计算单元cr
iτ,ic,k
的可能取值为{

1,0,1}中的一个,分别表示3种不同的状态,如下所示:
[0069]
·
不可用(cr
iτ,ic,k


1):对于每个设备并不是所有的计算资源的都用来处理任务,还需要预留一部分供自身使用。cr
iτ,ic,k


1表示该计算资源为预留资源不能分配给任何任务使用。
[0070]
·
可用(cr
iτ,ic,k
=0):表示该计算单元为分配给任务执行的计算资源,且没有分配给任务。
[0071]
·
分配(cr
iτ,ic,k
=1):表示该计算单元为分配给任务执行的计算资源,但已经分配给任务,在决策时期k是不可用的。
[0072]
最初,设备分配给任务的计算资源都处于可用状态。当有任务开始执行时,某设备按需将计算资源分配给该任务。分配后,对于分配的计算单元的状态将由0变为1。
[0073]
sa
kts
为在决策时期k要处理的任务状态信息,包括该任务预处理前的大小、输入数据大小、计算复杂度、输出数据大小、最大可容忍延迟及最新可接受完成时间。sa
kqs
为决策时期k的队列信息。其大小等于权利要求书3排序后的优先队列大小,因此sa
kqs
是一个n*q*
t*1的行向量。n是物联网设备的数量,q是每个物联网每个时隙产生应用包含的任务数,t是时间。sa
kqs
中的每个元素与优先队列中的每个任务一一对应。初始时将sa
kqs
中的每个元素都被置于1,当优先队列中有任务被分配时,则将sa
kqs
中该任务对应的元素置于0。
[0074]
关于本实施例强化学习的动作要素定义如下:
[0075]
动作ac由以下2个部分组成:
[0076]
·
ac1:指定如何调度优先队列中的任务。对于决策时期k任务的选取,我们遵循以下规则:首先,从没有执行的任务中挑选优先级最高的任务,同时我们可以知道该任务属于哪个物联网设备的哪个应用。其次,我们判断该任务是否有未执行的前任任务。如果有,我们将跳过该任务,并按同样的方法判断优先级次之的任务,直至找到可执行的任务或将所有任务查看完毕;否则,执行该任务,并将sa
kqs
中对应该任务的元素置为0。
[0077]
·
ac2:动作ac2由2个部分组成。一个是当动作ac1挑选出要执行的任务x
tnq
时,需要决定任务x
tnq
在哪个设备上执行,即执行决策{1,2,

,m}。另一个动作是指定该设备将分配给该任务多少计算资源,即计算资源分配{1,2,

,n
c
}。将执行决策和计算资源分配的一些可能取值组合起来即可得到ac2={1,2,

,m,1,2,

,n
c
}。
[0078]
动作ac2可以进一步记为:
[0079][0080]
其中,对于动作a∈ac2,我们用元组表示。(iτ,ic,it)表示将iτ个设备的第ic个计算资源从当前时刻开始持续it时间分配给任务x
tnq
。换句话说,(iτ,ic,it)也就是在sa
kes
中找到可用的计算资源来放置任务x
tnq
。但是,由于任务最大可容忍延迟等的限制,并不是ac2中所有动作都是有效的。因此对于任务x
tnq
,只有一部分动作是有效的。为减小动作空间的大小,我们在进行学习之前,先过滤掉无效的动作。对于任务x
tnq
,如果t
tnqp
t
tnql
>d
tnq
,则任务x
tnq
在本地设备上执行是无效的。且分配的计算资源应该大于
[0081]
关于本实施例强化学习的奖励要素定义如下:
[0082]
对于每个步骤,agent在状态s∈sa
k
执行动作a∈ac后,将获得奖励r(s,a)并进入下一状态s’。在我们的工作中,将奖励函数设计成和优化目标一致。实施例的优化目标是通过共同优化每个物联网设备n的计算卸载决策、物联网设备的cpu频率和边缘服务器的计算资源,找到一种最优的任务执行策略,以使长期的执行时延和能耗的总成本最小。通过在每个决策时期将目标函数解耦成小块,奖励r(s,a)定义为:
[0083][0084]
由于在短期内在状态s执行动作a获得的奖励越大,则该决策越好,即dqn的目标函数是获得最大奖励,因此奖励值应该与目标函数成负相关。
[0085]
根据公式(5),我们可以进一步获得回报。回报定义为长期内每个决策时期获得的累计奖励和。决策时期k的回报r(k)定义为:
[0086][0087]
其中,0<γ≤1是折扣因子,当γ趋于0的时候表示当前时刻的回报值是主要因素,受未来的影响小,当γ趋于1的时候表示未来时刻的回报值的影响变大,和当前时刻的回报值同等重要。s(k),a(k)分别表示在第k个决策时期的状态和动作。因此最大化期望回报e[(r(k)]等同于优化目标函数。
[0088]
本实施例的优化目标具体如下:
[0089]
在本实施例中,将我们研究多依赖任务卸载模型规划成一个混合整数非线性规划问题。通过共同优化每个物联网设备n的计算卸载决策x
tnqz
、物联网设备的cpu频率,边缘服务器和远程服务器的计算资源,我们的优化目标是找到一种最优的任务执行策略,以使物联网设备的执行时延和能耗的总成本最小。优化问题表述为:
[0090][0091]
其中,二进制变量x
tnqz
表示在时隙t物联网设备n产生的应用的任务q的计算卸载决策。在决策变量x
tnqz
中z的取值为集合{1,2,3}中的一个,z=1表示任务在本地设备上执行,z=2表示任务卸载到边缘服务器上执行,z=3表示任务由边缘服务器卸载到远程服务器执行。约束c1确保在任意时隙t,分配给卸载到边缘服务器j的所有任务的总带宽不能超过边缘云j的总带宽w
jmax
;约束c2确保无论选择哪种计算方式,任务的执行延迟不超过任务的最大可容忍的延迟;约束c3和c4分别是物联网设备的cpu频率和边缘服务器的计算资源约束。
[0092]
本实施例在提出优化目标时,考虑了任务预处理和后续任务执行两个部分。关于任务预处理具体如下:
[0093]
在真实世界中,为降低存储、传输、计算等的资源,任务执行之前通常需要进行预处理(如压缩)。但任务预处理需要消耗物联网设备的信息处理资源,因此,任务预处理的时间成本和能耗成本主要取决于物联网设备的cpu频率。定义在任务x
tnq
预处理的时延和能耗分别是t
tnqp
和e
tnqp
。物联网设备的计算能力为f
tn
∈f
tn
,(i.e.,cpu周期每秒)且f
tn
={f
tn1
,...,f
tnmax
},因此,任务x
tnq
预处理的时延可以定义为:
[0094]
[0095]
物联网设备n在时隙t预处理的功耗可以分成两部分,p
tnqp
=p
leak
p
tnqdynamic
。其中,p
leak
是独立的,与cpu的频率没有关系,我们将它定义为一个常数ε;p
tnqdynamic
与v
tn2
f
tn
成正比,指的是在f
tn
逻辑门切换所消耗的功率,其中v
tn
是在时隙t物联网设备n的cpu供电电压。由于dvfs为节省能耗的目的,更高f
tn
的由更大的v
tn
提供,且v
tn

(α1f
tn
α2);α1,α2≥0。因此,任务x
tnq
预处理的能耗可以定义为:
[0096][0097]
根据(8)和(9),可得任务预处理的成本为:
[0098][0099]
其中,i
tnq1
和i
tnq2
分别表示任务x
tnq
的执行时延和能耗的权重系数,满足0≤i
tnq1
≤1,0≤i
tnq2
≤1,且每个任务的权重系数可能不同。
[0100]
本实施例关于后续任务执行的过程具体如下:
[0101]
任务预处理后可以继续在物联网设备上执行任务,也可以将任务卸载到边缘服务器或远程服务器上执行。任务执行时延和物联网设备能耗是边缘计算网络中物联网设备考虑的两个关键问题,它们取决于采用的任务卸载决策和计算资源分配。因此,下面介绍了3种执行策略下的任务执行时延和物联网设备能耗。
[0102]
1)本地计算模型
[0103]
如果任务x
tnq
选择在物联网设备本地执行,则仅包括任务x
tnq
的执行时延t
tnql
,定义为:
[0104][0105]
由于任务x
tnq
只有在它的所有前任任务完成之后才能执行它,即任务x
tnq
在本地设备的就绪时间为:
[0106][0107]
其中,prex
tnq
表示任务x
tnq
的前任任务集合;ft
tnil
、ft
tnie
和ft
tnic
分别表示任务x
tni
的本地计算完成时间,边缘服务器执行完成时间和远程服务器执行完成时间。注意任务在边缘或远程服务器执行时,只有当任务执行结果返回本地设备后才称一个任务执行完成。如果任务x
tni
本地执行,则rt
tnql
≥ft
tnil
,因为任务x
tnq
只有当任务x
tni
执行完成后才能执行。如果任务x
tnq
卸载到边缘服务器或远程服务器计算,则rt
tnql
≥ft
tnie
或ft
tnic
,因为任务x
tnq
必须等待直到任务x
tni
的执行结果本地可得。
[0108]
因此,任务x
tnq
本地计算的完成时间为
[0109][0110]
任务x
tnq
的本地计算的能量消耗为
[0111][0112]
其中v
tn
表示每个cpu周期的能耗。我们设计v
tn
=10

27
(f
tn
)2。
[0113]
根据(11)、(12)、(13)、(14)可得任务本地计算的总成本为:
[0114][0115]
2)边缘计算模型
[0116]
如果任务x
tnq
选择卸载到边缘服务器执行,则包括任务x
tnq
通过无线信道传输到边缘云服务器的时间t
tnqeu
,任务x
tnq
在边缘云服务器上的执行时间t
tnqe
,任务x
tnq
的执行结果返回物联网设备的时间t
tnqed

[0117]
只有当任务x
tnq
的前序任务已经完成且结果已经传回本地设备时才能将任务x
tnq
卸载到边缘服务器。因此,任务x
tnq
的就绪时间为:
[0118][0119]
当本地设备n到边缘服务器的信道可用时,才可以将任务x
tnq
发送到边缘服务器,则任务x
tnq
的可发送时间为:
[0120][0121]
其中,av
nj
表示物联网设备n到边缘服务器j的信道可用时间,且j∈m(n)。
[0122]
在本实施例中,我们使用tcp作为传输层协议用于任务传输,则传输延迟与物联网设备的cpu频率有关。这是因为tcp需要大量的cpu容量来避免重传请求,传输拥挤等。如果cpu频率过低,则cpu容量可能不足以处理tcp任务,从而降低tcp的吞吐量。此外,任务x
tnq
的无线传输速率r
tnq
还是任务x
tnq
从它接入的边缘服务器j获得的带宽w
tnqj
的函数。因此,r
tnq
是w
tnqj
和物联网设备cpu频率f
tn
的函数,即r
tnq
(w
tnqj
,f
tn
)。在实施例中,我们定义
[0123][0124]
其中,r
tnmax
(w
tnqj
)是网络吞吐量,仅与带宽有关;r
tn*
(f
tn
)表示物联网设备的cpu频率对tcp传输的影响。
[0125]
则任务x
tnq
从本地设备发送到边缘服务器的时间为:
[0126][0127]
传输能耗为:
[0128][0129]
其中,p
tnqu
是任务x
tnq
的平均传输功率。
[0130]
定义f
tnqj
(j≠0)为边缘服务器j为任务q分配的计算资源(即每秒cpu周期),则任务x
tnq
在边缘云服务器j的执行时间为:
[0131][0132]
注:定义f
j
是边缘云服务器j分配给任务处理的全部资源,我们假设在每个时隙,每个边缘服务器预留给任务处理的资源是相同的。那么如果任务x
tnq
在时隙t在边缘服务器j上处理,那么需满足在时隙t在边缘服务器j执行任务的总计算资源不能超过f
j
,即:
[0133]
[0134]
当任务在本地设备等待发送和任务在边缘服务器执行时,我们假设物联网设备保持空闲,定义物联网设备空闲时间的功率为p
tnqbs
,相应的能量消耗为:
[0135][0136]
任务x
tnq
在边缘服务器执行完成后,返回物联网设备的传输时间可以表示为:
[0137][0138]
其中,r
tnqd
为本地物联网设备n的数据下载速率。由于任务的结果大小远远小于任务大小且下载的数据速率很高,所以在本实施例中该部分物联网设备的能量消耗忽略了。
[0139]
因此,任务x
tnq
在边缘服务器上执行完成并返回本地设备的时间为:
[0140][0141]
相应的能量消耗为:
[0142][0143]
根据以上分析,可得物联网设备边缘计算模型的成本为:
[0144][0145]
2)远程服务器计算模型
[0146]
如果任务x
tnq
选择卸载到远程服务器执行,则任务x
tnq
先由本地设备卸载到一个邻近的边缘服务器,再由该边缘服务器卸载到远程服务器。任务x
tnq
在远程服务器执行后,执行结果在经边缘服务器传回本地设备,任务x
tnq
完成。我们假设v
e,c
是边缘服务器和远程服务器之间的传输速率,f
tnqc
是远程服务器的计算能力。因此该过程包括任务x
tnq
由本地设备卸载到边缘服务器的时间t
tnqcu
=l
intnq
/r
tnq
(w
tnqj
,f
tn
),任务x
tnq
由边缘服务器经电缆传输到远程服务器的时间t
tnqcu’=l
intnq
/v
e,c
,任务x
tnq
在远程服务器上的执行时间t
tnqc
=b
tnq
/f
tnqc
。任务x
tnq
的执行结果由远程服务器传回边缘云服务器的时间t
tnqcd
=l
tnqout
/v
e,c
,再由边缘云服务器传回本地设备的时间t
tnqcd’=l
tnqout
/r
tnqd

[0147]
其中,任务x
tnq
在本地设备的最早就绪时间、任务x
tnq
的最早可由物联网设备发往边缘服务器的时间与第二种计算模型相同,即rt
tnqcl
=rt
tnqel
;rt
tnqcs
=rt
tnqes

[0148]
任务x
tnq
最早到达边缘服务器的时间是:
[0149][0150]
任务x
tnq
由边缘服务器发送到远程服务器c的最早可发送时间为:
[0151][0152]
其中,av
ec
表示由边缘服务器到远程服务器c的信道最早可用时间。
[0153]
因此,任务x
tnq
在远程服务器上执行完成并返回本地设备的时间为:
[0154][0155]
能量消耗包括任务传输时本地设备的传输能量消耗和其他部分本地设备空闲时的能量消耗。同样的,由于任务的结果大小远远小于任务大小且下载的数据速率很高,所以在最后部分物联网设备的能量消耗我们也忽略了。因此能量消耗可定义为:
[0156][0157]
根据以上分析,可得物联网设备远程计算模型的成本为:
[0158][0159]
step4:将物联网设备、边缘服务器和远程服务器的资源状态,要执行的任务状态和优先队列状态作为dqn的输入,通过dqn网络选择下一个要执行的任务并获得相应的奖励。具体如下:
[0160]
在每次决策时,agent采用ε贪婪算法做出决策。即选择随机动作和贪婪动作的概率分别为ε和1

ε,其中ε
min
<ε<1。且在dqn中采用经验回放机制,即用一个容量大小为nm的replay memory来存储经历过的数据(s,a,r(s,a),s’),每次更新参数的时候从replay memory中抽取minibath的数据来用于更新,以此来打破数据间的关联。在实施例中,为保持同一应用任务之间的依赖关系,我们从replay memory中随机抽取minibath个物联网设备用于更新。由于状态s的每一部分都有不同的取值范围,如计算资源被视为一个单通道图像,对于其中的每个计算单元cr
iτ,ic,k
的取值范围为(10,40),而任务的计算复杂度取值范围为(1,3)。因此在状态s输入之前,先对各部分做归一化处理方法为:
[0161][0162]
其中,max和min分别是该样本数据的最大值和最小值。x是当前需要更改的值,x*是更改后的值。归一化后,状态s的所有取值位于(0,1)之间。将状态s所有部分按行重新排列成一维列向量。然后将其发送到dqn的输入层,输入层具有(6*nt*m
×
n
c
)个神经元,其中nt表示总的任务数量。接着通过2个隐藏层。第一个隐藏层大小为128个神经元,第二个隐藏层大小为64个神经元。最后通过一个与具有总动作空间|ac|大小相同的神经元的全连接层作为输出层,并且每个神经元的输出都对应于a∈ac的动作价值函数。
[0163]
实施例二
[0164]
本实施例提供了一种多接入边缘计算联合任务卸载和资源分配的系统。
[0165]
多接入边缘计算联合任务卸载和资源分配的系统,包括:
[0166]
优先级排列模块,其被配置为:根据组成各个应用的任务的规定最晚完成时间和实际执行过程中的允许最晚完成时间,确定任务执行的优先级;
[0167]
要素确定模块,其被配置为:针对当前应用环境确定强化学习的三要素:状态、动作和奖励;
[0168]
最优决策获得模块,其被配置为:基于物联网设备、边缘服务器和远程服务器的资源状态,要执行的任务状态和优先队列状态,采用dqn网络,结合物联网设备、边缘服务器和远程服务器的资源情况以及物联网设备产生应用的实时信息,得到当前状态下各种动作与每种动作对应的奖励,直到dqn网络收敛,得到最优的任务执行和资源分配策略。
[0169]
此处需要说明的是,上述优先级排列模块、要素确定模块和最优决策获得模块与实施例一所述步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。
需要说明的是,上述模块作为系统的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
[0170]
实施例三
[0171]
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例一所述的多接入边缘计算联合任务卸载和资源分配的方法中的步骤。
[0172]
实施例四
[0173]
本实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述实施例一所述的多接入边缘计算联合任务卸载和资源分配的方法中的步骤。
[0174]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0175]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0176]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0177]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0178]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read

only memory,rom)或随机存储记忆体(random accessmemory,ram)等。
[0179]
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献