物联网边缘任务卸载方法及装置与流程

文档序号:26185688发布日期:2021-08-06 18:36阅读:293来源:国知局
物联网边缘任务卸载方法及装置与流程

本发明涉及网络资源分配技术领域,尤其涉及一种物联网边缘任务卸载方法及装置。



背景技术:

近年来,物联网(internetofthings,iot)技术的快速发展使得iot网络中的数百亿终端设备(terminaldevice,td)实现了经济高效的互联。根据思科视觉网络指数预测,到2023年,iot设备将占所有联网设备的50%,设备间的连接数量将达到147亿。iot网络中的海量数据促进了一批新业务的产生,比如车联网、人脸识别等,这些业务都是时延敏感型任务,且需要大量的计算资源和存储资源。但是,受限于iot设备的物理尺寸,终端设备的计算和存储资源有限,并且电池的续航时间较短,如果直接在终端设备上运行这些任务通常难以满足用户的要求,进而给用户带来极其糟糕的使用体验。云计算作为解决上述问题的传统方法,该模式通过任务卸载将待执行任务卸载到远程云服务器上,利用云端的计算资源提高了业务的响应速度,从而增强了终端设备的续航能力。

但是,在传统的云计算中,移动终端通过通信网络与远程云端进行连接,如阿里云等,由于终端与云端之间距离较远,在二者间进行数据传输会带来较高的传输延迟,有时难以满足延迟敏感型业务的要求。为解决上述问题,移动边缘计算(mobileedgecomputing)应运而生,mec通过在靠近移动终端的网络边缘部署边缘服务器,进而将远程云端提供的计算资源延伸到距离终端更近的位置,当td提交任务卸载请求时,任务可直接在边缘服务器上执行,节省了将数据传输至云端的通信时间。现有技术针对上述问题,提出如下方案:

方案一:基于边缘计算和云计算协同进行计算任务卸载的方法,包括设定变量参数及初始化;构建出移动终端、边缘节点和远端云各自时延模型和能耗模型,并得到移动终端当前任务量全部执行时的时延期望值模型和总能耗模型,且进一步得到总移动终端中所有任务执行时的时延期望值模型和总能耗模型;定义最优分配问题并转换为凸优化问题;引入拉格朗日函数求满足kkt约束条件下终端本机、边缘节点及远端云的任务执行量的最优解,使每一个移动终端根据各自对应求最优解所得的终端本机、边缘节点及远端云的任务执行量进行调整及执行。

方案二:基于代价效率的分布式任务卸载方法,包括:每个时隙,获取每个用户设备的位置、每个边缘节点服务器的产能情况和每个用户设备需要执行的任务;针对某个用户设备的需要执行的任务,计算将任务在用户设备本地执行和卸载至各个边缘节点服务器执行需要消耗的能耗、时延和计算数据量,通过比较对比获取在满足任务时延要求条件下代价效率最大的所述任务的最佳执行方案,将所有用户设备的最佳执行方案进行综合,得到该时隙下系统的任务卸载方案。

方案三:为降低移动设备的反应时延与能耗,提出了基于单用户场景下的移动边缘计算任务卸载方法,该方法首先完成了单用户场景下任务卸载模型的构建,包括系统整体模型的构建以及各个部分模型的构建,各个部分模型的构建包括:任务队列模型、本地计算模型、云端计算模型以及计算任务负载模型;通过求解系统整体负载k最小化为目标给出任务卸载方案,然后再对应执行本地执行负载最优调度策略、基于流水线调度的mec服务器执行负载最优调度策略。

方案一提供的基于边缘计算与云计算协同进行计算任务卸载的方法,在综合考虑移动终端、边缘节点及远端云的计算能力和功耗限制后实现最优的计算任务卸载决策。方案二提供的基于代价效率的分布式任务卸载方法,以最大化每个用户的代价效率为目标,兼顾了计算能力和时延的约束,从而确定系统的最佳的卸载决策。方案三提供的基于单用户场景下的边缘计算任务卸载方法,涉及移动计算系统的处理技术领域,以移动设备的任务响应时延与能耗作为优化目标,给出单用户场景下的任务卸载方法。



技术实现要素:

本发明提供的物联网边缘任务卸载方法,用于克服现有技术中存在的问题。

本发明提供一种物联网边缘任务卸载方法,包括:

获取物理网络模型、待卸载任务队列模型、能耗模型以及物联网边缘网络的预设边缘任务卸载模型的约束条件;

基于所述物理网络模型、所述待卸载任务队列模型、所述能耗模型和所述预设边缘任务卸载模型的约束条件,构建边缘任务卸载模型;

基于近端策略优化ppo算法求解所述边缘任务卸载模型的最优卸载策略;

根据所述最优卸载策略,将待卸载任务队列的边缘任务卸载至目标边缘服务器;

其中,所述能耗模型是由目标边缘服务器的能耗和物理链路的能耗确定的。

根据本发明提供的一种物联网边缘任务卸载方法,所述获取物理网络模型、待卸载任务队列模型、能耗模型,包括:

