一种多用户接入的智能边缘计算系统中的任务卸载方法

文档序号:32052884发布日期:2022-11-04 19:12阅读:133来源:国知局
一种多用户接入的智能边缘计算系统中的任务卸载方法

1.本发明涉及工业物联网技术领域,具体涉及一种多用户接入的智能边缘计算系统中的任务卸载方法。


背景技术:

2.随着联网的智能物联设备的增多和计算任务复杂度的提高,终端网络产生了海量的感知数据和计算数据。接入计算网络的大量业务以及产生的数据给网络带宽和计算中心的计算能力带来了巨大压力。传统云计算模式将收集到的感知数据全部传输至云中心处理,可能造成响应延迟高、传输能耗高和隐私泄露等问题。同时物联网上行速率具有时延敏感的特性,对于任务的配合完成有较高的时延约束。因此,边缘计算技术将部分任务卸载到边缘端,降低通信传输时延,避免隐私泄露,以缩短通信链路处理时间的思路降低任务计算时间。
3.在边缘计算领域,计算卸载是一项重要技术。由于终端设备的计算能力有限,终端设备通常无法独立完成所有任务,因此需要将任务卸载到边缘计算服务器或云服务器通过更丰富的计算资源完成任务。将任务全部卸载到一个服务节点,通常会造成该服务节点拥塞,形成很长的等待队列,并且浪费了其他节点的计算资源。而随机地将任务进行卸载会在通信过程中形成较高的传输时延,不利于控制任务完成的整体时延。因此计算卸载通过制定合理的任务卸载决策,综合分析节点以及任务等情况,完成任务是否进行卸载,以及目标任务卸载到合适节点的决策。
4.现有技术中,通常获取多边缘服务器多移动终端场景下的数据总集合,然后以终端能量消耗最小为目标结合网络中的设备计算能力进行决策。然后,采用马尔可夫决策过程进行建模,将每种策略的优劣都转化为最终汇报数据大小,从而给出最优策略。但是,一方面该方法仅以缩小能耗为目标进行,忽略了工业物联网中产生的一些时延敏感型任务;另一方面,该方法利用马尔可夫过程进行建模,忽视了决策过程产生的持续时间对建模过程的影响。


技术实现要素:

5.本发明的目的就在于解决上述背景技术的问题,而提出一种多用户接入的智能边缘计算系统中的任务卸载方法。
6.本发明的目的可以通过以下技术方案实现:
7.本发明实施例第一方面,首先提供了一种多用户接入的智能边缘计算系统的任务卸载方法,应用于终端节点,所述方法包括:
8.获取所述终端节点连接的传感器采集的数据生成待计算的原始任务,判断所述原始任务是否满足本地卸载条件;
9.若所述原始任务满足本地卸载条件,将所述原始任务进行分割并排序整合为包含多个子任务的线性任务队列;
10.针对每一子任务的任务复杂度和预计完成时延判断该子任务的任务类型;所述任务类型包括时延敏感型、计算复杂型和终端任务型;所述终端任务型表示该子任务的任务复杂度小于预设的任务复杂度阈值,且该子任务的预计完成时延小于预设的时延敏感阈值;所述计算复杂型表示该子任务的任务复杂度不小于预设的任务复杂度阈值;所述时延敏感型表示该子任务的任务复杂度小于预设的任务复杂度阈值,且该子任务的预计完成时延不小于预设的时延敏感阈值;
11.针对每一子任务,若该子任务为所述终端任务型,则处理该子任务;若该子任务为所述计算复杂型,则将该子任务卸载到云服务器节点,以使所述云服务器节点处理该子任务;若该子任务为所述时延敏感型,则将该子任务卸载到边缘服务器节点,以使边缘服务器节点对该子任务进行决策过程建模得到该子任务的最优卸载决策,使得处理该子任务的能耗和时延联合优化的整体收益达到最大,处理该子任务,或者将该子任务卸载到云服务器节点以使所述云服务器节点处理该子任务。
12.可选地,在将所述原始任务进行分割并排序整合为包含多个子任务的线性任务队列之前,所述方法还包括:
13.计算所述原始任务的实际开始时间ast(j):
14.ast(j)=max{avail{0∪[k]},max(aft(j')+c
jj'
)}
[0015]
其中,avail{0∪[k]}表示所述终端节点或所述云服务器节点k最早准备执行时间,j'表示所有所述原始任务的前置任务,c
jj'
表示j'和j任务结果的调度时间;
[0016]
前置任务j'的实际结束时间aft(j'):
[0017]
aft(j')=min{d
p
(j')+ast(j')}
[0018]
其中,d
p
(j')是前置任务执行时间;
[0019]
从所有关联的前置任务结果迭代出当前任务结束时间,分别计算所述原始任务在所述云服务器节点的实际完成时间aft
sever
(j)和在所述终端节点的实际完成时间aft
local
(j);
[0020]
判断所述原始任务是否满足本地卸载条件,若aft
sever
(j)≤aft
local
(j),所述原始任务不满足本地卸载条件,则将所述原始任务卸载到所述云服务器节点,以使所述云服务器节点处理所述原始任务,否则,所述原始任务满足本地卸载条件。
[0021]
可选地,若所述原始任务满足本地卸载条件,将所述原始任务进行分割并排序整合为包含多个子任务的线性任务队列,所述方法包括:
[0022]
对所述原始任务整体根据任务的继承性和并行性进行拓扑结构分割;任务的继承性表示后置任务的进行依赖于前置任务的完成;任务的并行性表示两个任务的进行不存在逻辑上的依赖关系;
[0023]
求解使所述原始任务完成时间达到最小的目标任务:
[0024][0025]
其中,a(s)表示在状态s时所采取动作,n为系统任务总量;
[0026]
选取最小的处理时间任务作为优先级队列最开始的执行任务,将任务分割且排列为线性队列时,后置任务的优先级一定低于前置任务;
[0027]
设计子任务优先级排序算法,将子任务整合为线性的待处理任务队列:
[0028]
计算子任务j优先级:
[0029]
rank(j)=d
t
(j)+max(rm+rank(j'))
[0030]
其中,d
t
(j)是子任务j的处理时间,rm是所有前置任务的处理时间,rank(j')是与子任务j有继承性关系的前置任务的处理时间;
[0031]
对所有子任务按照优先级大小进行降序排序,得到线性任务队列。
[0032]
可选地,所述边缘服务器节点和所述终端节点统称为边缘侧;
[0033]
针对每一子任务的任务复杂度和预计完成时延判断该子任务的任务类型,包括:
[0034]
根据所述边缘侧的计算资源和计算能力,结合不同复杂度任务的执行情况,确定所述边缘侧能够承受的综合复杂度上限为α
max

[0035]
根据每一子任务的时间和算法复杂度,确定任务i的综合复杂度为αi;
[0036]
根据每一子任务的时延约束需求,确定该子任务的时延阈值t
max

[0037]
计算每一子任务的完成时间t
ij

[0038]
根据α
max
、αi、t
max
和t
ij
之间的关系确定该子任务的任务类型。
[0039]
可选地,计算每一子任务的完成时间t
ij
,包括:
[0040]
计算信道传输功率:
[0041][0042]
其中,g
ij
表示所述终端节点i到所述云服务器节点j的信道增益,b为带宽,n0为白噪声功率,p为发射功率;
[0043]
将每一子任务的完成时间拆分为传输时间和计算时间
[0044]
计算该子任务的传输时间
[0045][0046]
其中,mi表示需要传输的数据总量;
[0047]
计算该任务的计算时间
[0048][0049]
其中,ci表示处理每个子任务所需的cpu周期数,f
ij
表示服务器分配给该子任务的计算资源,
[0050]
计算总的任务完成时间:
[0051][0052]
本发明实施例第二方面,还提供了一种多用户接入的智能边缘计算系统的任务卸载方法,应用于边缘服务器节点,所述方法包括:
[0053]
接收终端节点发送的目标子任务;所述目标子任务为所述终端节点的线性任务队列中,根据每一子任务的任务复杂度和预计完成时延确定的任务类型为时延敏感型的子任
务;所述终端节点的线性任务队列,为所述终端节点将满足本地卸载条件的原始任务进行分割并排序整合得到的包含多个子任务的任务队列;所述原始任务为所述终端节点连接的传感器采集的任务;所述任务类型包括时延敏感型、计算复杂型和终端任务型;所述终端任务型表示该子任务的任务复杂度小于预设的任务复杂度阈值,且该子任务的预计完成时延小于预设的时延敏感阈值;所述计算复杂型表示该子任务的任务复杂度不小于预设的任务复杂度阈值;所述时延敏感型表示该子任务的任务复杂度小于预设的任务复杂度阈值,且该子任务的预计完成时延不小于预设的时延敏感阈值;
[0054]
对所述目标子任务进行决策过程建模得到所述目标子任务的最优卸载决策,使得处理所述目标子任务的能耗和时延联合优化的整体收益达到最大;
[0055]
根据所述最优卸载决策处理所述目标子任务,或者将所述目标子任务卸载到云服务器节点以使所述云服务器节点处理所述目标子任务。
[0056]
可选地,对所述目标子任务进行决策过程建模得到所述目标子任务的最优卸载决策,包括:
[0057]
利用半马尔可夫过程smdp对所述目标子任务卸载过程进行决策建模;
[0058]
采用参考奖励模型对卸载行为进行评估;
[0059]
利用迭代算法求得最大化smdp建模过程的长期回报,获得系统的最大收益,得到所述目标子任务的最优卸载决策。
[0060]
可选地,利用半马尔可夫过程smdp对所述目标子任务卸载过程进行决策建模,包括:
[0061]
根据终端节点到达和离开服务覆盖节点的情况,对所述目标任务到达或离开等待队列的状态空间、行为空间建模:
[0062]
状态空间e建模为:
[0063]
e∈e={ar,dr}
[0064]
其中,ar表示需要r个计算单元的所述目标子任务到达队列,dr表示需要r个计算单元的所述目标子任务处理完成离开队列;
[0065]
对应状态空间e,mec产生分配对应数量计算单元的状态集合s:
[0066]
s={s|s=(r1,r2,...,rm,m,e)}
[0067]
其中,m表示单个mec可分配的最多计算单元数量;状态集合s表示为所述目标子任务分配对应下标数量的计算单元,当s=r0时,所述目标子任务进入等待队列,在等待队列的所述目标子任务来源驶出节点服务范围,所述目标子任务被抛弃;
[0068]
对不同事件状态下,mec边缘计算服务器分配给所述目标子任务一定数量可用计算单元的决策行为空间a(s)建模:
[0069]
a(s)={-1,0,1,2,...,n}
[0070]
其中,a(s)=-1表示服务节点充分,所述目标子任务完成并返回给终端节点;a(s)=0表示节点拒绝用户卸载任务请求,当用户离开时放弃所述目标子任务;a(s)=i表示服务节点根据等待队列分配i个计算单元处理子任务。
[0071]
可选地,采用参考奖励模型对卸载行为进行评估,包括:
[0072]
计算收入k(s,a):
[0073][0074]
其中,k(s,a)表示在状态s的情况下采取行动a带来的收益,来自于为任务卸载模型节省能量和缩短任务处理时延;i表示分配的计算单元个数;e表示处理子任务时消耗的最大能量,由上传的历史最大处理器消耗得来;t表示子任务从终端出发直至返回所用时间;d
p
(i)表示链路传输造成的时延消耗;α和β分别代表对于节省能量和时延的绩效因子;η表示任务到达但仍被分配到等待序列的惩罚因子;θ表示任务已不在服务节点,且等待队列仍有任务等待处理同时有空闲服务单元的惩罚因子;μ表示计算单元的计算效率;p表示卸载到所述边缘服务器节点的概率,δ表示所述边缘服务器节点所消耗能量;
[0075]
计算预期付出成本g(s,a):
[0076]
g(s,a)=c(s,a)τ(s,a)
[0077]
其中,g(s,a)表示在状态s的情况下采取行动a和相应的状态转换期间系统的预期成本;c(s,a)表示节点分配的资源成本,来自于通信产生的消耗,开发者根据任务数据量给定;τ(s,a)表示状态转移的持续事件发生概率,假定持续时间服从指数分布;
[0078]
计算卸载行为报酬r(s,a):
[0079]
r(s,a)=k(s,a)-g(s,a)
[0080]
其中,r(s,a)为在状态s采取行动a时卸载行为获得的报酬。
[0081]
可选地,利用迭代算法求得最大化smdp建模过程的长期回报,获得系统的最大收益,得到所述目标子任务的最优卸载决策,包括:
[0082]
在每一次迭代中,根据贝尔曼方程迭代计算各状态在不同作用下的最大值函数:
[0083][0084]
其中,v(s)表示由状态s'转移到当前状态s最大收益;v(s')为前一次迭代中的初始化值函数;λ为发生任务转移的概率;g(s,a)为成本;p(s'|s,a)为发生任务转移时,从状态s'到状态s的概率;
[0085]
重复迭代,直到每个状态的最大值函数收敛,将迭代次数设置为零,并将每个状态的值函数初始化为零;
[0086]
计算归一化成本和转移概率:
[0087][0088][0089]
其中,将成本归一化为转移概率归一化为y=kλ+krμ;σ(s,a)
表示任务出现概率;
[0090]
结合上面两式,计算归一化后最大增益
[0091][0092]
根据方程计算各态归一化的最大值,在达到预期最大迭代次数k后,计算最后几次迭代状态之间的绝对差值δ:
[0093][0094]
ξ为预设数值,当δ≤ξ时,该方案为最佳方案,最佳方案中的状态集合为最优状态集合,得到所述目标子任务的最优卸载决策;所述最优卸载决策确定了处理所述目标任务的节点。
[0095]
本发明实施例提供了一种多用户接入的智能边缘计算系统的任务卸载方法,应用于终端节点,获取终端节点连接的传感器采集的原始任务,判断原始任务是否满足本地卸载条件;若原始任务满足本地卸载条件,将原始任务进行分割并排序整合为包含多个子任务的线性任务队列;针对每一子任务的任务复杂度和预计完成时延判断该子任务的任务类型;任务类型包括时延敏感型、计算复杂型和终端任务型;终端任务型表示该子任务的任务复杂度小于预设的任务复杂度阈值,且该子任务的预计完成时延小于预设的时延敏感阈值;计算复杂型表示该子任务的任务复杂度不小于预设的任务复杂度阈值;时延敏感型表示该子任务的任务复杂度小于预设的任务复杂度阈值,且该子任务的预计完成时延不小于预设的时延敏感阈值;针对每一子任务,若该子任务为终端任务型,则处理该子任务;若该子任务为计算复杂型,则将该子任务卸载到云服务器节点,以使云服务器节点处理该子任务;若该子任务为时延敏感型,则将该子任务卸载到边缘服务器节点,以使边缘服务器节点对该子任务进行决策过程建模得到该子任务的最优卸载决策,使得处理所述目标子任务的能耗和时延联合优化的整体收益达到最大,处理该子任务,或者将该子任务卸载到云服务器节点以使云服务器节点处理该子任务。
[0096]
通过将终端节点获取的任务分为时延敏感型、计算复杂型和终端任务型,优化了计算卸载过程中由于业务类型不明确产生的节点计算资源不匹配的问题,提高了边缘计算系统的整体处理效率;并将原始任务分割为可以独立执行的子任务,使分割后的任务能够更加灵活地卸载到不同节点,有效降低了由于任务量过大产生的计算和等待时延,降低了任务完成之间的耦合性;边缘服务器节点对任务卸载的过程进行建模,根据任务计算的历史处理数据合理判断任务的卸载决策和卸载位置,有效地缩短了因任务处理等待队列过长产生的计算时延,满足在时延约束的允许下尽可能地减少能量损耗。
附图说明
[0097]
下面结合附图对本发明作进一步的说明。
[0098]
图1为本发明实施例提供的应用于终端节点的一种多用户接入的智能边缘计算系统的任务卸载方法;
[0099]
图2为本发明实施例提供的应用于边缘服务器节点的一种多用户接入的智能边缘计算系统的任务卸载方法;
[0100]
图3为本发明实施例采用的多用户接入的智能边缘计算系统的系统框图。
具体实施方式
[0101]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0102]
本发明实施例提供了一种多用户接入的智能边缘计算系统的任务卸载方法,应用于终端节点。参见图1,图1为本发明实施例提供的应用于终端节点的一种多用户接入的智能边缘计算系统的任务卸载方法,该方法可以包括以下步骤:
[0103]
s101,获取终端节点连接的传感器采集的数据生成待计算的原始任务,判断原始任务是否满足本地卸载条件。
[0104]
s102,若原始任务满足本地卸载条件,将原始任务进行分割并排序整合为包含多个子任务的线性任务队列。
[0105]
s103,针对每一子任务的任务复杂度和预计完成时延判断该子任务的任务类型。
[0106]
s104,针对每一子任务,若该子任务为终端任务型,则处理该子任务;
[0107]
s105,针对每一子任务,若该子任务为计算复杂型,则将该子任务卸载到云服务器节点,以使云服务器节点处理该子任务;
[0108]
s106,针对每一子任务,若该子任务为时延敏感型,则将该子任务卸载到边缘服务器节点,以使边缘服务器节点对该子任务进行决策过程建模得到该子任务的最优卸载决策,使得处理该子任务的能耗和时延联合优化的整体收益达到最大,处理该子任务,或者将该子任务卸载到云服务器节点以使云服务器节点处理该子任务。
[0109]
所述任务类型包括时延敏感型、计算复杂型和终端任务型;所述终端任务型表示该子任务的任务复杂度小于预设的任务复杂度阈值,且该子任务的预计完成时延小于预设的时延敏感阈值;所述计算复杂型表示该子任务的任务复杂度不小于预设的任务复杂度阈值;所述时延敏感型表示该子任务的任务复杂度小于预设的任务复杂度阈值,且该子任务的预计完成时延不小于预设的时延敏感阈值;
[0110]
基于本发明实施例提供的一种多用户接入的智能边缘计算系统的任务卸载方法,通过将终端节点获取的任务分为时延敏感型、计算复杂型和终端任务型,优化了计算卸载过程中由于业务类型不明确产生的节点计算资源不匹配的问题,提高了边缘计算系统的整体处理效率;并将原始任务分割为可以独立执行的子任务,使分割后的任务能够更加灵活地卸载到不同节点,有效降低了由于任务量过大产生的计算和等待时延,降低了任务完成之间的耦合性;边缘服务器节点对任务卸载的过程进行建模,根据任务计算的历史处理数据合理判断任务的卸载决策和卸载位置,有效地缩短了因任务处理等待队列过长产生的计算时延,满足在时延约束的允许下尽可能地减少能量损耗。
[0111]
一种实现方式中,终端节点可以连接有多种传感器,传感器通过软硬件协议接入终端设备。传感器、plc可编程逻辑控制器或单片机模块等通过mqtt协议、modbus协议和opc-ua协议等软硬件协议接入终端设备。
[0112]
一种实现方式中,边缘服务器节点对卸载决策过程进行建模,解决多用户竞争计
算资源的问题,将竞争资源能力较差的子任务卸载到云服务器节点。
[0113]
一种实现方式中,云服务器节点将处理该子任务的相关数据储存到数据库中,同时核算该子任务计算产生的磁盘占用率、节省时延和cpu占用率等指标。
[0114]
在一个实施例中,在步骤s102之前,该方法还包括:
[0115]
步骤一,计算原始任务的实际开始时间ast(j):
[0116]
ast(j)=max{avail{0∪[k]},max(aft(j')+c
jj'
)}
ꢀꢀ
(1)
[0117]
其中,avail{0∪[k]}表示终端节点或云服务器节点k最早准备执行时间,j'表示所有所述原始任务的前置任务,c
jj'
表示j'和j任务结果的调度时间。
[0118]
步骤二,前置任务j'的实际结束时间aft(j'):
[0119]
aft(j')=min{d
p
(j')+ast(j')}
ꢀꢀ
(2)
[0120]
其中,d
p
(j')是前置任务执行时间。
[0121]
步骤三,从所有关联的前置任务结果迭代出当前任务结束时间,分别计算原始任务在云服务器节点的实际完成时间aft
sever
(j)和在终端节点的实际完成时间aft
local
(j)。
[0122]
步骤四,判断原始任务是否满足本地卸载条件,若aft
sever
(j)≤aft
local
(j),原始任务不满足本地卸载条件,则将原始任务卸载到云服务器节点,以使云服务器节点处理原始任务,否则,原始任务满足本地卸载条件。
[0123]
在一个实施例中,步骤s103包括:
[0124]
步骤一,对原始任务整体根据任务的继承性和并行性进行拓扑结构分割;
[0125]
步骤二,求解使原始任务完成时间达到最小的目标任务:
[0126][0127]
其中,a(s)表示在状态s时所采取动作,n为系统任务总量。
[0128]
步骤三,选取最小的处理时间任务作为优先级队列最开始的执行任务,将任务分割且排列为线性队列时,后置任务的优先级一定低于前置任务。
[0129]
步骤四,设计子任务优先级排序算法,将子任务整合为线性的待处理任务队列:
[0130]
计算子任务j优先级:
[0131]
rank(j)=d
t
(j)+max(rm+rank(j'))
ꢀꢀ
(4)
[0132]
其中,d
t
(j)是子任务j的处理时间,rm是所有前置任务的处理时间,rank(j')是与子任务j有继承性关系的前置任务的处理时间。
[0133]
步骤五,对所有子任务按照优先级大小进行降序排序,得到线性任务队列。
[0134]
任务的继承性表示后置任务的进行依赖于前置任务的完成;任务的并行性表示两个任务的进行不存在逻辑上的依赖关系。
[0135]
一种实现方式中,并行的两个任务即使其中一个不执行也不会影响另一个任务的执行。
[0136]
一种实现方式中,子任务优先级排序算法,将整体任务分割为可以独立执行的子任务,并根据并行性和继承性两大因素将分割的任务进行优先级排序,使分割后的任务能够更加灵活地卸载到不同节点,有效降低了由于任务量过大产生的计算和等待时延,降低了任务完成之间的耦合性。
[0137]
在一个实施例中,边缘服务器节点和终端节点统称为边缘侧;
[0138]
步骤s103可以包括以下步骤:
[0139]
步骤一,根据边缘侧的计算资源和计算能力,结合不同复杂度任务的执行情况,确定边缘侧能够承受的综合复杂度上限为α
max

[0140]
步骤二,根据每一子任务的时间和算法复杂度,确定任务i的综合复杂度为αi。
[0141]
步骤三,根据每一子任务的时延约束需求,确定该子任务的时延阈值t
max

[0142]
步骤四,计算每一子任务的完成时间t
ij

[0143]
步骤五,根据α
max
、αi、t
max
和t
ij
之间的关系确定该子任务的任务类型。
[0144]
一种实现方式中,若子任务同时满足αi≤α
max
且t
ij
≤t
max
,则确定该子任务为终端任务型,直接在终端节点处理该子任务;若αi>α
max
,则该子任务为计算复杂型任务,卸载到云计算中心;若αi≤α
max
且t
ij
>t
max
的情况下,则该任务为时延敏感型任务,卸载到边缘服务器节点。
[0145]
在一个实施例中,计算每一子任务的完成时间t
ij
具体包括:
[0146]
步骤一,计算信道传输功率:
[0147][0148]
其中,g
ij
表示终端节点i到云服务器节点j的信道增益,b为带宽,n0为白噪声功率,p为发射功率;
[0149]
步骤二,将每一子任务的完成时间拆分为传输时间和计算时间
[0150]
计算该子任务的传输时间
[0151][0152]
其中,mi表示需要传输的数据总量;
[0153]
步骤三,计算该任务的计算时间
[0154][0155]
其中,ci表示处理每个子任务所需的cpu周期数,f
ij
表示服务器分配给该子任务的计算资源,
[0156]
步骤四,计算总的任务完成时间:
[0157][0158]
基于相同的发明构思,本发明实施例还一种多用户接入的智能边缘计算系统的任务卸载方法,应用于边缘服务器节点。参见图2,图2为本发明实施例提供的应用于边缘服务器节点的一种多用户接入的智能边缘计算系统的任务卸载方法,该方法可以包括以下步骤:
[0159]
s201,接收终端节点发送的目标子任务。
[0160]
s202,对目标子任务进行决策过程建模得到目标子任务的最优卸载决策,使得处理目标子任务的能耗和时延联合优化的整体收益达到最大。
[0161]
s203,根据最优卸载决策处理目标子任务,或者将目标子任务卸载到云服务器节点以使云服务器节点处理目标子任务。
[0162]
目标子任务为终端节点的线性任务队列中,根据每一子任务的任务复杂度和预计完成时延确定的任务类型为时延敏感型的子任务;终端节点的线性任务队列,为终端节点将满足本地卸载条件的原始任务进行分割并排序整合得到的包含多个子任务的任务队列;原始任务为终端节点连接的传感器采集的任务;任务类型包括时延敏感型、计算复杂型和终端任务型;终端任务型表示该子任务的任务复杂度小于预设的任务复杂度阈值,且该子任务的预计完成时延小于预设的时延敏感阈值;计算复杂型表示该子任务的任务复杂度不小于预设的任务复杂度阈值;时延敏感型表示该子任务的任务复杂度小于预设的任务复杂度阈值,且该子任务的预计完成时延不小于预设的时延敏感阈值。
[0163]
基于本发明实施例提供的一种多用户接入的智能边缘计算系统的任务卸载方法,通过将终端节点获取的任务分为时延敏感型、计算复杂型和终端任务型,优化了计算卸载过程中由于业务类型不明确产生的节点计算资源不匹配的问题,提高了边缘计算系统的整体处理效率;并将原始任务分割为可以独立执行的子任务,使分割后的任务能够更加灵活地卸载到不同节点,有效降低了由于任务量过大产生的计算和等待时延,降低了任务完成之间的耦合性;边缘服务器节点对任务卸载的过程进行建模,根据任务计算的历史处理数据合理判断任务的卸载决策和卸载位置,有效地缩短了因任务处理等待队列过长产生的计算时延,满足在时延约束的允许下尽可能地减少能量损耗。
[0164]
一种实现方式中,边缘服务器节点对卸载决策过程进行建模,解决多用户竞争计算资源的问题,将竞争资源能力较差的子任务卸载到云服务器节点。
[0165]
一种实现方式中,终端节点的操作步骤可以参考上述s101-s104的介绍。
[0166]
在一个实施例中,步骤s202中对目标子任务进行决策过程建模得到目标子任务的最优卸载决策,具体包括:
[0167]
步骤一,利用半马尔可夫过程smdp对目标子任务卸载过程进行决策建模。
[0168]
步骤二,采用参考奖励模型对卸载行为进行评估。
[0169]
步骤三,利用迭代算法求得最大化smdp建模过程的长期回报,获得系统的最大收益,得到所述目标子任务的最优卸载决策。
[0170]
在一个实施例中,利用半马尔可夫过程smdp对目标子任务卸载过程进行决策建模,具体包括:
[0171]
步骤一,根据终端节点到达和离开服务覆盖节点的情况,对目标任务到达或离开等待队列的状态空间、行为空间建模:
[0172]
状态空间e建模为:
[0173]
e∈e={ar,dr}
ꢀꢀ
(9)
[0174]
其中,ar表示需要r个计算单元的所述目标子任务到达队列,dr表示需要r个计算单元的所述目标子任务处理完成离开队列。
[0175]
步骤二,对应状态空间e,mec产生分配对应数量计算单元的状态集合s:
[0176]
s={s|s=(r1,r2,...,rm,m,e)}
ꢀꢀ
(10)
[0177]
其中,m表示单个mec可分配的最多计算单元数量;状态集合s表示为所述目标子任务分配对应下标数量的计算单元,当s=r0时,所述目标子任务进入等待队列,在等待队列的所述目标子任务来源驶出节点服务范围,所述目标子任务被抛弃。
[0178]
步骤三,对不同事件状态下,mec边缘计算服务器分配给所述目标子任务一定数量可用计算单元的决策行为空间a(s)建模:
[0179]
a(s)={-1,0,1,2,...,n}
ꢀꢀ
(11)
[0180]
其中,a(s)=-1表示服务节点充分,所述目标子任务完成并返回给终端节点;a(s)=0表示节点拒绝用户卸载任务请求,当用户离开时放弃所述目标子任务;a(s)=i表示服务节点根据等待队列分配i个计算单元处理子任务。
[0181]
在一个实施例中,采用参考奖励模型对卸载行为进行评估,具体包括:
[0182]
步骤一,计算收入k(s,a):
[0183][0184]
其中,k(s,a)表示在状态s的情况下采取行动a带来的收益,来自于为任务卸载模型节省能量和缩短任务处理时延;i表示分配的计算单元个数;e表示处理子任务时消耗的最大能量,由上传的历史最大处理器消耗得来;t表示子任务从终端出发直至返回所用时间;d
p
(i)表示链路传输造成的时延消耗;α和β分别代表对于节省能量和时延的绩效因子;η表示任务到达但仍被分配到等待序列的惩罚因子;θ表示任务已不在服务节点,且等待队列仍有任务等待处理同时有空闲服务单元的惩罚因子;μ表示计算单元的计算效率;p表示卸载到边缘服务器节点的概率,δ表示边缘服务器节点所消耗能量;
[0185]
步骤二,计算预期付出成本g(s,a):
[0186]
g(s,a)=c(s,a)τ(s,a) (13)
[0187]
其中,g(s,a)表示在状态s的情况下采取行动a和相应的状态转换期间系统的预期成本;c(s,a)表示节点分配的资源成本,来自于通信产生的消耗,开发者根据任务数据量给定;τ(s,a)表示状态转移的持续事件发生概率,假定持续时间服从指数分布;
[0188]
步骤三,计算卸载行为报酬r(s,a):
[0189]
r(s,a)=k(s,a)-g(s,a)
ꢀꢀ
(14)
[0190]
其中,r(s,a)为在状态s采取行动a时卸载行为获得的报酬。
[0191]
在一个实施例中,利用迭代算法求得最大化smdp建模过程的长期回报,获得系统的最大收益,得到目标子任务的最优卸载决策,具体包括:
[0192]
步骤一,在每一次迭代中,根据贝尔曼方程迭代计算各状态在不同作用下的最大值函数:
[0193][0194]
其中,v(s)表示由状态s'转移到当前状态s最大收益;v(s')为前一次迭代中的初始化值函数;λ为发生任务转移的概率;g(s,a)为成本;p(s'|s,a)为发生任务转移时,从状
态s'到状态s的概率。
[0195]
步骤二,重复迭代,直到每个状态的最大值函数收敛,将迭代次数设置为零,并将每个状态的值函数初始化为零。
[0196]
步骤三,计算归一化成本和转移概率:
[0197][0198][0199]
其中,将成本归一化为转移概率归一化为y=kλ+krμ;σ(s,a)表示任务出现概率;
[0200]
步骤四,结合上面(16)、(17)两式,计算归一化后最大增益
[0201][0202]
步骤五,根据方程计算各态归一化的最大值,在达到预期最大迭代次数k后,计算最后几次迭代状态之间的绝对差值δ:
[0203][0204]
ξ为预设数值,当δ≤ξ时,该方案为最佳方案,最佳方案中的状态集合为最优状态集合,得到目标子任务的最优卸载决策;最优卸载决策确定了处理目标任务的节点。
[0205]
参照图3,图3为本发明实施例采用的多用户接入的智能边缘计算系统的系统框图。该系统采用三层结构,依次是终端设备层(终端节点)、边缘设备层(边缘计算节点)和云计算中心层(云计算节点)。
[0206]
终端设备层主要是由传感器、移动设备等组成,分布广泛,数量众多,产生大量原始数据,可以是一个完整的物联网传感器设备,也可以是一个单独的芯片或联网的摄像头等。边缘设备层是由计算能力较小的网关和计算能力较好的边缘网关组成。云端服务器是由云端节点(全量节点)、数据中心和可视化运维组成。
[0207]
边缘设备层部署了多有接入系统的终端节点,主要分为数据采集、数据预处理、任务分割和通信模块等,承接了汇集传感器等终端数据以及与服务器通信的功能。边缘设备层包括数据存储、数据处理、决策中转和通信模块等,该部分具备一定的计算和存储能力,可以实现一些终端无法实现且时延要求较严格的任务。云计算中心层主要包括通信模块,数据处理,任务指标计算以及数据存储等,该部分主要进行一些完成难度较大,时延要求相对较宽松的任务。
[0208]
以上对本发明的一个实施例进行了详细说明,但所述内容仅为本发明的较佳实施例,不能被认为用于限定本发明的实施范围。凡依本发明申请范围所作的均等变化与改进等,均应仍归属于本发明的专利涵盖范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1