基于双延迟深度确定性策略边缘计算资源调度方法和系统与流程

文档序号:25035015发布日期:2021-05-11 17:06阅读:77来源:国知局
基于双延迟深度确定性策略边缘计算资源调度方法和系统与流程
本发明涉及边缘计算领域,尤其涉及基于双延迟深度确定性策略边缘计算资源调度方法和系统。
背景技术
:第五代移动通信技术(5g)正面临着爆炸式数据流量增长和大规模设备连接的新挑战。虚拟现实、增强现实、无人驾驶汽车和智能电网等5g网络新业务对延迟提出了更高的要求,同时这些计算密集型应用也会消耗大量的能量,用户设备自身无法解决这些问题,边缘计算应运而生。边缘计算把计算和存储资源部署在移动网络边缘,来满足某些应用的严苛的延迟要求。边缘网关可以通过无线信道将计算任务整体或部分卸载到mec服务器进行计算,降低延迟和能耗,从而获得良好的用户体验。现有的传统优化算法对于解决mec计算卸载与资源资源分配问题是可行的,但是传统优化算法并不是很适用于高实时性的mec系统。强化学习算法很适合解决资源分配问题,如mec服务器资源分配。边缘计算中的最小化系统消耗问题可以通过寻找最优卸载决策和计算卸载的资源分配来解决。然而卸载决策向量x是二元变量的可行集并且目标函数是非凸问题。此外,当任务数增加时,最小化系统消耗问题的求解难度将会呈指数规模增加,因此其是一个从背包问题扩展而来的非凸问题,是np难题。因而现有的边缘计算系统领域存在不足,还有待改进和提高。技术实现要素:鉴于上述现有技术的不足之处,本发明的目的在于提供基于双延迟深度确定性策略边缘计算资源调度方法和系统,解决5g异构网络中的延迟和能量优化问题,通过有效的卸载资源调度和服务器资源分配方法,提高计算资源的利用率并减小任务延迟。为了达到上述目的,本发明采取了以下技术方案:一种基于双延迟深度确定性策略边缘计算资源调度方法,边缘计算系统包括边缘服务器以及与所述边缘服务器通信连接的若干个边缘网关,在所述边缘服务器中构建边缘分配网络和边缘分配目标网络,包括步骤:边缘服务器获取所有所述边缘网关的独立任务信息集合;基于所述独立任务信息集合,所述边缘分配网络使用双延迟深度确定性策略梯度算法针对所有所述边缘网关分别输出对应的最优服务器分配频率和最优调度顺序;将所述最优服务器分配频率和所述最优调度顺序发送到所述边缘网关执行调度;所述边缘分配目标网络基于获取到的所述独立任务信息集合进行实时训练;所述边缘分配网络的网络参数根据所述边缘分配目标网络的目标网络参数分段更新。优选的所述的基于双延迟深度确定性策略边缘计算资源调度方法,所述独立任务信息集合具有若干独立任务信息,所述独立任务信息至少包括数据量、处理该任务所需cpu周期量;所述所需cpu周期量包括服务器所需周期量和边缘网关所需周期量;所述边缘分配网络使用双延迟深度确定性策略梯度算法针对所有所述边缘网关分别输出对应的最优服务器分配频率和最优调度顺序的执行步骤与所述边缘分配目标网络的实时训练步骤相同,具体包括:s31、基于所述独立任务信息集合,通过预分类求解所述边缘服务器为每个所述边缘网关分配的预分配频率;s32、所述边缘分配目标网络基于每个所述独立任务的服务器所需周期量和边缘网关所需周期量对所有独立任务进行分类,分别存入卸载任务集合与本地任务集合;s33、所述边缘分配目标网络使用双延迟深度确定性策略梯度算法对卸载任务集合中的独立任务进行服务器分配频率;s34、每执行步骤s32-s33为一次迭代,在经过预定次数的迭代后,输出最优服务器分配频率,并确定所述边缘分配目标网络的目标网络参数。优选的所述的基于双延迟深度确定性策略边缘计算资源调度方法,所述最优服务器分配频率的输出标准为:当迭代计算最终具有收敛结果,则输出迭代收敛的服务器分配频率作为所述最优服务器分配频率;否则,输出所述预分配频率作为所述最优服务器分配频率。优选的所述的基于双延迟深度确定性策略边缘计算资源调度方法,所述边缘分配网络的网络参数根据所述边缘分配目标网络的目标网络参数分段更新,具体为:在所述边缘分配目标网络在实时训练时,所述步骤s34中,每迭代设定次数,就将当期的所述目标网络参数以训练前的网络参数为基准,按照预定步长划分更新区段得到更新参数,作为所述边缘分配网络的网络参数进行更新。优选的所述的基于双延迟深度确定性策略边缘计算资源调度方法,所述设定次数为20-80。优选的所述的基于双延迟深度确定性策略边缘计算资源调度方法,所述步骤s31中,所述预分配频率的具体获得步骤包括:s311、分别计算每个边缘网关的设备cpu频率占所有所述边缘网关的设备cpu频率之和的主频比例;在所述边缘服务器中按照所述主频比例为边缘网关分配cpu频率;s312、根据每个所述独立任务信息计算每个独立任务的本地执行时延,分别计算每个边缘网关的本地执行时延占所有所述边缘网关的所述本地执行时延之和的相对时延比;s313、根据所述主频比例和所述相对时延比例,分别计算每个所述边缘网关的分配权重;s314、根据所述分配权重和所述服务cpu频率分别计算每个所述边缘网关在边缘服务器中的预分配频率。优选的所述的基于双延迟深度确定性策略边缘计算资源调度方法,所述步骤s32具体包括:s321、将所有所述边缘网关的所述独立任务信息根据卸载时间和服务器执行时间进行分类,将卸载时间小于服务器执行时间的所述独立任务信息添加到第一数组,并将所述第一数组中的所有的所述独立任务信息按照所述卸载时间升序排列;将卸载时间大于或等于所述服务器执行时间的所述独立任务信息添加到第二数组,并将所述第二数组中的所有所述独立任务信息根据所述服务器执行时间降序排列;s322、获取所述第一数组内每个所述独立任务信息的服务器执行时间和卸载时间,得到每个所述独立任务信息的服务器处理时间;获取所述第二数组内每个所述独立任务信息的本地执行时间;s323、获取所述第一数组内所有所述独立任务信息的总服务器处理时间与所述第二数组内所有所述独立任务信息的总本地执行时间之间的时间差值;s324、根据所述时间差值确定时间较长的数组内列后的所有所述独立任务信息,形成第三数组;将处理后的所述第一数组作为卸载任务集合,将处理后的所述第二数组作为本地任务集合;s325、将所述第三数组内的每个所述独立任务信息分别计算服务器处理时间和本地执行时间,将服务器处理时间大于所述本地执行时间的独立任务信息放入所述本地任务预分配集合,将服务器处理时间小于或等于所述本地执行时间的独立任务信息放入所述卸载任务预分配集合;s326、将所述第三数组中的所述独立任务信息分配完毕后,得到卸载任务集合和本地任务集合,并根据所述最终卸载任务集合得到卸载决策向量。优选的所述的基于双延迟深度确定性策略边缘计算资源调度方法,所述步骤s34中,所述预定次数为100-200。优选的所述的基于双延迟深度确定性策略边缘计算资源调度方法,所述边缘分配网络由价值网络和动作网络组成;所述边缘分配目标网络由价值目标网络和动作目标网络组成。一种边缘计算系统,包括边缘服务器以及与所述边缘服务器通信连接的若干个边缘网关,边缘服务器与若干所述边缘网关之间使用所述的基于双延迟深度确定性策略边缘计算资源调度方法进行工作。相较于现有技术,本发明提供的基于双延迟深度确定性策略边缘计算资源调度方法和系统,具有以下有益效果:本发明提供的边缘计算资源调度方法,能够在系统资源有限且紧张时,先固定分配给边缘计算网关的服务器频率,然后求能达到最小完成时间的任务卸载顺序和卸载决策,最终得到最优服务器分配频率和最优调度顺序,在大幅度降低能量消耗的同时大幅度降低延迟,从而提高用户体验和能量、网络资源利用率。附图说明图1是本发明提供的资源调度方法的流程图;图2是本发明提供的边缘计算系统的结构图;图3是本发明提供的实时训练和具体输出方法流程图;图4是本发明提供的实时训练和具体输出方法实施流程图;图5是本发明提供的预分类服务器分配频率步骤流程图;图6是本发明提供的预分类服务器分配频率步骤实施流程图;图7是本发明提供的卸载任务集合以及卸载决策向量获取步骤流程图;图8是本发明提供的卸载任务集合以及卸载决策向量获取步骤实施流程图;图9是本发明提供的网络参数更新步骤流程图;图10是本发明提供的价值网络结构示意图;图11是本发明提供的动作网络结构示意图;图12是本发明提供的在优化网络参数的迭代奖励曲线图。具体实施方式为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。本领域技术人员应当理解,前面的一般描述和下面的详细描述是本发明的示例性和说明性的具体实施例,不意图限制本发明。本文中术语“包括”,“包含”或其任何其他变体旨在覆盖非排他性包括,使得包括步骤列表的过程或方法不仅包括那些步骤,而且可以包括未明确列出或此类过程或方法固有的其他步骤。同样,在没有更多限制的情况下,以“包含...一个”开头的一个或多个设备或子系统,元素或结构或组件也不会没有更多限制,排除存在其他设备或其他子系统或其他元素或其他结构或其他组件或其他设备或其他子系统或其他元素或其他结构或其他组件。在整个说明书中,短语“在一个实施例中”,“在另一个实施例中”的出现和类似的语言可以但不一定都指相同的实施例。除非另有定义,否则本文中使用的所有技术和科学术语具有与本发明所属领域的普通技术人员通常所理解的相同含义。请参阅图1-图2,本发明提供一种基于双延迟深度确定性策略边缘计算资源调度方法,边缘计算系统包括边缘服务器以及与所述边缘服务器通信连接的若干个边缘网关,在所述边缘服务器中构建边缘分配网络和边缘分配目标网络,包括步骤:边缘服务器获取所有所述边缘网关的独立任务信息集合;独立任务信息至少包括数据量、处理该任务所需cpu周期量;优选的,在具体实施中,首先将所有边缘网关u={u1,u2,...,uk}中边缘网关ui的所有任务抽象成包含两个特征的任务集合g={ti,j|1≤j≤n,1≤i≤h},ti,j=(di,j,ci,j),其中di,j为边缘网关ui任务的数据量大小,单位为比特;ci,j为边缘网关ui处理每单位数据量所需cpu周期数,单位为周期/比特。边缘网关ui的cpu频率为fi,user,单位为hz,边缘服务器分配给边缘网关ui的cpu频率为fi,ser,单位为hz,边缘网关ui的所有任务传输功率为传输功率p,初始化目标值tcbest=100。基于所述独立任务信息集合,所述边缘分配网络使用双延迟深度确定性策略梯度算法针对所有所述边缘网关分别输出对应的最优服务器分配频率和最优调度顺序;将所述最优服务器分配频率和所述最优调度顺序发送到所述边缘网关执行调度;所述边缘分配目标网络基于获取到的所述独立任务信息集合进行实时训练;所述边缘分配网络的网络参数根据所述边缘分配目标网络的目标网络参数分段更新。进一步的,所述边缘分配目标网络的实时训练过程以及所述网络参数分段更新过程不会限定在最后一步执行,可以自所述边缘服务器收取完所有所述边缘网关的独立任务信息集合后执行,也可以在所述边缘分配网络输出所述最优服务器分配频率和所述最优调度顺序后的任何时间执行。具体的,请参阅图3,本发明提供的边缘调度方法在具体实施中,执行的原理为:1、生成边缘网关描述集合u={u1,u2,...,uk},生成任务描述集合g={ti,j|1≤j≤n,1≤i≤k},ti,j=(di,j,ci,j),其中di,j表示边缘网关ui中第j个任务的数据量大小,单位为比特;ci,j表示处理该任务所需cpu周期数,单位为周期/比特。2、初始化当前价值网络q1,q2与当前动作网络p的权重参数w,并同步目标价值网络q1',q2'与目标动作网络p'参数w’=w;初始化经验回放sumtree的默认数据结构,sumtree的v个叶子节点的优先级pv=1,step=0,epoch=0。3、预分类求解服务器分配频率fser,base=fser,best={f1,ser,...,fk,ser}。4、基于cpu处理任务所需周期数的卸载调度方法求卸载决策向量x;并根据卸载决策向量x对所有任务进行分类,卸载执行任务与本地执行任务分别放入集合s、l中,并计算初始状态s=(tc,ac);5、对集合u中的所有边缘网关的服务器分配频率fser,best={f1,ser,...,fk,ser}采用td3(twindelayeddeepdeterministicpolicygradientalgorithm,双延迟深度确定性策略梯度算法)算法求解;6、重复步骤4-步骤5共m轮后输出fser,best={f1,ser,...,fk,ser},最优目标值valbest。应用本发明大幅度降低了边缘计算网络中当任务资源有限时的任务执行延迟和耗能,提高了边缘计算系统的服务器资源利用率和边缘网关的电池寿命。作为优选方案,本实施例中,所述边缘分配网络的网络参数根据所述边缘分配目标网络的目标网络参数分段更新,具体为:在所述边缘分配目标网络在实时训练时,所述步骤s34中,每迭代设定次数,就将当期的所述目标网络参数以训练前的网络参数为基准,按照预定步长划分更新区段得到更新参数,作为所述边缘分配网络的网络参数进行更新。例如所述边缘分配网络当前的网络参数中某一个参数为10,所述边缘分配目标网络在训练后的网络参数中对应的参数值为11,此时将会优化所述边缘分配网络的网络参数,但不是直接将对应的参数值变更为11,而是将10到11之间按照预定步长划定更新区间,例如以0.2为一个预定长,在每次跟新此参数值时增加0.2。优选的,所述设定次数为20-80。进一步优选的,所述设定次数为50次。所述预定步长优选为待更新的网络参数的前后值之间的差值的5%-20%。优选为10%。使用本发明提供的分段更新的方式进行网络的参数的更新,则能够将配置所述最优网络参数的时间缩短,在实际运行中能够缩短一半的时间。作为优选方案,本实施例中,请参阅图3-4,所述独立任务信息集合具有若干独立任务信息,所述独立任务信息至少包括数据量、处理该任务所需cpu周期量;所述所需cpu周期量包括服务器所需周期量和边缘网关所需周期量;所述边缘分配网络使用双延迟深度确定性策略梯度算法针对所有所述边缘网关分别输出对应的最优服务器分配频率和最优调度顺序的执行步骤与所述边缘分配目标网络的实时训练步骤相同,具体包括:s31、基于所述独立任务信息集合,通过预分类求解所述边缘服务器为每个所述边缘网关分配的预分配频率;进一步的,请参阅图5-图6,在具体实施中,所述步骤s31中,所述预分配频率的具体获得步骤包括:s311、分别计算每个边缘网关的设备cpu频率占所有所述边缘网关的设备cpu频率之和的主频比例;在所述边缘服务器中按照所述主频比例为边缘网关分配cpu频率;s312、根据每个所述独立任务信息计算每个独立任务的本地执行时延,分别计算每个边缘网关的本地执行时延占所有所述边缘网关的所述本地执行时延之和的相对时延比;s313、根据所述主频比例和所述相对时延比例,分别计算每个所述边缘网关的分配权重;s314、根据所述分配权重和所述服务cpu频率分别计算每个所述边缘网关在边缘服务器中的预分配频率。所述步骤s31的运行原理具体为:边缘网关ui的任务ti,j在边缘服务器的执行时间表示为任务ti,j的本地执行时间表示为任务ti,j的卸载传输速度为:其中,w为传输带宽,g0为路径损耗常数,l0为相对距离,li为边缘网关到边缘服务器之间的实际距离,θ为路径损耗指数,n0为噪声功率谱密度,p表示边缘网关卸载任务ti,j到边缘服务器的传输功率。任务ti,j的卸载传输时间为任务ti,j的卸载传输耗能为e(i,j),s:任务ti的本地执行耗能为e(i,j),l:e(i,j),l=δlci,j(6)其中,δl为边缘网关每cpu周期耗能,单位为焦耳/周期。请参阅图6,其为预分类求解服务器分配频率的具体步骤:1)计算边缘网关ui的资源占系统总资源的比例fi,ratio:2)计算边缘网关ui的本地执行时延占系统总时延的相对比例ti,ratio:3)计算边缘网关ui的频率分配权重ηi;4)计算边缘网关的分配频率fi,base:fi,base=ηi*f(10)s32、所述边缘分配目标网络基于每个所述独立任务的服务器所需周期量和边缘网关所需周期量对所有独立任务进行分类,分别存入卸载任务集合与本地任务集合;进一步的,请参阅图7-图9,在具体实施中,所述步骤s32具体包括:s321、将所有所述边缘网关的所述独立任务信息根据卸载时间和服务器执行时间进行分类,将卸载时间小于服务器执行时间的所述独立任务信息添加到第一数组,并将所述第一数组中的所有的所述独立任务信息按照所述卸载时间升序排列;将卸载时间大于或等于所述服务器执行时间的所述独立任务信息添加到第二数组,并将所述第二数组中的所有所述独立任务信息根据所述服务器执行时间降序排列;s322、获取所述第一数组内每个所述独立任务信息的服务器执行时间和卸载时间,得到每个所述独立任务信息的服务器处理时间;获取所述第二数组内每个所述独立任务信息的本地执行时间;s323、获取所述第一数组内所有所述独立任务信息的总服务器处理时间与所述第二数组内所有所述独立任务信息的总本地执行时间之间的时间差值;s324、根据所述时间差值确定时间较长的数组内列后的所有所述独立任务信息,形成第三数组;将处理后的所述第一数组作为卸载任务集合,将处理后的所述第二数组作为本地任务集合;s325、将所述第三数组内的每个所述独立任务信息分别计算服务器处理时间和本地执行时间,将服务器处理时间大于所述本地执行时间的独立任务信息放入所述本地任务预分配集合,将服务器处理时间小于或等于所述本地执行时间的独立任务信息放入所述卸载任务预分配集合;s326、将所述第三数组中的所述独立任务信息分配完毕后,得到卸载任务集合和本地任务集合,并根据所述最终卸载任务集合得到卸载决策向量。在实际应用中,运行原理为:基于cpu处理任务所需周期数的卸载调度方法求卸载决策向量,基于cpu处理任务所需周期数的步骤如下:输入:边缘网关ui的所有任务集合gi,边缘网关ui的cpu频率fi,user,服务器分配给边缘网关ui的cpu频率fi,ser。输出:卸载任务集合si={si,1,si,2,...,si,ns},本地任务集合li={li,1,li,2,...,li,nl},卸载决策向量xi={xi,1,xi,2,...,xi,k}。1)根据gi中任务的处理该任务所需cpu周期数对所有任务降序排列,得到新的任务顺序2)设数组初始下标值为h=1,根据公式(11)(12)分别计算若放入本地集合li、卸载集合si后的完成时间3)若则放入本地集合li,任务的卸载决策变量xi,h=0,h=h+1,k0=k0+1,反复执行步骤i)直至退出该步进入步骤4)。反之,任务放入卸载集合si,任务的卸载决策变量xi,h=1,h=h+1,反复执行步骤ii)直至退出该步进入步骤4)。i)反复执行该步直至退出该步进入步骤4):比较若放入本地集合li和卸载集合si的完成时间的大小,根据式(13)计算任务li,k0完成时间,根据式(14)计算任务si,k1完成时间。若任务的卸载决策变量xi,h=0,任务放入本地集合li,h=h+1;反之任务放入卸载集合si,h=h+1,并执行4)。ii)反复执行该步直至退出该步进入步骤4):比较若放入本地集合li和卸载集合si的完成时间的大小,根据式(13)计算任务li,k0完成时间,根据式(14)计算任务si,k1完成时间。若任务的卸载决策变量xi,h=1,任务放入卸载集合si,k1,h=h+1;反之任务放入卸载集合si,h=h+1,并执行4)。其中4)若任务的卸载决策变量xi,h=0,任务放入本地集合li,否则任务的卸载决策变量xi,h=1,任务放入卸载集合si。h=h+1,反复执行该步直至h=n。对卸载集合si中所有任务进行分类,通过比较卸载传输时间和边缘服务器执行时间将卸载传输时间小于边缘服务器执行时间的任务加入数组pi,将pi中所有任务根据卸载传输时间升序排列。将卸载传输时间大于或等于边缘服务器执行时间的任务加入数组qi,将qi中所有任务根据边缘服务器执行时间降序排列。将数组qi加到数组pi后面得到新的任务顺序σi=[piqi]。s33、所述边缘分配目标网络使用双延迟深度确定性策略梯度算法对卸载任务集合中的独立任务进行服务器分配频率;s34、每执行步骤s32-s33为一次迭代,在经过预定次数的迭代后,输出最优服务器分配频率,并确定所述边缘分配目标网络的目标网络参数。优选的,所述预定次数为100-200,进一步优选为150次。作为优选方案,本实施例中,所述最优服务器分配频率的输出标准为:当迭代计算最终具有收敛结果,则输出迭代收敛的服务器分配频率作为所述最优服务器分配频率;否则,输出所述预分配频率作为所述最优服务器分配频率。具体的,所述步骤s33以及s34在具体执行中,运行原理包括:根据步骤s32求得的卸载任务集合和卸载决策向量,利用td3算法求解所有边缘网关u={u1,u2,...,uk}的服务器资源分配fser,best={f1,ser,...,fk,ser},的求解步骤如下:输入:迭代步长t,最大循环次数m,软更新步长τc,软更新权重比例τratio,样本采样权重系数β,衰减因子γ,探索率∈,当前价值网络q1与q2,目标价值网络q1'与q2',当前动作网络p与目标动作网络p',批量梯度下降的样本数m,sumtree的叶子节点数v。输出:服务器资源分配:fser,best={f1,ser,...,fk,ser}1)联合任务调度和服务器资源分配问题的目标是最小化能量消耗和所有任务的完成时间,优化问题的数学模型如(16)至(21)所示,记为原问题p1。其中式(16)为目标函数,式(17)至(21)为约束。其中表示排序后所有卸载任务的完成时间,ns表示所有卸载执行任务数。表示排序后所有卸载任务的完成时间,nl表示本地执行任务数。表示边缘服务器执行所有任务的总耗能。为排序后第j个卸载任务的完成时间,为集合si中第j个卸载任务的服务器处理时间。为集合si中第1至第j个卸载任务的传输时间,计算公式如式(15)所示。2)初始化一个状态s=(tc,ac)并对其进行归一化。其中,tc为当前状态下整个系统的系统消耗,由式(16)可得。ac为mec服务器的可用计算容量,计算方式如下:系统状态s的归一化方式如下:其中,tcσ和tcμ为系统消耗的均值与方差;acμ和acσ为服务器剩余频率的均值与方差。tcσ、tcμ、acσ、acμ的计算方式如下所示:3)以ε的概率生成一个随机动作a={(f1,ser,...fi,ser,...,fk,ser)|0≤fi,ser≤2fi,base,0≤i≤k}并获得一个新的系统状态s=(tc,ac)。或以1-ε的概率将状态s=(tc,ac)输入目标动作网络p'获得预测动作a={(f1,ser,...fi,ser,...,fk,ser)|0≤fi,ser≤2fi,base,0≤i≤k}。step=step+1。其中,εmax为收敛随机率,εmin为最小随机率,εconst为随机率常数,step为神经网络预测的次数。由目标动作网络p'计算预测动作a的方法如下:i).对目标动作网络p'的输出层添加均值为0方差为σ的高斯白噪声并裁剪到[0,1]之间,计算方式如下:其中,qk为目标动作网络p2'输出层第k个神经元的输出值。ii).对q=(q1,...,qk,...,qk)进行归一化,归一化方法如下:iii).将输出值qk调整到合适的动作区间,得到动作a:a=(q1,...,qk,...,qk)*2fi,base,1≤k≤k,k∈n*(28)4)根据动作a计算下一个状态s'=(tc,ac)。若ac<0则标志位end=true否则end=false,奖励r,将sam=(s,s',r,q,end)依次存入sumtree,并进行状态迭代:s=s'。其中,奖励r的计算公式如下:并计算该轮epoch的累计奖励。5)如果tc<tcbest,则tcbest=tc,fser,best=a。6)判断step>v,若是则此时经验池已存满则进入下一步,若否返回2)7)从sumtree中抽取m个样本训练神经网络,抽取方式如下:ⅰ)令i=1,j=1。对sumtree中的所有叶子节点求和得到根节点的优先级,值为l1,1。sumtree共有floor=1+log2v层。ⅰi)将根节点优先级l11平均分成个区间,在每个区间随机选取一个数,得到t=[t1,...,ti,...,ty]。ⅰii)按照ti从最顶上的根节点开始搜索。iv)设此时左边叶子节点的优先级为left,右边叶子节点的优先级为right。若left>ti,则进入左边叶子节点,反之进入右边叶子节点;若进入右边叶子节点,则ti=ti-left。j=j+1。重复该步骤直到j>floor。此时ti所对应的叶子节点所存储的样本为sami。v)重复上述步骤,直至选出sam=[sam1,...,samm]共m个样本为止。vi)并更新每个样本的优先级,样本优先级py更新方式如下:py=lossm+0.0001,y∈v(30)其中,lossm为样本m的价值损失值,0.0001是为了防止求和后l1,1=0。8)利用取出的m个样本进行反向传播以更新当前价值网络q1与q2,目标价值网络q1'与q’2,当前动作网络p与目标动作网络p'的所有参数。网络更新方式如下:i)将样本sam=(s,s',r,q,end)输入目标动作网络p'得到输出层向量q=(q1,...,qk,...,qk),并对其添加均值为0方差为σ的高斯白噪声并进行裁剪,添加与裁剪方式如式(24)所示。然后归一化并调整到合适区间得到预测动作a,归一化方式和调整方式如式(25)、(26)所示。ii)将系统状态(s',a)输入目标价值网络q1'和目标价值网络q2',获得目标价值vq=(vq1,vq2),将q2代入式(29),获得期望价值vqexp。其中,γ为衰减系数,其计算方式如下;其中,γmax为衰减系数最大值,γmin为衰减系数最小值,γconst为衰减系数常数。i)将系统状态(s,a)输入当前价值网络q1和目标价值网络q2,结合期望价值vqexp计算价值损失并执行梯度下降并反向传播以更新q1、q2价值网络的权重系数。其中,计算价值损失的方式如下:其中,vql,j为系统状态(s,a)输入当前价值网络q1和目标价值网络q2的价值。wsj为第j个样本所对应的样本权重,计算方式如下:其中,m为所抽取的样本数,pj为样本j的优先级,β为样本采样权重系数,计算方式如下:其中,βstart为采样权重系数初始值,βstart为采样权重系数常数。ii)计算样本m的平均价值损失,计算方式如下:由式(28)更新样本的优先级py。9)判断step%τc=0是否成立,若是则进入步骤10),否则进入步骤11)。10)将系统状态s输入当前动作网络p,获得预测动作a,将(s,a)代入当前价值网络q1获得动作损失lossa,并由动作损失lossa反向传播,更新当前价值网络q1和当前动作网络p。软更新当前动作网络p与当前价值网络q与目标价值网络q’的权重,软更新权重的方式如下:w'=w'(1-τratio)+w*τratio(37)其中,w'为目标网络的权重,w为当前网络的权重。11)判断end=trueorstep%t=0,若是则epoch=epoch+1并进入步骤6,否则返回步骤2)。判断epoch<m,若是则返回步骤s32,否则输出tcbest,fser,best。具体的奖励情况,可以参与图12,可以发现:累计奖励持续增加,每一轮预测的动作所获得的奖励都在整体提升。如图10和11所示,作为优选方案,本实施例中,所述边缘分配网络由价值网络和动作网络组成;所述边缘分配目标网络由价值目标网络和动作目标网络组成。进一步的,所述价值网络优选为两个,所述动作网络优选为一个,组成一个所述边缘分配网络。所述价值目标网络优选为两个,所述动作网络优选为一个,对应的组成所述边缘分配目标网络,在对所述边缘分配目标网络进行实时训练时,进行联合训练,在对应进行实时边缘分配网络的网络参数更新时,是同时针对三个网络(两个价值网络和一个动作网络)进行同步更新。具体的,所示价值网络主要用于监督所示动作网络的运行,所示动作网络主要用于输出所述最优服务器分配频率以及最优调度顺序,在所述动作网络中,k层为神经元,分别与所述边缘网关连接,用于接收所述边缘网关上传的独立任务信息集合,以及向对应的边缘网关发送所述最优调度顺序;在本实施例中,边缘计算系统具有多少个所述边缘网关则所述动作网络具有相同数据数量的神经元。具体的,以下以一个边缘计算系统为例进行详细说明。图2所示为边缘计算场景模型示意图,含有一个边缘服务器,k个移动边缘网关(k=2),有7个独立的任务(n=7)。设计算任务的集合为每个任务ti,j所需处理的数据量为di,j,每个任务ti,j的处理每单位数据所需cpu周期为ci,j,每个任务对应的最大传输功率为pmax=100mw,边缘网关到边缘服务器的传输距离为l={l1,l2}。s1-1初始化任务集合,任务ti,j的di,j和ci,j如表1所示,为了便于求解最优解,设两个边缘网关对应的传输功率分别为p=(64.248,59.039)mw,边缘网关每cpu周期的耗能δl=1.6541*10-9w/hz,边缘网关的cpu频率为fuser=(0.5,1)ghz,边缘网关u={u1,u2}到边缘服务器的距离为l=(154.881,171.518)m。边缘服务器的cpu频率为fser=2ghz。每个边缘网关传输带宽为5mhz。表1各个任务的参数表系统参数如表2所示。表2任务的执行时间和能耗表s1-2初始化价值网络q1,q2,q1',q'2和动作网络p,p'的权重参数。初始化经验回放sumtree的默认数据结构,sumtree的v(v=64)个叶子节点的优先级pv=1,epoch=0。神经网络结构如图6图7所示。s1-3求解服务器预分类分配频率:计算g=(g1,g2)中各个任务的本地执行时间任务传输时间任务传输耗能e(i,j),s、本地执行耗能e(i,j),l,计算结果表3所示:表3任务的执行时间和能耗表由式(7)可算得边缘网关u={u1,u2}i的本地资源占系统总资源的相对比例fi,ratio=(0.016,0.327)。由式(8)可算得边缘网关u={u1,u2}的本地执行时延占系统总时延的相对比例ti,ratio=(0.063,0.936)由式(9)可算得边缘网关u={u1,u2}的频率分配权重ηi=(0.576,0.424)。由式(10)可算得边缘网关的分配频率fi,base=(1.15*109,8.49*108)s1-4基于cpu处理任务所需周期数的卸载调度方法求卸载决策向量:s2-1根据gi中任务的处理该任务所需cpu周期数对所有任务降序排列,得到新的任务顺序表4任务的所需cpu周期数大小排序表g1t1,6t1,4t1,5t1,1t1,2t1,3t1,7g2t2,7t2,2t2,5t2,6t2,4t2,1t2,3s2-2设数组初始下标值为h=1,根据公式(1)(2)以及fi,base分别计算任务放入本地集合li、卸载集合si后的完成时间s2-3若则放入本地集合li,任务的卸载决策变量xi,h=0,h=h+1,k0=k0+1,反复执行步骤s3-1)直至退出该步进入步骤s2-4)。反之,任务放入卸载集合si,任务的卸载决策变量xi,h=1,h=h+1,反复执行步骤s3-2)直至退出该步进入步骤s2-4)。s3-1反复执行该步直至退出该步进入步骤s2-4):比较若放入本地集合li和卸载集合si的完成时间的大小,根据式(13)计算任务li,k0完成时间,根据式(14)计算任务si,k1完成时间。若任务的卸载决策变量xi,h=0,任务放入本地集合li,h=h+1;反之任务放入卸载集合si,h=h+1,并执行s2-4)。s3-2反复执行该步直至退出该步进入步骤s2-4):比较若放入本地集合li和卸载集合si的完成时间的大小,根据式(13)计算任务li,k0完成时间,根据式(14)计算任务sik1完成时间。若任务的卸载决策变量xi,h=1,任务放入卸载集合si,k1,h=h+1;反之任务放入卸载集合si,h=h+1,并执行s2-4)。s2-4若任务的卸载决策变量xi,h=0,任务放入本地集合li,否则任务的卸载决策变量xi,h=1,任务放入卸载集合si。h=h+1,反复执行该步直至h=n。此时,集合si和集合li中的任务分布如表5所示:表5集合s和集合l中的任务分布s2-5对卸载集合si中所有任务进行分类,通过比较卸载传输时间和边缘服务器执行时间将卸载传输时间小于边缘服务器执行时间的任务加入数组pi,将pi中所有任务根据卸载传输时间升序排列。将卸载传输时间大于或等于边缘服务器执行时间的任务加入数组qi,将qi中所有任务根据边缘服务器执行时间降序排列。将数组qi加到数组pi后面得到新的任务顺序σi=[piqi]。此时,集合pi、集合qi中的任务分布如表6所示:表6集合pi、qi中的任务分布p1t1,1t1,3t1,2q1t1,5t1,4t1,6p2t2,5t2,6t2,4t2,1q2t2,2s1-5根据步骤s1-4求得的卸载任务集合和卸载决策向量,利用td3算法求解所有边缘网关u={u1,u2,...,uk}的服务器资源分配fser,best={f1,ser,...,fk,ser}:s4-1构造优化问题p1。s4-2随机生成一个在(0,1)之间的小数ε0,若ε0<ε则生成一个随机动作a,否则将状态s输入目标动作网络p',预测值为q并将其归一化调整至合适区间得到动作a。step=step+1。此时,ε0=0.15,ε=0.2,ε0<ε,生成的随机动作为a=(1.046*109,9.5308*108)。s4-3根据动作a计算下一个归一化状态s'=(0.0071,0),end=false,奖励r=0.31,将(s,s',r,q,end)存入sumtree,状态迭代s=s',目标值tc=0.0286。s4-4判断tc<tcbest是否成立,成立则tcbest=tc,fser,best=fser。不成立则直接进入s4-5。s4-5判断step>v是否满足,若不满足则返回步骤s4-2,满足则进入步骤s4-6。s4-6从sumtree中抽取m个样本训练神经网络q1,q2,p,更新每个样本的优先级。。s4-7判断step%c=0是否成立,成立则软更新神经网络q1',q2',p'的权重,不成立则直接进入s4-8。s4-8判断end=trueorstep%t=0是否成立,成立则epoch=epoch+1。不成立则返回步骤s4-2。s1-6判断epoch<m是否成立,成立则输出tcbest,fser,best,不成立则返回步骤s1-4。最终优化结果如下表所示:系统执行延迟0.011825系统消耗0.021417服务器分配频率[1.03294728e+099.67052723e+08]综上所述,强化学习可以通过有别于传统优化算法的尝试-回报反馈机制,自己创造经验进行学习,完成优化目标。而深度学习算法可以学习历史数据特征,训练完成之后相比传统优化算法有极大的效率提升。联合任务调度和资源分配方法是一种结合了调度优化和强化学习的一种卸载迭代算法:1、先固定分配给边缘网关的服务器频率,然后求能达到最小完成时间的任务卸载顺序和卸载决策。2、由上一步得到的卸载顺序固定不变的条件下求各个卸载任务在该卸载顺序下所对应的最优服务器分配频率。反复进行这两步迭代最终得到最优服务器分配频率和最优调度顺序。本发明还提供一种边缘计算系统,包括边缘服务器以及与所述边缘服务器通信连接的若干个边缘网关,边缘服务器与若干所述边缘网关之间使用所述的基于双延迟深度确定性策略边缘计算资源调度方法进行工作。联合任务调度和资源分配方法是一种结合了调度优化和强化学习的一种卸载迭代算法:1、先固定分配给边缘网关的服务器频率,然后求能达到最小完成时间的任务卸载顺序和卸载决策。2、由上一步得到的卸载顺序固定不变的条件下求各个卸载任务在该卸载顺序下所对应的最优服务器分配频率。反复进行这两步迭代最终得到最优服务器分配频率和最优调度顺序。使求取最优服务器分配频率的结果更快,能够适应更加复杂的系统够成。可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1