将获取的边缘网络中包括所有物理节点的集合及所有物理链路的集合使用无向图进行建模,以获取所述物理网络模型;

将获取的待卸载任务队列的目标节点和开始节点、所述待卸载任务队列的边缘任务类型和边缘任务间的数据依赖关系,以及待卸载任务队列的边缘任务间的传输带宽使用有向图进行建模,以获取所述待卸载任务队列模型;

基于卸载至所述目标边缘服务器上的所述待卸载任务队列中的边缘任务数量,以及目标边缘服务器的开机能耗、目标边缘服务器满负荷运行时的能耗和卸载所述边缘任务所需的cpu数量,获取所述目标边缘服务器的能耗;

基于物理链路的带宽利用率、物理链路的开机能耗和物理链路满负载运行时的能耗,获取所述物理链路的能耗;

根据所述目标服务器的能耗和所述物理链路的能耗,获取所述能耗模型。

根据本发明提供的一种物联网边缘任务卸载方法,所述物联网边缘网络的预设边缘任务卸载模型的约束条件通过如下方式获取:

确定所述待卸载任务队列的所述边缘任务间的所述数据依赖关系;

确定所述待卸载任务队列的所述边缘任务只能卸载一次;

确定所述待卸载任务队列的所述边缘任务在卸载过程中按照所述数据依赖关系进行卸载;

根据所述卸载至所述目标边缘服务器上的所述待卸载任务队列中的边缘任务数量、所述卸载所述边缘任务所需的cpu数量和所述物理节点的计算能力,获取所述目标边缘服务器的计算能力约束;

根据所述边缘任务数量的吞吐量、所述待卸载任务队列的边缘任务间的传输带宽和所述物理链路的负载能力,获取所述物理链路的带宽约束。

根据本发明提供的一种物联网边缘任务卸载方法,所述基于所述物理网络模型、所述待卸载任务队列模型、所述能耗模型和所述预设边缘任务卸载模型的约束条件,构建边缘任务卸载模型,包括:

获取所述边缘任务卸载模型的状态空间向量和动作空间向量,以及所述边缘任务卸载模型的动作执行函数;

基于所述状态空间向量、所述动作空间向量、所述动作执行函数、所述预设边缘任务卸载模型的约束条件和预设值,获取所述边缘任务卸载模型的奖励值;

根据所述奖励值获取所述边缘任务卸载模型;

其中,所述状态空间向量表示已经卸载预设数量个所述边缘任务时,所述目标边缘服务器的可用cpu数量和所述物理链路的可用带宽资源;

所述动作空间向量表示部署所述边缘任务;

卸载策略为所述状态空间向量到所述动作空间向量的映射关系。

根据本发明提供的一种物联网边缘任务卸载方法,所述基于近端策略优化ppo算法求解所述边缘任务卸载模型的最优卸载策略,包括:

获取包括所述目标边缘服务器的可用cpu数量和所述物理链路的可用带宽资源的所述边缘网络的环境状态向量,并将当前状态信息输入到基于所述ppo算法的actor-critic模型进行训练,以对卸载策略初始值进行更新,获取所述更新后的卸载策略;

根据所述更新后的卸载策略,确定所述最优卸载策略。

根据本发明提供的一种物联网边缘任务卸载方法,获取所述更新后的卸载策略,包括:

初始化卸载策略,获取所述卸载策略初始值;

利用预设损失函数的反向传播对所述actor-critic模型的所述卸载策略进行更新,并基于预设clip函数将所述卸载策略的更新步长约束在预设更新幅度范围,以所述更新步长对所述卸载策略进行更新获取所述更新后的卸载策略。

根据本发明提供的一种物联网边缘任务卸载方法,所述根据所述更新后的卸载策略,确定所述最优卸载策略,包括:

将所述更新后的卸载策略与环境交互,从所述环境中获取所述状态空间向量和所述动作空间向量,计算当前奖励值,直至获取的所述奖励值达到最大值,并将与奖励值最大值对应的所述更新后的卸载策略作为最优卸载策略。

本发明还提供一种物联网边缘任务卸载装置,包括:获取模块,模型构建模块、策略确定模块和任务卸载模块;

所述获取模块,用于获取物理网络模型、待卸载任务队列模型、能耗模型以及物联网边缘网络的预设边缘任务卸载模型的约束条件;

所述模型构建模块,用于基于所述物理网络模型、所述待卸载任务队列模型、所述能耗模型和所述预设边缘任务卸载模型的约束条件,构建边缘任务卸载模型;

所述策略确定模块,用于基于近端策略优化ppo算法求解所述边缘任务卸载模型的最优卸载策略;

所述任务卸载模块,用于根据所述最优卸载策略,将待卸载任务队列卸载至目标边缘服务器;

其中,所述能耗模型是由目标边缘服务器的能耗和物理链路的能耗确定的。

本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述物联网边缘任务卸载方法的步骤。

本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述物联网边缘任务卸载方法的步骤。

