一种基于强化学习的边缘计算任务卸载方法

文档序号:29123142发布日期:2022-03-04 22:59阅读:173来源:国知局
一种基于强化学习的边缘计算任务卸载方法

1.本发明涉及无线通信技术领域,更具体的说是涉及一种基于强化学习的边缘计算任务卸载方法。


背景技术:

2.随着通信和计算技术的先进发展,具有联网需求的设备在数量上已经十分庞大,设备功能也呈现多样化的特点,如车联网,智能医疗等可预测的物联网应用也在蓬勃发展,其任务的可容忍时延具有非常严格的要求,而且联网设备数量的庞大必然会存在数据流量的爆发,这些都对传统的云计算的集中式计算处理与大规模数据存储提出了严峻的挑战,主要存在以下问题:1)延迟:设备与云计算中心距离较远,对于一些时延敏感型设备就会造成严重影响,例如车联网中,时延可能会对人的生命安全造成严重威胁;2)流量:设备数量的指数型增长必然也会造成流量的增多,通信堵塞,降低用户体验质量;3)安全及能耗:设备传输信息时,需要经过较长路径容易导致数据丢失或者信息泄露等风险;数据中心的高负载导致的高能耗也是云计算的核心问题。
3.上述问题均可由边缘计算加以解决,边缘计算即为将具有一定计算能力、存储能力的计算设备放置在网络边缘,即临近用户侧,为用户提供it服务环境和计算功能,将原本位于云计算中心的服务和功能“下沉”到移动网络的边缘,在移动网络边缘提供计算、存储、网络和通信资源。这样设备就不需要向云计算中心服务器发送请求,很大程度上减少了通信时延。同时,由于可以在用户附近进行数据处理,减少了路由长度,安全性得到了一定的保障,并且能够有效缓解云计算中心主干道路上的拥塞。
4.因此,如何提供一种基于强化学习的边缘计算任务卸载方法是本领域技术人员亟需解决的问题。


技术实现要素:

5.有鉴于此,本发明提供了一种基于强化学习的边缘计算任务卸载方法,用于解决传统云计算中所存在的技术问题。
6.为了实现上述目的,本发明采用如下技术方案:
7.一种基于强化学习的边缘计算任务卸载方法,包括以下步骤:
8.s1.建立边缘计算系统模型,边缘计算系统模型包括:普通用户节点、可租用用户节点、mec服务器节点和sdn总控制器节点,其中,每个sdn总控制器节点下,包括n个泊松分布的普通用户节点n={u1,u2,u3,

,un},可租用用户节点和mec服务器节点作为服务节点共m个,记为k={k1,k2,k3,

,km};
9.s2.普通用户节点产生任务上报至sdn总控制器节点,根据用户任务情况,选择本地计算或卸载计算,在需要进行卸载计算时,通过强化学习方法训练后的sdn总控制器节点根据实时网络状态,频谱资源和计算资源,获得基于边缘节点网络状态的最优卸载策略并反馈至普通用户节点;
10.s3.普通用户节点根据最优卸载策略将任务卸载给服务节点,服务节点执行分配到的计算任务,并将计算结果反馈至普通用户节点。
11.优选的,s2中选择本地计算或卸载计算的具体内容包括:
12.普通用户节点产生的一个任务ri包括:当前任务的数据包大小di,当前任务的最大可容忍时延当前任务计算能力需求αi;
13.根据本地计算能力获取在时隙t时任务计算执行时间具体方法为:
[0014][0015]
若当前任务本地执行所需时间不超过最大可容忍时延则在本地执行,若不是则选择卸载计算。
[0016]
优选的,对sdn总控制器节点进行强化学习训练的内容包括:
[0017]
在每个时隙t,sdn总控制器节点根据当前环境状态s
t
,发布卸载策略进行动作a
t
选择,普通用户节点采取动作a
t
,根据所采取的每个动作a
t
返回一个奖赏值信号r
t+1
和一个新的状态s
t+1
,将新的状态s
t+1
更新当前环境状态s
t
进行循环迭代;
[0018]
针对每个环境状态s
t
和动作a
t
通过q-learning函数计算q值,并根据q值通过bellman最优方程获取最优策略,使总期望回报最大化;
[0019]
其中,环境状态s
t
∈s,s为所有状态的合集,每个环境状态s包括:系统总开销e,当前信道使用情况g,服务节点有效计算资源f;动作a
t
∈a,a为所有动作的合集。
[0020]
优选的,在迭代过程中,通过学习率δ来进行更新q值,q值的更新表达式为:
[0021][0022]
其中,δ(0≤δ≤1)为学习率,表示当前学习的知识对先前学习的知识的影响。
[0023]
优选的,动作选择包括信道选择、功率选择和计算资源选择,表示为通道、功率、计算资源矩阵at=[cg,p,cf]。
[0024]
优选的,产生奖赏值信号的奖赏函数r为规定时隙t内所有任务的计算及传输能耗与可容忍时延满足情况的联合效用值:
[0025][0026]
其中,e
tran
(t),e
comp
(t)表示当前任务的传输能耗以及计算能耗,t
tran
(t),t
comp
(t)分别为当任务卸载执行时,任务传输时间与计算时间,和均为权重系数,p
out
表示当任务实际时延超过可容忍时延时产生的惩罚值。
[0027]
优选的,根据q值通过bellman最优方程获取最优策略的具体方法为:
[0028][0029]
其中,ζ值反映未来收益相对于当前收益的重要性,若ζ趋向于0,倾向于考虑立即的回报;若ζ趋向于1时,则更关注未来的收益;
[0030]
最优策略表示为:
[0031]
优选的,服务节点卸载计算时,首先卸载计算任务,通过无线通信链路将计算任务发送给服务节点;计算任务从用户传输到服务节点的时间为:
[0032][0033]
其中,vm为边缘计算网络的数据传输能力;
[0034]
当数据卸载到服务节点时,将执行数据计算;执行数据计算的时间为:
[0035][0036]
其中,为服务节点的计算数据处理能力;
[0037]
当任务卸载到服务节点进行计算时,任务处理时间为:
[0038][0039]
优选的,普通用户节点将任务卸载给服务器节点进行d2i模式通信,将任务卸载给附近的可租用用户节点进行d2d模式通信,并使d2i模式和d2d模式工作在同一频段;
[0040]
将系统的总频谱分为g个正交子信道,g={1,2,3,

,g},将子信道的带宽设为b hz,假设每个普通用户节点都有一个计算密集型任务要完成,并且每个用户仅被分配一个子通道,子信道的信噪比为:
[0041][0042]
其中,pi表示用户的上行传输功率,表示用户di与服务节点sj进行数据传输时的所使用子信道g的信道增益,n0为高斯白噪声,表示d2i模式通信用户对di的干扰,表示d2d模式通信对di的干扰;
[0043]
当计算任务在服务节点执行时,d2i模式干扰为:
[0044][0045]
其中nc为d2i模式执行计算任务的所有用户节点,φ
x,g
表示子信道g是否被分配给x,φ
x,g
取0或1,φ
x,g
=1时表示g被分配给x;
[0046]
d2d模式干扰为:
[0047][0048]
上行链路传输速率为:
[0049][0050]
经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种基于强化学习的边缘计算任务卸载方法,该方法针对边缘计算网络,基于软件定义网络技术下,由sdn控制器收集网络状态,计算资源,用户任务情况等,无需用户参与决策,以用户任务对时延
的要求和总体能耗为优化目标,并提出可租用用户节点来缓解计算资源紧张的问题的一种计算卸载和资源分配的方法。该方法的优势在于sdn总控制器对于整体网络状态与资源的掌握,回收用户自主决策权力,进行集中控制,以减少对用户设备智能程度的要求,并能够达成在满足用户需求的同时,对整体能耗的优化,而不是某个用户的能耗优化。另外,对于可租用节点的合理利用减少了可用资源的闲置,增加资源的利用率。
附图说明
[0051]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0052]
图1附图为本发明提供的一种基于强化学习的边缘计算任务卸载方法中系统模型示意图;
[0053]
图2附图为本发明提供的一种基于强化学习的边缘计算任务卸载方法中卸载过程示意图;
[0054]
图3附图为本发明提供的一种基于强化学习的边缘计算任务卸载方法中的整体流程示意图。
具体实施方式
[0055]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0056]
本发明实施例公开了一种基于强化学习的边缘计算任务卸载方法,下面将进一步详细对上述方法进行说明:
[0057]
1.构建系统模型框架
[0058]
系统模型构建如图1所示,将边缘计算网络中设备节点主要分为四种:普通用户节点,可租用用户节点,mec服务器节点,软件定义网络(software defined network,sdn)总控制器节点。普通用户节点一定时间内较高概率产生计算密集型任务,计算能力较差,可租用用户节点一定时间内较低概率产生计算任务或具备一定计算能力,愿意将闲置的资源出租给附近用户节点,接受系统卸载的计算任务,并在计算后返回结果,mec服务器节点为固定位置的能够提供存储,计算能力较高的设备,sdn总控制器能够收集实时网络状态,以及用户节点的任务产生情况和服务器节点的使用情况,并应答用户节点的任务申请。由于可租用用户的存在,普通用户节点既可以将任务卸载给服务器节点进行d2i模式通信,也可以将任务卸载给附近的可租用用户进行d2d模式通信。如图1所示:在sdn总控制器范围内,有n个用户泊松分布,n={u1,u2,u3,

,un}。由于可租用用户节点和mec服务器节点都可以提供计算服务,因此将它们统一定义为服务节点,表示为k={k1,k2,k3,

,km}。
[0059]
2.任务模型及卸载过程
[0060]
当用户产生任务时,一个任务将被描述为其中di表示为该
任务的数据包大小,表示为该任务可容忍的最大时延,αi为该任务计算能力需求。服务节点则可被描述为kj=cj,j∈m。cj表示该服务节点的计算能力,具体描述为cpu周期。
[0061]
由于用户节点自身计算能力有限,所以当任务计算需求较大或者对时延敏感,就要借助附近服务节点进行计算,以满足时延要求,计算卸载过程如图2所示。
[0062]
卸载具体步骤描述如下:
[0063]
(1)用户节点向附近无线接入节点(例如rsu和基站)发送卸载请求,接入点将请求转发给sdn控制器。
[0064]
(2)收到卸载请求后,sdn控制器获得基于边缘节点网络状态的最优卸载策略。实时计算资源和卸载的数据容量以及复杂性指标任务,并确定是否卸载用户的任务。如果卸载,将卸载任务分配给哪个服务节点进行处理,通过无线接入点将卸载策略返回给用户节点。
[0065]
(3)服务器节点接收卸载策略后,如果不需要卸载,则用户节点在本地计算。如果需要卸载,则将需要卸载的计算任务上传到接入点,接入点根据卸载决策对卸载任务进行分解,并将其发送到指定的服务节点。
[0066]
(4)服务节点收到分配的计算任务后开始执行。执行结束后,通过接入点将计算结果返回给用户节点。
[0067]
3.传输模型
[0068]
根据上述描述,计算任务可以分为本地执行和服务节点执行,当sdn控制器做决策时需要计算其任务时延,假设计算任务被描述为时,其中di为计算任务的数据量,为该任务可容忍时延,αi为该任务计算能力需求。当进行本地计算时,本地计算能力描述为在时隙t时,该次任务计算执行时间可表述为:
[0069][0070]
服务节点卸载计算时,首先卸载计算任务,通过无线通信链路将计算任务发送给服务节点。计算任务从用户传输到服务节点的时间可以表述为:
[0071][0072]
公式中,vm为边缘计算网络的数据传输能力,当数据卸载到服务节点时,将执行数据计算。假设服务节点的计算数据处理能力为则数据计算的执行时间可表述为:
[0073][0074]
因此,当任务卸载到服务节点进行计算时,任务处理时间可表述为:
[0075][0076]
为合理使用频谱资源,可以复用频谱,让d2i模式和d2d模式工作在同一频段。系统的总频谱分为g个正交子信道,g={1,2,3,

,g},将子信道的带宽设为b hz,假设每个普通用户节点都有一个计算密集型任务要完成,并且每个用户仅被分配一个子通道。而子信道的信噪比可以表述为:
[0077][0078]
其中,pi表示用户的上行传输功率,表示用户di与服务节点sj进行数据传输时的所使用子信道g的信道增益,n0为高斯白噪声,表示d2i模式通信用户对di的干扰,表示d2d模式通信对di的干扰。当计算任务在服务节点执行时,d2i模式干扰如下公式所示:
[0079][0080]
其中nc为d2i模式执行计算任务的所有用户节点,φ
x,g
表示子信道g是否被分配给x,φ
x,g
可取0或1,φ
x,g
=1时表示g被分配给x。
[0081]
同理,d2d模式干扰如下公式所示:
[0082][0083]
综上,上行链路传输速率为
[0084][0085]
4.基于强化学习的通信与计算资源分配
[0086]
强化学习是一种机器学习。在解决顺序决策问题时,智能体使用强化学习来寻找有效的策略。这个策略决定了智能体应该如何在它可能遇到的每个状态中做出最佳选择。与监督学习不同,代理不能确定行为是否正确。相反地,我们使用了一个由价值表示的奖励信号。代理的当前行为不仅会影响它获得的即时奖励,还会影响下一个状态或未来的奖励。
[0087]
sdn控制器能够收集网络状态,计算资源和用户任务情况,因此可以由sdn控制器进行统筹分配资源让用户任务进行卸载,sdn控制器策略选择的最终目标为系统总开销以及任务时延的联合最优策略。
[0088]
在每个时隙t,当前环境状态s
t
∈s,其中s为所有状态的合集,然后采取动作a
t
∈a,a为所有动作的合集,环境会返回一个奖赏值信号r
t+1
和一个新的状态s
t+1
。系统状态的设置分为三个部分,s={e,g,f},其中e表示系统总开销,g为当前信道使用情况,f为服务节点有效计算资源。sdn总控制器的动作选择为信道选择,功率选择,以及计算资源选择,表示为通道、功率、计算资源矩阵at=[cg,p,cf]。其奖赏函数r设置为规定时隙t内所有任务的计算及传输能耗与可容忍时延满足情况的联合效用值,公式如下:
[0089][0090]
其中,e
tran
(t),e
comp
(t)表示当前任务的传输能耗以及计算能耗,
[0091]
t
tran
(t),t
comp
(t)表示当任务卸载执行时,任务传输时间与计算时间,其中和为权重系数,p
out
表示当任务实际时延超过可容忍时延时产生的惩罚值。
[0092]
q-learning使用q函数作为评价函数,并将其定义为状态-行为值函数,并使用bellman最优方程给出最优策略,使总期望回报最大化。
[0093][0094]
其中,ζ值反映了未来收益相对于当前收益的重要性。如果ζ趋向于0,倾向于考虑立即的回报;当ζ趋向于1时,则更关注未来的收益。
[0095]
最优策略表示为:
[0096]
根据实施场景中,用户数与服务器数量合理设置迭代次数,在迭代过程中,q值需要更新,但不能遍历所有的状态动作对。因此,我们使用学习率δ来操作有限的样本。那么q值的更新表达式可以表示为:
[0097][0098]
其中,δ(0≤δ≤1)为学习率,表示当前学习的知识对先前学习的知识的影响。
[0099]
通过迭代学习,sdn控制器将在一段时间后,基于当前网络状态,衡量计算资源以及用户任务情况等采取较优的计算卸载方法。
[0100]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0101]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1