本发明提供的物联网边缘任务卸载方法及装置,构建边缘任务卸载模型时考虑了边缘任务卸载时,边缘服务器产生的能耗和链路能耗,从而将待求解的边缘任务卸载问题表述为面向能耗的最优化问题,考虑到边缘计算环境状态复杂多变,引入ppo的卸载策略求解边缘任务卸载的最优方案,以使得将边缘任务卸载至对应的边缘服务器时消耗的能耗最小。

附图说明

为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明提供的物联网边缘任务卸载方法的流程示意图;

图2是本发明提供的ppo算法架构的示意图;

图3是本发明提供的部署奖励值收敛情况示例图;

图4是本发明提供的网络能耗分析示例图;

图5是本发明提供的任务队列卸载成功率示例图;

图6是本发明提供的消耗网络带宽示例图;

图7是本发明提供的消耗cpu数目示例图;

图8是本发明提供的物联网边缘任务卸载装置的结构示意图;

图9是本发明提供的电子设备的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

现有技术方案虽然均涉及了任务卸载过程中的能耗优化,但其针对的均是终端的能耗,没有考虑将任务卸载至边缘服务器处执行时的服务器能耗。基于此,本发明提供一种物联网边缘任务卸载方法,具体地:

图1是本发明提供的物联网边缘任务卸载方法的流程示意图,如图1所示,方法包括:

s1、获取物理网络模型、待卸载任务队列模型、能耗模型以及物联网边缘网络的预设边缘任务卸载模型的约束条件;

s2、基于物理网络模型、待卸载任务队列模型、能耗模型和预设边缘任务卸载模型的约束条件,构建边缘任务卸载模型;

s3、基于近端策略优化ppo算法求解边缘任务卸载模型的最优卸载策略;

s4、根据最优卸载策略,将待卸载任务队列的边缘任务卸载至目标边缘服务器;

其中,能耗模型是由目标边缘服务器的能耗和物理链路的能耗确定的。

需要说明的是,上述方法的执行主体可以是计算机设备。

本发明考虑使用二元卸载方式对iot环境中不能分区的任务进行卸载。对于执行卸载任务的边缘网络,网络的全部能耗由服务器能耗和链路能耗两部分组成。随着物联网设备的爆炸性增长,预计2025年,全世界的数据中心产生的能耗将占全世界电力消耗的20%。因此,对于支持卸载终端任务的边缘网络,设计具有能耗感知的任务卸载算法以降低服务器和网络设备的能耗是十分必要的。

本发明假设每个终端设备都存在一个待卸载任务队列,队列中的每个任务使用ti,j表示,i表示终端设备的编号,j表示待卸载任务在任务队列中的编号,且ti,j+1依赖于ti,j的输出。为方便描述任务卸载过程中网络能耗,本发明假设终端设备只完成数据的采集工作,不参与任务的执行,完成任务采集时的能耗可忽略不计。如何将多个相互依赖的任务卸载至边缘网络,并实现边缘服务器的能耗优化是本发明的重点。

为求解本发明所提出的针对物联网边缘网络的边缘任务的最优卸载策略,首先构建获取到物理网络模型、待卸载任务队列模型和能耗模型,以及物联网边缘网络的预设边缘任务卸载模型的约束条件,并基于物理网络模型、待卸载任务队列模型、能耗模型和预设边缘任务卸载模型的约束条件,构建边缘任务卸载模型。

考虑到边缘计算环境状态的复杂多变,引入了基于深度强化学习的近端策略优化算法(proximalpolicyoptimization,ppo),将求解边缘任务的最优卸载策略转化为求解能耗最优化问题,并在一定的约束条件下,得到基于ppo算法的边缘任务卸载模型的最优卸载策略,根据最优卸载策略将待卸载任务队列的边缘人员卸载至目标边缘服务器。

本发明提供的物联网边缘任务卸载方法,构建边缘任务卸载模型时考虑了边缘任务卸载时,边缘服务器产生的能耗和链路能耗,从而将待求解的边缘任务卸载问题表述为面向能耗的最优化问题,考虑到边缘计算环境状态复杂多变,引入ppo的卸载策略求解边缘任务卸载的最优方案,以使得将边缘任务卸载至对应的边缘服务器时消耗的能耗最小。

进一步地,在一个实施例中,步骤s1中获取物理网络模型、待卸载任务队列模型、能耗模型可以具体包括:

s11、将获取的边缘网络中包括所有物理节点的集合及所有物理链路的集合使用无向图进行建模,以获取物理网络模型;

s12、将获取的待卸载任务队列的目标节点和开始节点、待卸载任务队列的边缘任务类型和边缘任务间的数据依赖关系,以及待卸载任务队列的边缘任务间的传输带宽使用有向图进行建模,以获取待卸载任务队列模型;

s13、基于卸载至所述目标边缘服务器上的待卸载任务队列中的边缘任务数量,以及目标边缘服务器的开机能耗、目标边缘服务器满负荷运行时的能耗和卸载边缘任务的数量所需的cpu数量,获取目标边缘服务器的能耗;

s14、基于物理链路的带宽利用率、物理链路的开机能耗和物理链路满负载运行时的能耗,获取物理链路的能耗;

s15、根据目标服务器的能耗和物理链路的能耗,获取能耗模型。

可选地,使用无向图g(v,l)表示边缘网络,构建网络网络模型,其中v表示边缘网络中所有物理节点的集合,l表示边缘网络中所有物理链路的集合,lvu∈l。每个物理节点的计算能力使用cv使用表示,每条物理链路的负载能力用cl表示,物理链路lvu连接节点v和节点u。

可选地,将终端设备上的待卸载任务队列建模为一个有向图,并且待卸载队列中待卸载的边缘任务均不重复。待卸载任务队列可以使用一个四元组ts={(vs,vd),rts,bts}进行描述,其中vs、vd分别表示任务队列的目标节点和开始节点,rts表示待卸载任务队列的详细信息,包含边缘任务类型和边缘任务间的数据依赖关系。假设同一任务队列的任务之间所需的传输带宽相同,均为bts。crt表示完成边缘任务t所需的cpu数量,ctt表示边缘任务t的吞吐量。

可选地,构建的边缘网络的能耗模型主要包含边缘服务器的能耗和物理链路的能耗。除执行计算边缘任务时消耗的能量外,边缘服务器上的存储设备和通信设备的产生的能耗也十分可观,因此,将边缘服务器能耗建模为边缘服务器的开机能耗和处理卸载边缘任务时的能耗。

边缘服务器的开机能耗是边缘服务器维持其正常运行所需的能量,取决于是否有边缘任务部署在边缘服务器上,与部署边缘任务的数量无关。而处理卸载边缘任务时的能耗与cpu的利用率成正相关,使用表示部署在边缘服务器v上的边缘任务t的数量:

式中,为二进制变量,若该值为1表示待卸载任务队列ts中的边缘任务t部署在节点v上,反之亦然。bts表示待卸载任务队列ts的带宽。ctt表示边缘任务t的吞吐量。

由于边缘服务器的能耗与cpu的利用率正相关,因此,部署在边缘服务器上的任务消耗的全部能量可表示为:

式中,表示边缘服务器的开机能耗,表示边缘服务器满负荷运行时的能耗。crt表示完成边缘任务t所需的cpu数目。因此,边缘服务器的能耗pv可表示为:

式中,表示开机能耗只能计算一次,与部署在服务器上的边缘任务的数量无关,表示部署在边缘服务器v上的所有类型的边缘任务产生的能耗。

同理,边缘网络中的物理链路能耗同样包含链路中交换机的开机能耗和链路传输边缘任务间流量时的传输能耗。链路中交换机的开机能耗取决于链路上交换机的开机状态,链路传输边缘任务间流量时的传输能耗取决于物理链路的带宽利用率。

使用rl表示物理链路l的带宽利用率,物理链路的带宽利用率的计算结果如下式所示:

式中,表示待卸载任务队列ts上的边缘任务f部署在节点v,边缘任务g部署在节点u上。表示部署在物理链路l上的待卸载任务队列ts是否依次通过节点v和节点u。

基于上述推理,物理链路l的全部能耗可计算为:

式中,物理链路的开机能耗,且交换机的开机能耗不能重复计算,只要有边缘任务卸载在该服务器上,交换机就要保持开机以传输对应的流量。表示链路满负载运行时的能耗。

因此,边缘网络的能耗模型可表示为:

本发明提供的物联网边缘任务卸载方法,针对任务卸载过程中服务器能耗优化问题,构建了包含服务器能耗和链路能耗的数学模型,充分考虑了处理边缘任务卸载时的服务器能耗和传输用户数据时的物理链路能耗,将求解边缘任务的最优卸载策略问题表述为面向能耗优化的最优化问题,降低了部署边缘任务时服务器和物理链路的能耗。

进一步地,在一个实施例中,步骤s1中物联网边缘网络的预设边缘任务卸载模型的约束条件通过如下方式获取:

s16、确定待卸载任务队列的边缘任务间的数据依赖关系;

s17、确定待卸载任务队列的边缘任务只能卸载一次;

s18、确定待卸载任务队列的边缘任务在卸载过程中按照数据依赖关系进行卸载;

s19、根据卸载至目标边缘服务器上的待卸载任务队列中的边缘任务数量、卸载边缘任务所需的cpu数量和物理节点的计算能力,获取目标边缘服务器的计算能力约束;

s20、根据边缘任务数量的吞吐量、待卸载任务队列的边缘任务间的传输带宽和物理链路的负载能力,获取物理链路的带宽约束。

具体地,在考虑了流量守恒约束、待卸载任务队列中的边缘任务的处理顺序约束、目标边缘服务器的计算能力约束和物理链路的带宽约束后,将终端边缘任务的卸载问题建立为以能耗为优化目标的整数线性规划模型(integerlinearprogramming,ilp)。

首先,为满足边缘任务卸载过程中的流量约束,假设某一待卸载任务队列为ts,ti和tj为ts中待卸载的两个边缘任务,且tj任务必须在ti之后执行。上述边缘任务tj和ti间的数据依赖关系的约束关系用下式表示为:

假设待卸载任务队列中的边缘任务只能被卸载在一个边缘服务器上,即待卸载任务队列的边缘任务只能卸载一次,约束关系由下式表示:

确定待卸载任务队列中的边缘任务在卸载过程中必须按照边缘任务间的数据依赖关系卸载,使用数学公式描述如下式所示:

此外,同样考虑了边缘服务器的计算能力约束与物理链路的带宽约束:

建立的描述eeto(energy–efficienttaskoffload)问题的ilp模型可表示为:

subjectto:c1,c2,c3,c4,c5

本发明提供的物联网边缘任务卸载方法,考虑了流量守恒约束、待卸载任务队列中的边缘任务的处理顺序约束、目标边缘服务器的计算能力约束和物理链路的带宽约束后,将终端边缘任务的卸载问题建立为以能耗为优化目标的整数线性规划模型,减少了求解能耗最优化问题的计算复杂度。

进一步地,在一个实施例中,步骤s2可以具体包括:

s21、获取边缘任务卸载模型的状态空间向量和动作空间向量,以及边缘任务卸载模型的动作执行函数;

s22、基于状态空间向量、动作空间向量、动作执行函数、预设边缘任务卸载模型的约束条件和预设值,获取边缘任务卸载模型的奖励值;

s23、根据奖励值获取边缘任务卸载模型;

其中,状态空间向量表示已经卸载预设数量个边缘任务时,目标边缘服务器的可用cpu数量和物理链路的可用带宽资源;

动作空间向量表示部署边缘任务;

卸载策略为状态空间向量到动作空间向量的映射关系。

可选地,基于马尔可夫决策过程(markovdecisionprocess,mdp)的边缘任务卸载模型马尔可夫链是一种具有无后效性的概率模型,即未来状态只与当前状态有关,与之前状态无关。在边缘任务卸载过程中,边缘网络中的某个边缘服务器可作为智能体,通过安装在物理网络中的感知器获得边缘网络拓扑,资源使用情况,边缘任务卸载情况等信息。在发送执行任务卸载指令后,可通过感知器获得动作执行结果、执行后的网络拓扑变化、剩余可用资源信息等信息;在某一状态下,执行动作后的环境状态信息只与当前状态有关,与历史状态无关,且具有无后效性,因此可将边缘任务卸载问题表述为一个mdp模型进而求解边缘任务的卸载策略。下面给出基于mdp的边缘任务卸载问题:

获取边缘任务卸载模型的状态空间向量s和动作空间向量a:

状态空间向量s:对于sl∈s,有sl=<ucpu(l),ubw(l)>,表示在已经卸载了预设数量个如l个边缘任务时边缘网络中各个边缘服务器的cpu及物理链路的带宽资源使用情况。

动作空间向量a:al∈a表示智能体根据特定的卸载策略,经观测当前状态sl,在边缘网络中选择一个边缘服务器,部署待卸载任务队列中的第l+1个任务。

动作执行函数:step(sl,a)=<rl,sl',l'>:表示在当前状态下执行部署动作后,智能体可获得的即时奖励rl,后续状态sl',动作执行后的已成功卸载的边缘任务数量l'。若边缘任务在卸载过程中满足约束条件c1,c2,c3,c4,c5,表示该任务可成功卸载至边缘网络中,有l'=l+1。反之令l'=l。

奖励函数reward(sl,al)表示在状态sl下执行部署动作al获得的奖励值。通过设置优化目标为降低边缘网络中的能量消耗,设定的即时奖励函数可表述为:

reward(sl,al)=n-ptotal(12)

式中,n为预设值,通常设置为一个足够大的常数,用于保证奖励值不为负数,基于某种卸载策略,若边缘网络能耗越小,则即时奖励值越大。在公式(12)中,动作al的来源是一个卸载策略π,由卸载策略π可得到待卸载任务队列的卸载方案,π为状态空间向量s到动作空间向量a的一个映射,可表示为:

al=π(sl)(13)

本发明建立的mdp模型的优化目标是得到一个优化的卸载策略,即在相应的状态根据该卸载策略采用相应动作后,使强化学习的目标—累积回报的期望最大,即求解下式的优化问题:

其中,γt为折扣因子,且随时间增加其值减小。

本发明提供的物联网边缘任务卸载方法,将求解边缘任务卸载模型的最优卸载策略问题转化为求解mdp模型的优化目标,减少了直接求解最优卸载策略的计算复杂度,为后续基于ppo算法获取最优卸载策略提供了数据支持。

进一步地,在一个实施例中,步骤s3可以具体包括:

s31、获取包括目标边缘服务器的可用cpu数量和物理链路的可用带宽资源的边缘网络的环境状态向量,并将当前状态信息输入到基于ppo算法的actor-critic模型进行训练,以对卸载策略初始值进行更新,获取更新后的卸载策略;

s32、根据更新后的卸载策略,确定最优卸载策略。

进一步地,在一个实施例中,步骤s31中获取更新后的卸载策略,包括:

s311、初始化卸载策略,获取卸载策略初始值;

s312、利用预设损失函数的反向传播对actor-critic模型的卸载策略进行更新,并基于预设clip函数将卸载策略的更新步长约束在预设更新幅度范围,以更新步长对卸载策略进行更新获取更新后的卸载策略。

具体地,由于边缘计算网络的环境是复杂多变的,为了在这个具有挑战性的环境中学习,有必要使用可靠且扩展性强的学习算法,由于ppo算法通过将参数更新的范围绑定到信任区域来确保稳定性,因此,本发明考虑使用该算法完成边缘任务的卸载。本发明涉及的ppo的算法架构如图2所示:

ppo算法是一种基于演员-评论家(actor-critic)方法框架的深度强化学习算法,本发明设计的ppo架构中包含两个actor网络,actor_new和actor_old。

actor_new代表当前最新的卸载策略π并与边缘网络环境进行交互,该网络基于当前环境状态选择任务卸载动作。评论家根据执行卸载动作后获得的奖励值对当前卸载策略进行评判,并通过损失函数的反向传播实现对评论家网络中的参数进行更新。

actor_old代表旧卸载策略πold(卸载策略初始值),智能体每训练一段时间,就使用actor_new中的参数对actor_old进行更新,重复上述过程,直至ppo算法收敛,此时我们就得到了一个训练好的基于ac框架的边缘任务卸载模型。ppo算法首先对算法梯度进行改进,策略梯度的原始参数更新方程为:

式中,θold和θnew分别表示更新前后的策略参数,α表示更新步长,为目标函数梯度。策略梯度算法的关键在于更新步长,若更新步长选取不当,更新的参数对应的新卸载策略是一个更不好的卸载策略,当利用更新的卸载策略再次进行采样学习时,再次更新的策略参数会更差,最后导致算法崩溃。ppo将新卸载策略的回报函数分解为旧卸载策略对应的回报函数加其他项,只要保证新卸载策略中的其他项大于等于0,即可保证回报函数单调不减,如下式所示。

式中,π表示旧卸载策略,表示新卸载策略。aπ(st,at)为优势函数,优势函数的计算方式如下式所示:

aπ(st,at)=qπ(s,a)-vπ(s)(17)

ppo算法通过对策略参数θ进行优化以满足下式:

其中,πθ(a|s)为使用卸载策略π在状态s下采取动作a的概率,且公式(18)需满足表示旧策略参数与新策略参数之间的kl散度的最大值,kl散度用于度量θold和θ两个策略参数的概率分布之间的相似度,即trpo通过限制新旧卸载策略之间的相似度以控制策略的更新幅度。

ppo算法的策略更新公式如(19)所示,但公式(19)中存在超参数β难以确定的问题。为解决上述问题,本发明考虑另一种限制卸载策略的更新步长的方法,在ppo中策略的更新步长使用t时刻的新卸载策略与旧卸载策略的比值进行衡量,如下式所示.

当卸载策略未发生变化时,rt(θ)=1,修改后的ppo算法的策略更新方式如下式所示。

lclip(θ)=et[min(rt(θ)at,clip(rt(θ)),1-ε,1+ε)at](21)

其中,ε∈[0,1]是一个超参数,函数clip()将rt(θ)的值约束在预设更新幅度范围[1-ε,1+ε]内。

本发明提供的物联网边缘任务卸载方法,通过引入clip函数对原有的策略梯度算法进行优化,将策略梯度的更新步长约束在一个可控的更新幅度范围内,为后续获取最优卸载策略奠定了基础。

进一步地,在一个实施例中,步骤s32可以具体包括:

s321、将更新后的卸载策略与环境交互,从环境中获取状态空间向量和动作空间向量,计算当前奖励值,直至获取的奖励值达到最大值,并将与奖励值最大值对应的更新后的卸载策略作为最优卸载策略。

具体地,为获取最优卸载策略,本发明设计的基于ppo的任务卸载算法主要包含以下三个模块:1)边缘网络环境构建和参数设置:边缘网络中可调度资源包含边缘服务器可用cpu数量和物理链路的可用带宽资源,状态空间向量和动作空间向量设置方法如上所述。

2)边缘任务卸载模型训练:

本发明使用的ppo算法的演员网络由两个神经网络actor_new和actor_old组成,actor_new指导智能体与环境交互,获得转移样本,并将其缓存。actor_old中的策略参数表示旧卸载策略,每经过一段迭代,都会使用actor_new中的参数对actor_old中的参数进行更新。评论家网络由一个神经网络组成。卸载模型的具体训练步骤如下:

a1、将当前状态输入到actor_new网络中,智能体基于策略πold选择一个动作,即al=π(sl)。重复上述过程,智能体持续与边缘网络交互t个时间步,收集历史交互信息并缓存;其中,历史交互信息中包括:状态空间向量和动作空间向量;

a2、使用式(17)计算每个时间步的优势函数;

a3、利用式(22)计算评论家网络的损失函数,并根据该函数反向传播更新评论家网络参数φ;

a4、利用式(21)和式(17)对演员网络参数进行更新;

a5、重复步骤a4,使用actor_new中的网络参数更新actor_old的参数;

a6、循环a1-a5步骤,直至算法实现收敛。

3)面向能耗感知的卸载方案输出:

经过2)的训练最终得到一个训练好的基于ac框架的ppo算法,然后智能体按照给定的待卸载任务队列,并根据演员网络输出下一步动作,评论家网络给出相应的评价(计算当前奖励值),不断迭代,直至待卸载任务队列中的边缘任务全部卸载完成,从而输出对应奖励值最大值的边缘任务的卸载策略即最优卸载策略。

本发明提供的物联网边缘任务卸载方法,考虑到边缘计算环境状态复杂多变,引入ppo的卸载策略求解边缘任务卸载的最优方案,以实现将边缘任务卸载至对应的边缘服务器时,目标边缘服务器的能耗和物理链路的能耗最小。

为验证本发明设计基于ppo的边缘任务卸载算法(ppo_em)的有效性,本发明在后续实验中将本发明的算法与随机算法和同样基于ppo但并未考虑开机能耗的任务卸载算法(ppo_nem)进行对比,仿真结果表明,与随机算法相比,该算法平均节约了22.69%的能量。此外,在任务卸载成功率、资源复用率、消耗的网络带宽等方面,本发明设计的算法同样优于其余两种对比算法。

下面结合实例说明:

本发明使用两种拓扑网络对提出的算法进行仿真验证,第一种网络拓扑由5个边缘服务器,8条物理链路组成。第二种物理拓扑由8个边缘服务器和12条物理链路组成。为验证本发明提出任务卸载算法的能耗优化性能,本发明分别就卸载终端设备上的10,15,20,,,,60条待卸载任务队列时的能耗进行仿真测量。

本发明假设需在边缘网络处卸载3种类型的终端任务,每种任务的参数详细设置如表1所示。假设每条物理链路的带宽为1000mbps,每个边缘服务器可用的计算资源为9或10个cpu。每条待卸载任务队列中的边缘任务类型在上述三种类型的任务中随机选择,且最多由三种任务类型组成,每条待卸载任务队列的任务数量均匀分布在2,3之间。此外,假设所有待卸载任务队列所需带宽均匀分布在[40mbps,50mbps]的范围内。服务器和物理链路的开机能耗、满负荷运行能耗分别设置为170w和800w、100w和600w。

表1

为验证本发明算法的有效性,本发明使用以下4种指标对本发明提出的算法进行评估:1、网络的全部能耗:包括处理终端任务时的能耗和通信过程中的能耗。2、cpu数目:卸载任务在边缘网络处执行时消耗的全部cpu数目。3、物理网络带宽:边缘网络传输任务间流量时物理网络消耗的全部带宽。4、卸载成功率:将终端任务成功卸载至边缘服务器处的百分比。

本发明提出的算法在一台配备inter(r)corei59300h和16g内存的电脑上进行,并在python3.7.4,tensorflow1.15.0环境下运行ppo_em算法,如图3所示展示了程序在训练过程中ppo_em的收敛情况,在训练过程中,本发明将待部署任务队列中边缘任务的数量设置为80,且actor网络的学习率和critic网络的学习率均设置为0.0001,奖励折扣系数设置为0.9,每隔15步使用actor1中的网络参数对actor2的参数进行更新。从图3可以看出,在训练开始阶段,ppo_em算法的结果由于随机选择的任务部署方案而产生波动,但是训练次数的增加,在150步左右奖励函数逐渐收敛至接近最优值。

如图4所示表示分别在节点个数为5,物理链路个数为8的拓扑结构1和节点个数为8,物理链路个数为12的拓扑结构2执行边缘任务的卸载策略时的网络能耗情况。从图4中可以看出,随着待部署任务队列的数目增加,基于三种不同算法进行任务卸载时物理网络的能耗均在增加。与随机算法相比,本发明设计的算法在执行任务卸载时可平均节能22.69%。

本发明设计的算法在构建基于mdp优化模型时,从能耗的角度设计每一步的奖励函数,实现了服务器能耗与物理链路的联合优化,最大限度的降低任务卸载过程中的能源消耗总量。与未考虑开机能耗的ppo_nem算法相比,由于本发明设计的算法只有在有任务部署在对应的边缘服务器上时才开机,因此在能耗方面优于两种对比算法。

如图5所示,分别表示在节点个数为5,物理链路个数为8的拓扑结构1和节点个数为8,物理链路个数为12的拓扑结构2中执行边缘任务卸载策略时的卸载成功率。从图5可以看出,随着待部署任务队列的数目增加,基于三种算法进行任务卸载时的卸载成功率均在下降,由于待卸载任务队列中的边缘任务个数在2,3之间随机分布,因此有可能出现部署任务队列增加,但总体所需资源减小的特殊情况,由此可以解释仿真图中出现随着任务队列的增加,卸载成功率也小幅增加的现象。从图5中可以看出,本发明设计的基于ppo的任务卸载算法的卸载成功率优于随机算法,而随机算法中相同类型的任务的复用率较低,边缘网络资源有限,任务的重复部署消耗了更多的计算与带宽资源,进而影响了任务的卸载成功率。

如图6所示,表示了在物理节点数目为5,物理链路数目为8的网络拓扑中卸载任务时的总链路带宽成本,由图6可以看出,随着待卸载任务队列数目的增加,网络中消耗的总带宽的数量也在随之增加,从图6中可以看出,本发明设计的算法消耗的网络带宽最少,基于随机算法进行边缘任务卸载时在边缘网络上消耗的网络带宽最多。尽管随机算法在连接部署了相邻任务的边缘服务器时采用最短路径连接,但由于卸载过程中边缘服务器是随机选择的,因此相较于考虑了链路能耗的ppo_em算法,本发明设计的算法在实现相邻任务间的路由时,跳数更少,消耗的网络带宽也更少。

如图7所示,表示在物理节点数为5,物理链路数目为8的网络拓扑中卸载边缘任务时,边缘网络消耗的全部cpu数目,由图7中可以看出,在边缘网络中分别执行三种卸载策略时,网络中消耗的cpu数目均随着待部署任务队列数目的增加而增加。从消耗的cpu数目的总体趋势看来,本发明设计的任务卸载策略消耗的cpu数目略优于未考虑开机能耗的ppo_nem算法,远优于基于随机策略进行任务卸载的卸载算法。主要是由于随机算法随机选择待部署的边缘服务器,因此,不同队列中同一类型的任务需要重复部署。相比之下ppo_em算法通过聚合任务队列请求提高相同任务类型的利用率,并关闭未使用的边缘服务器节省能源。因此执行随机卸载策略时要消耗更多的cpu数目。

下面对本发明提供的物联网边缘任务卸载装置进行描述,下文描述的物联网边缘任务卸载装置与上文描述的物联网边缘任务卸载方法可相互对应参照。

图8是本发明提供的物联网边缘任务卸载装置的结构示意图,如图8所示,包括:获取模块810,模型构建模块811、策略确定模块812和任务卸载模块813;

获取模块810,用于获取物理网络模型、待卸载任务队列模型、能耗模型以及物联网边缘网络的预设边缘任务卸载模型的约束条件;

模型构建模块811,用于基于物理网络模型、待卸载任务队列模型、能耗模型和预设边缘任务卸载模型的约束条件,构建边缘任务卸载模型;

策略确定模块812,用于基于近端策略优化ppo算法求解边缘任务卸载模型的最优卸载策略;

任务卸载模块813,用于根据最优卸载策略,将待卸载任务队列卸载至目标边缘服务器;

其中,能耗模型是由目标边缘服务器的能耗和物理链路的能耗确定的。

本发明提供的物联网边缘任务卸载装置,构建边缘任务卸载模型时考虑了边缘任务卸载时,边缘服务器产生的能耗和链路能耗,从而将待求解的边缘任务卸载问题表述为面向能耗的最优化问题,考虑到边缘计算环境状态复杂多变,引入ppo的卸载策略求解边缘任务卸载的最优方案,以使得将边缘任务卸载至对应的边缘服务器时消耗的能耗最小。

图9是本发明提供的一种电子设备的实体结构示意图,如图9所示,该电子设备可以包括:处理器(processor)910、通信接口(communicationinterface)911、存储器(memory)912和总线(bus)913,其中,处理器910,通信接口911,存储器912通过总线913完成相互间的通信。处理器910可以调用存储器912中的逻辑指令,以执行如下方法:

获取物理网络模型、待卸载任务队列模型、能耗模型以及物联网边缘网络的预设边缘任务卸载模型的约束条件;

基于物理网络模型、待卸载任务队列模型、能耗模型和预设边缘任务卸载模型的约束条件,构建边缘任务卸载模型;

基于近端策略优化ppo算法求解边缘任务卸载模型的最优卸载策略;

根据最优卸载策略,将待卸载任务队列的边缘任务卸载至目标边缘服务器;

其中,能耗模型是由目标边缘服务器的能耗和物理链路的能耗确定的。

此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

进一步地,本发明公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的物联网边缘任务卸载方法,例如包括:

获取物理网络模型、待卸载任务队列模型、能耗模型以及物联网边缘网络的预设边缘任务卸载模型的约束条件;

基于物理网络模型、待卸载任务队列模型、能耗模型和预设边缘任务卸载模型的约束条件,构建边缘任务卸载模型;

基于近端策略优化ppo算法求解边缘任务卸载模型的最优卸载策略;

根据最优卸载策略,将待卸载任务队列的边缘任务卸载至目标边缘服务器;

其中,能耗模型是由目标边缘服务器的能耗和物理链路的能耗确定的。

另一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的物联网边缘任务卸载方法,例如包括:

获取物理网络模型、待卸载任务队列模型、能耗模型以及物联网边缘网络的预设边缘任务卸载模型的约束条件;

基于物理网络模型、待卸载任务队列模型、能耗模型和预设边缘任务卸载模型的约束条件,构建边缘任务卸载模型;

基于近端策略优化ppo算法求解边缘任务卸载模型的最优卸载策略;

根据最优卸载策略,将待卸载任务队列的边缘任务卸载至目标边缘服务器;

其中,能耗模型是由目标边缘服务器的能耗和物理链路的能耗确定的。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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