边缘计算网络任务调度与资源分配方法和边缘计算系统与流程

文档序号:23175548发布日期:2020-12-04 14:06阅读:350来源:国知局
边缘计算网络任务调度与资源分配方法和边缘计算系统与流程
本发明涉及边缘计算,尤其涉及边缘计算网络任务调度与资源分配方法以及边缘计算系统。
背景技术
:第五代移动通信技术(5g)正面临着爆炸式数据流量增长和大规模设备连接的新挑战。虚拟现实、增强现实、无人驾驶汽车和智能电网等5g网络新业务对延迟提出了更高的要求,同时这些计算密集型应用也会消耗大量的能量,用户设备自身无法解决这些问题,移动边缘计算应运而生。移动边缘计算把计算和存储资源部署在移动网络边缘,来满足某些应用的严苛的延迟要求。边缘设备可以通过无线信道将计算任务整体或部分卸载到mec服务器进行计算,降低延迟和能耗,从而获得良好的用户体验。现有的传统优化算法对于解决mec计算卸载与资源资源分配问题是可行的,但是传统优化算法并不是很适用于高实时性的mec系统。因现有技术主要采用凸优化方法求解移动边缘计算中的卸载决策和资源分配问题,但是凸优化无法解决非凸问题。问题p1可以通过寻找最优卸载决策和计算卸载的资源分配来解决。然而卸载决策向量x是二元变量的可行集并且目标函数是非凸问题。此外,当任务数增加时,问题p1的求解难度将会呈指数规模增加,因此其是一个从背包问题扩展而来的非凸问题,是np难题。申请号为201910959379.1的专利文献公开了一种超密网边缘计算的计算资源分配与任务卸载方法,包括以下步骤:步骤1,基于sdn的超密网边缘计算网络建立系统模型,获取网络参数;步骤2,获取边缘计算所需参数:依次通过本地计算、卸载到宏基站的边缘服务器和卸载到连接小基站s的边缘服务器,得到传输计算任务的上行链路数据率;步骤3,采用q-learning方案,得到最优计算资源分配以及任务卸载策略;步骤4,采用dqn方案,得到最优计算资源分配以及任务卸载策略。它通过在学习变量的基础上刺激智能体找到最优解而适用于动态系统。在强化学习(rl)算法中,q-learning在某些时变网络中表现良好。将深度学习技术与q-learning相结合,提出一种基于深度q网络(dqn)的学习方案,不仅在时变环境下实现同时优化移动设备和运营商的效益,而且比基于q-learning的方法学习时间更短,收敛更快。但是依然没有解决上述问题。因而现有的边缘计算中任务调度和资源分配上存在不足,还有待改进和提高。技术实现要素:鉴于上述现有技术的不足之处,本发明的目的在于提供边缘计算网络任务调度与资源分配方法以及边缘计算系统,用针对多用户基于流水车间调度原理的部分卸载决策与调度算法解决移动设备上的卸载决策和卸载调度问题,用强化学习方法解决服务器端的资源分配问题。为了达到上述目的,本发明采取了以下技术方案:一种边缘计算网络任务调度与资源分配方法,使用边缘服务器和若干个移动边缘设备构建边缘计算系统,在移动边缘设备中构建应用q网络,边缘服务器中构建目标q网络,包括步骤:s1、边缘服务器接收所有所述移动边缘设备的独立任务信息、边缘设备的设备cpu频率、传输所有所述独立任务信息的传输功率;所述独立任务信息包括所述独立任务信息的数据量和所在的所述移动边缘设备处理每单位数据量所需cpu周期;s2、对所述移动边缘设备的应用q网络进行初始化得到网络参数,并根据所述网络参数在所述边缘服务器同步目标q网络;s3、使用所述目标q网络根据所述设备cpu频率、所述边缘服务器的服务cpu频率、所述传送功率、所述数据量、所述cpu周期和所述网络参数采用服务器频率分配预分类方法,分别得到每个所述移动边缘设备的在所述边缘服务器上的预分配频率;s4、使用所述目标q网络基于流水车间作业调度的卸载调度方法得到卸载决策向量和卸载任务集合;s5、根据所述卸载决策向量和所述卸载任务集合利用强化学习方法对目标q网络进行优化,同步优化应用q网络,求解边缘设备的服务器资源分配,得到服务器分配频率和有序卸载集合;s6、以步骤s4-s5为一次分配迭代,判定迭代次数是否小于预定值,若是,则执行步骤s4,若否,则输出最优服务器分配频率和最优调度顺序。优选的所述的边缘计算网络任务调度与资源分配方法,所述步骤s3具体包括:s31、分别计算每个移动边缘设备的所述设备cpu频率占所有所述移动边缘设备的所述设备cpu频率之和的主频比例;s32、根据每个所述独立任务信息计算每个独立任务的本地执行时延,分别计算每个移动边缘设备的本地执行时延占所有所述移动边缘设备的所述本地执行时延之和的相对时延比例;s33、根据所述主频比例和所述相对时延比例,分别计算每个所述移动边缘设备的分配权重;s34、根据所述分配权重和所述服务cpu频率分别计算每个所述移动边缘设备在边缘服务器中的分配频率。优选的所述的边缘计算网络任务调度与资源分配方法,步骤s33中,所述分配权重的计算公式为:其中,ηi为每个所述移动边缘设备的分配权重;ti,ratio为移动边缘设备的本地执行时延占系统总时延的时延比例;fratio,i为移动边缘设备的资源占系统总资源的资源比例。优选的所述的边缘计算网络任务调度与资源分配方法,所述步骤s4具体包括:s41、将所有所述移动边缘设备的所述独立任务信息根据卸载时间和服务器执行时间进行分类,将卸载时间小于服务器执行时间的所述独立任务信息添加到第一数组,并将所述第一数组中的所有的所述独立任务信息按照所述卸载时间升序排列;将卸载时间大于或等于所述服务器执行时间的所述独立任务信息添加到第二数组,并将所述第二数组中的所有所述独立任务信息根据所述服务器执行时间降序排列;s42、对所述第一数据组和所述第二数组中的独立任务信息进行调度优化,得到卸载决策向量和卸载任务集合。优选的所述的边缘计算网络任务调度与资源分配方法,所述步骤s4中,所述调度优化具体包括:s421、获取所述第一数组内每个所述独立任务信息的服务器执行时间和卸载时间,得到每个所述独立任务信息的服务器处理时间;获取所述第二数组内每个所述独立任务信息的本地执行时间;s422、获取所述第一数组内所有所述独立任务信息的总服务器处理时间与所述第二数组内所有所述独立任务信息的总本地执行时间之间的时间差值;s423、根据所述时间差值确定时间较长的数组内列后的所有所述独立任务信息,形成第三数组;将处理后的所述第一数组作为卸载任务集合,将处理后的所述第二数组作为本地任务集合;s424、将所述第三数组内的每个所述独立任务信息分别计算服务器处理时间和本地执行时间,将服务器处理时间大于所述本地执行时间的独立任务信息放入所述本地任务预分配集合,将服务器处理时间小于或等于所述本地执行时间的独立任务信息放入所述卸载任务预分配集合;s425、将所述第三数组中的所述独立任务信息分配完毕后,得到卸载任务集合和本地任务集合,并根据所述最终卸载任务集合得到卸载决策向量。优选的所述的边缘计算网络任务调度与资源分配方法,所述步骤s2中,在对所述目标q网络初始化前,所述边缘服务器为每个所述移动边缘设备构建对应的目标q网络。优选的所述的边缘计算网络任务调度与资源分配方法,所述步骤s5具体包括:s51、通过提出优化问题,根据优化问题使用强化学习方法对所述目标q网络进行奖励迭代,同时构建奖励树;s52、使用所述奖励树对目标q网络进行训练,并根据所述目标q网络的网络参数同步更新应用q网络的网络参数;s53、得到服务器的服务器资源分配。优选的所述的边缘计算网络任务调度与资源分配方法,所述步骤s51中,所述奖励迭代的奖励公式为:其中,r(s,a)为奖励结果;tc为系统消耗;为单一独立任务的本地执行时间;e(i,j),l为单一独立任务的本地执行耗能。优选的所述的边缘计算网络任务调度与资源分配方法,所述步骤s6中,所述预定值为100-200。一种使用所述的边缘计算网络任务调度与资源分配方法的边缘计算系统,包括边缘服务器和若干移动边缘设备;边缘服务器与若干所述移动边缘设备之间使用所述联合任务调度和资源分配方法进行工作。相较于现有技术,本发明提供的边缘计算网络任务调度与资源分配方法以及边缘计算系统,具有有益效果:本发明提供的联合任务调度和资源分配方法,使用强化学习方法对边缘服务器中目标q网络进行训练,同步对移动边缘设备中的应用q网络进行更新,同时输出最佳的服务器分配频率和最优的调度方案,在大幅度降低能量消耗的同时大幅度降低延迟,从而提高用户体验和能量、网络资源利用率。附图说明图1是本发明提供的边缘计算网络任务调度与资源分配方法的流程图;图2是本发明提供的边缘计算系统的结构图;图3是本发明所采用的q网络结构图。具体实施方式为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。本发明提供的边缘计算网络联合任务调度和资源分配方法的相关概念如下:卸载:是指将网络边缘端的设备中的任务上传到边缘服务器执行;卸载调度:是指将网络边缘端的设备中的任务上传到边缘服务器执行的任务执行顺序;卸载决策:决定将网络边缘端设备中的哪些任务上传到边缘服务器执行;系统延迟:组成边缘计算系统中的所有设备中的最后一个任务的完成时间即为卸载延迟;系统能耗:完成边缘计算系统中所有设备的任务所需要消耗的能量;凸优化:是数学最优化的一个子领域,研究定义于凸集中的凸函数最小化的问题;强化学习:是机器学习的范式和方法论之一,用于描述和解决智能体(agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题。请参阅图1和图2,图2中,mecserver为边缘服务器,enb为通信基站,其他均为移动边缘设备(手机或计算机)。本发明提供一种边缘计算网络任务调度与资源分配方法,使用边缘服务器和若干个移动边缘设备构建边缘计算系统,在移动边缘设备中构建应用q网络,边缘服务器中构建目标q网络,包括步骤:s1、边缘服务器接收所有所述移动边缘设备的独立任务信息、边缘设备的设备cpu频率、传输所有所述独立任务信息的传输功率;所述独立任务信息包括所述独立任务信息的数据量和所在的所述移动边缘设备处理每单位数据量所需cpu周期;相应的,首先将所有移动边缘设备u={u1,u2,…,uk}中移动边缘设备ui的所有独立任务抽象成包含两个特征的任务集合g={ti,j|1≤j≤n,1≤i≤k},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,初始化目标值valbest=100;s2、对所述移动边缘设备的应用q网络进行初始化得到网络参数,并根据所述网络参数在所述边缘服务器同步目标q网络;相应的,初始化所述应用q网络参数w,并同步所述目标q’网络的网络参数w’=w;初始化经验回放sumtree的默认数据结构,sumtree的v个叶子节点的优先级pv=1,step=0,epoch=0;s3、使用所述目标q网络根据所述设备cpu频率、所述边缘服务器的服务cpu频率、所述传送功率、所述数据量、所述cpu周期和所述网络参数采用服务器频率分配预分类方法,分别得到每个所述移动边缘设备的在所述边缘服务器上的预分配频率;s4、使用所述目标q网络基于流水车间作业调度的卸载调度方法得到卸载决策向量和卸载任务集合;s5、根据所述卸载决策向量和所述卸载任务集合利用强化学习方法对所述预分配频率进行优化,求解边缘设备的服务器资源分配,得到服务器分配频率和调度顺序,同步优化应用q网络;s6、以步骤s4-s5为一次分配迭代,判定迭代次数是否小于预定值,若是,则执行步骤s4,若否,则输出最优服务器分配频率和最优调度顺序。相应的,判断epoch<m,若是则返回步骤4,否则输出最优服务器分配频率fser,best和最优调度顺序valbest。具体的,本发明提供的任务调度和资源分配方法,基于强化学习的dqn算法,解决了移动边缘计算系统中的卸载决策、卸载调度、服务器资源分配问题,通过有效的卸载资源调度和服务器资源分配方法,提高计算资源的利用率并减小任务延迟。强化学习算法很适合解决资源分配问题,如mec服务器资源分配。强化学习可以通过有别于传统优化算法的尝试-回报反馈机制,自己创造经验进行学习,完成优化目标。而深度学习算法可以学习历史数据特征,训练完成之后相比传统优化算法有极大的效率提升。联合任务调度和资源分配方法是一种结合了调度优化和强化学习的一种卸载迭代算法:1、先固定分配给边缘设备的服务器频率,然后求能达到最小完成时间的任务卸载顺序和卸载决策。2、由上一步得到的卸载顺序固定不变的条件下求各个卸载任务在该卸载顺序下所对应的最优服务器分配频率。反复进行这两步迭代最终得到最优服务器分配频率和最优调度顺序。作为优选方案,本实施例中,所述步骤s3具体包括:s31、分别计算每个移动边缘设备的所述设备cpu频率占所有所述移动边缘设备的所述设备cpu频率之和的主频比例;s32、根据每个所述独立任务信息计算每个独立任务的本地执行时延,分别计算每个移动边缘设备的本地执行时延占所有所述移动边缘设备的所述本地执行时延之和的相对时延比例;s33、根据所述主频比例和所述相对时延比例,分别计算每个所述移动边缘设备的分配权重;s34、根据所述分配权重和所述服务cpu频率分别计算每个所述移动边缘设备在边缘服务器中的分配频率。具体的,求解服务器预分类分配频率fser,base=fser,best={f1,ser,...,fk,ser}。移动边缘设备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周期耗能,单位为焦耳/周期。1)计算移动边缘设备ui的资源占系统总资源的比例fratio,i:2)计算移动边缘设备ui的本地执行时延占系统总时延的相对比例ti,ratio:3)计算移动边缘设备ui的频率分配权重ηi:4)计算移动边缘设备在所述边缘服务器中的分配频率fi,base:fi,base=ηi*f(10)作为优选方案,本实施例中,所述步骤s4具体包括:s41、将所有所述移动边缘设备的所述独立任务信息根据卸载时间和服务器执行时间进行分类,将卸载时间小于服务器执行时间的所述独立任务信息添加到第一数组pi,并将所述第一数组pi中的所有的所述独立任务信息按照所述卸载时间升序排列;将卸载时间大于或等于所述服务器执行时间的所述独立任务信息添加到第二数组qi,并将所述第二数组qi中的所有所述独立任务信息根据所述服务器执行时间降序排列;s42、对所述第一数据组pi和所述第二数组qi中的独立任务信息进行调度优化,得到卸载决策向量和卸载任务集合。作为优选方案,本实施例中,所述步骤s4中,所述调度优化具体包括:s421、获取所述第一数组pi内每个所述独立任务信息的服务器执行时间和卸载时间,得到每个所述独立任务信息的服务器处理时间;获取所述第二数组qi内每个所述独立任务信息的本地执行时间;s422、获取所述第一数组pi内所有所述独立任务信息的总服务器处理时间与所述第二数组qi内所有所述独立任务信息的总本地执行时间之间的时间差值;s423、根据所述时间差值确定时间较长的数组内列后的所有所述独立任务信息,形成第三数组m;将处理后的所述第一数组pi作为卸载任务预分配集合si,将处理后的所述第二数组qi作为本地任务预分配集合li;s424、将所述第三数组m内的每个所述独立任务信息分别计算服务器处理时间和本地执行时间,将服务器处理时间大于所述本地执行时间的独立任务信息放入所述本地任务预分配集合li,将服务器处理时间小于或等于所述本地执行时间的独立任务信息放入所述卸载任务预分配集合si;s425、将所述第三数组m中的所述独立任务信息分配完毕后,得到卸载任务集合si和本地任务集合li,并根据所述最终卸载任务集合s得到卸载决策向量xi={xi,1,xi,2,...,xi,k}。具体的,基于流水车间作业调度的卸载调度方法求卸载决策向量,基于流水车间作业调度的卸载调度方法(通过所述目标q网络实现)的步骤如下:输入:移动边缘设备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)对所有独立任务ti,j进行分类,通过比较卸载传输时间和边缘服务器执行时间将卸载传输时间小于边缘服务器执行时间的独立任务加入所述第一数组pi,将第一数组pi中所有独立任务根据卸载传输时间升序排列。将卸载传输时间大于或等于边缘服务器执行时间的独立任务加入所述第二数组qi,将第二数组qi中所有独立任务根据边缘服务器执行时间降序排列。将第二数组qi加到第一数组pi后面得到新的任务顺序σi=[piqi]。2)设第一数组pi和第二数组qi的初始下标值分别为hp=1和hq=1,从第一数组pi中取出独立任务pi[hp]放入卸载任务预分配集合si,独立任务pi[hp]的卸载决策变量hp=hp+1。从第二数组qi中取出独立任务qi[hq]放入本地任务预分配集合li,独立任务qi[hq]的卸载决策变量hq=hq+1。3)计算本地任务预分配集合li中新加入的第一个任务k0=1的完成时间计算卸载任务预分配集合si中新加入的第一个任务k1=1的完成时间分别如式(11)和式(12)所示。4)比较的大小,若说明本地任务预分配集合li中新加入的任务k0先执行完,则执行步骤i),否则执行步骤ii),以下两步循环执行直至跳出循环:ⅰ)从第二数组qi中反复取独立任务qi[hq]放入本地任务预分配集合li,独立任务ti,j的卸载决策变量xi=0,hq=hq+1,k0=k0+1,根据式(11)计算新加入的独立任务k0的完成时间,比较与如果小于并且第二数组qi中还有任务,则继续执行步骤ⅰ);如果大于并且第二数组qi中还有独立任务,则执行步骤ii);如果小于并且第二数组qi中没有独立任务了,则说明第二数组qi中独立任务被取完且本地任务预分配集合li中所有独立任务完成时间仍小于卸载任务预分配集合si中所有独立任务的完成时间,则执行步骤5),并将qn标志位置1,表示第二数组q集合被提前分配完且第一数组pi集合有剩余。ii)从第一数组p中反复取独立任务pi[hp]放入卸载任务预分配集合si,独立任务ti,j的卸载决策变量xi=1,hp=hp+1,k1=k1+1,根据式(12)计算新加入的任务k1的完成时间,比较与如果小于并且第一数组p中还有独立任务,则继续执行步骤ii);如果大于并且第一数组pi中还有独立任务,则执行步骤ⅰ);如果小于并且第一数组pi中没有独立任务了,则说明第一数组pi中独立任务被取完且卸载任务预分配集合si中所有独立任务完成时间仍小于本地任务预分配集合li中所有独立任务的完成时间,则执行步骤5),并将pn标志位置1,表示第一数组pi集合被提前分配完且第二数组qi集合有剩余。其中5)检测标志位pn、qn。若qn=1,则第一数组pi中独立任务仍有剩余,将第一数组pi中所有独立任务存入第三数组m;若pn=1,则第二数组qi中独立任务仍有剩余,将第二数组qi中所有独立任务存入第三数组m;6)取出集合第三数组m中的独立任务,根据公式(13)、(14)分别求出若该独立任务加入本地任务预分配集合l、卸载任务预分配集合s中的完成时间7)比较两者大小,若则将独立任务加入本地任务预分配集合l,否则将独立任务加入卸载任务预分配集合s。8)反复执行步骤6)到步骤7),直至第三数组m中独立任务被取完为止。作为优选方案,本实施例中,所述步骤s5中,对所述目标q网络使用所述强化学习方法进行多次优化迭代,每次优化迭代同步使用所述目标q网络优化所述应用q网络。具体的,根据步骤4求得的卸载任务集合和卸载决策向量,利用强化学习的方法求解所有移动边缘设备u={u1,u2,…,uk}的服务器资源分配fser,best={f1,ser,...,fk,ser},的求解步骤如下:输入:迭代步长t,采样权重系数β,衰减因子γ,探索率∈,当前应用q网络q,目标q网络q’,目标q网络q’参数更新频率c,批量梯度下降的样本数m,sumtree的叶子节点数v。输出:服务器资源分配:fser,best={f1,ser,...,fk,ser}1)联合任务调度和服务器资源分配问题的目标是最小化能量消耗和所有任务的完成时间,优化问题的数学模型如(16)至(21)所示,记为原问题p1。其中式(16)为目标函数,式(17)至(21)为约束。其中表示排序后所有卸载任务的完成时间,ns表示所有卸载执行任务数。表示排序后所有卸载任务的完成时间,nl表示本地执行任务数。表示边缘服务器执行所有任务的总耗能。为排序后第j个卸载任务的完成时间,为集合s中第j个卸载任务的服务器执行时间。为集合s中第1至第j个卸载任务的传输时间,计算公式如式(15)所示。2)以ε的概率生成一个随机动作a={(f1,ser,...fi,ser,...,fk,ser)|0≤fi,ser≤2fi,base,0≤i≤k},或以1-ε的概率将状态s=(tc,ac)输入目标网络q',由神经网络预测出动作a。其中,tc为当前状态下整个系统的系统消耗,由式(16)可得。输出动作a对应的输出层神经元索引aid={a1,id,...,ai,id,...ak,id},step=step+1。计算aid的方法如下:ⅰ)对于随机动作a=(f1,ser,...fi,ser,...,fk,ser),首先生成一个数组fi,list,fi,list为取值范围在(0,2fi,base)之间,共sec个数组成的等差数列,sec为神经网络预测范围的分段数。依次将a中的频率fi,ser插入fi,list,并对fi,list就地升序排列,fi,ser在fi,list中的顺序序号即为fi,ser在fi,list中的索引idx,故fi,ser对应输出层神经元的索引ai,id为(i-1)*sec+idx。ii)对于神经网络的预测动作a=(f1,ser,...fi,ser,...,fk,ser),直接输出动作a对应的输出层神经元索引即可。ac为mec服务器的可用计算容量,计算方式如下:ε的计算方式如下:其中,εend为收敛随机率,εinit为初始随机率,εconst为随机率常数。3)根据动作a计算下一个状态s'=(tc,ac)。若ac<0则标志位end=true否则end=false,奖励r,将sam=(s,s',r,aid,end)依次存入sumtree,并进行状态迭代:s=s'。其中,奖励r的计算公式如下:4)如果tc<tcbest,则tcbest=tc,fser,best=a。5)判断step>v,若是则此时经验池已存满则进入下一步,若否返回2)6)从sumtree中抽取m个样本训练神经网络q,抽取方式如下:ⅰ)令i=1,j=1。对sumtree中的所有叶子节点求和得到根节点的值,值为l1,1。sumtree共有floor=1+log2v层。ⅰi)将根节点值l1,1平均分成个区间,在每个区间随机选取一个数,得到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=lossy+0.0001,y∈v(25)其中,lossy为样本y的损失值,0.0001是为了防止求和后l1,1=0。7)判断step%c=0,若是则进入步骤8),否则进入步骤9)。8)同步当前网络q与目标网络q’的权重:w’=w。9)判断end=trueorstep%t=0,若是则epoch=epoch+1并进入步骤s6,否则返回步骤2)作为优选方案,本实施例中,所述步骤s2中,在对所述目标q网络初始化前,所述边缘服务器为每个所述移动边缘设备构建对应的目标q网络。作为优选方案,本实施例中,所述步骤s6中,所述预定值为100。以下,请一并参阅图1-图3,同时以上述实施例中内容为基础,以图2所示的移动边缘计算场景模型使用本发明提供的任务调度和资源分配方法,进行详细说明。其中,本实施例中,边缘计算模型还有一个边缘服务器,2个移动边缘设备,每个所述移动边缘设备还有7个独立任务,即移动边缘设备的数量k=2,独立任务的数量n=7。相应的,以计算独立任务的集合为每个独立任务ti,j所需处理的数据量为di,j,每个独立任务ti,j的处理每单位数据所需cpu周期为ci,j,每个独立任务对应的最大传输功率为pmax=100mw,移动边缘设备到边缘服务器的传输距离为l={l1,l2}。s1-1初始化任务集合,独立任务ti,j的数据量di,j和所需cpu周期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,初始化目标值valbest的初值为100。表1各个任务的参数表系统参数如表2所示。表2任务的执行时间和能耗表s1-2初始化应用q网络q的网络参数w,并同步目标q网络q’的网络参数w’=w。初始化经验回放sumtree的默认数据结构,sumtree的v(v=64)个叶子节点的优先级pv=1,epoch=0。神经网络结构如图3所示。s1-3求解服务器预分类分配频率:计算各个独立任务的本地执行时间任务传输时间任务传输耗能e(i,j),s、本地执行耗能e(i,j),l,计算结果表3所示:表3任务的执行时间和能耗表由式(7)可算得移动边缘设备u={u1,u2}的本地执行时延占系统总时延的相对比例fratio,i=(0.016,0.327)。由式(8)可算得移动边缘设备u={u1,u2}的本地执行时延占系统总时延的相对比例ti,ratio=(0.063,0.936)由式(9)可算得移动边缘设备u={u1,u2}的频率分配权重ηi=(0.057,0.424)。由式(10)可算得移动边缘设备的分配频率fi,base=(1.15*109,8.49*108)。s1-4基于流水车间作业调度的卸载调度方法求卸载决策向量:s4-1对所有独立任务ti,j进行分类,通过比较同一独立任务的卸载传输时间和边缘服务器执行时间将卸载传输时间小于边缘服务器执行时间的独立任务加入第一数组pi,将第一数组pi中所有任务根据卸载传输时间升序排列。将卸载传输时间大于或等于边缘服务器执行时间的独立任务加入第二数组qi,将第二数组qi中所有任务根据边缘服务器执行时间降序排列。将第二数组qi加到第一数组pi后面得到新的任务顺序σi=[piqi]。任务第一数组p中所有独立任务的卸载时间边缘服务器执行时间如表4所示:表4第一数组p中独立任务的卸载时间和执行时间任务第二数组q中所有独立任务的卸载时间服务器执行时间如表5所示:表5第二数组q中独立任务的卸载时间和执行时间s4-2第二数组pi和第一数组qi的初始下标值分别为hp=1和hq=1,从第一数组pi中取出pi[hp]放入卸载任务预分配集合s,独立任务pi[hp]的卸载决策变量hp=hp+1。从第二数组q中取出qi[hq]放入本地任务预分配集合l,独立任务qi[hq]的卸载决策变量s4-3由式(11)和式(12),计算本地任务预分配集合li中新加入的第一个任务k0=1的完成时间计算卸载任务预分配集合si中新加入的第一个任务k1=1的完成时间s4-4比较的大小,若说明本地任务预分配集li中新加入的任务k0先执行完,则执行步骤s44-1,否则执行步骤s44-2,以下两步循环执行直至跳出循环:s44-1从第二数组qi中反复取独立任务q[hq]放入本地任务预分配集合li,独立任务ti,j的卸载决策变量xi=0,hq=hq+1,k0=k0+1,根据式(13)计算新加入的独立任务k0的完成时间,比较与如果小于并且第二数组qi中还有独立任务,则继续执行步骤s44-1;如果大于并且第二数组qi中还有独立任务,则执行步骤s44-2;如果小于并且第二数组qi中没有独立任务了,则说明第二数组qi中任务被取完且本地任务预分配集合li中所有任务完成时间仍小于卸载任务预分配集合si中所有任务的完成时间,则执行步骤s4-5,并将qn标志位置1,表示第二数组qi被提前分配完且第一数组pi集合有剩余。s44-2从第一数组p中反复取独立任务p[hp]放入卸载任务预分配集合si,任务ti,j的卸载决策变量xi=1,hp=hp+1,k1=k1+1,根据式(14)计算新加入的独立任务k1的完成时间,比较与如果小于并且第一数组p中还有独立任务,则继续执行步骤s44-2;如果大于并且第一数组pi中还有任务,则执行步骤s44-1;如果小于并且第一数组pi中没有任务了,则说明第一数组pi中任务被取完且卸载任务预分配集合si中所有独立任务完成时间仍小于本地任务预分配集合l中所有独立任务的完成时间,则执行步骤s4-5,并将pn标志位置1,表示第一数组pi集合被提前分配完且第二数组qi集合有剩余。执行步骤s4-4后集合卸载任务预分配集合si、本地任务预分配集合li分布如表6所示:表6卸载任务预分配集合si、本地任务预分配集合li中独立任务分布s1t1,1t1,2t1,3t1,7l1t1,4s2t2,1l2t2,2卸载任务预分配集合si、本地任务预分配集合li中独立任务完成时间分别为:此时,第二数组q中独立任务被取完,将标志位qn置1,进入步骤s2-5。s4-5检测标志位pn、qn。此时,qn=1,则第一数组p中独立任务仍有剩余,将第一数组p中所有独立任务存入第三数组m;此时卸载任务预分配集合si、本地任务预分配集合li、第三数组m中的独立任务分布表7所示:表7集合s、l、m中任务分布s1t1,1t1,2t1,3t1,7l1t1,4s2t2,1l2t2,2m1t1,5t1,6m2t2,3t2,4t2,5t2,6t2,7s4-6依次取出第三数组m中的独立任务,根据公式(13)、(14)分别求出若该独立任务存入本地任务预分配集合li、卸载任务预分配集合si中的完成时间s4-7比较两者大小,若则将任务加入本地任务预分配集合l,否则将任务加入卸载任务预分配集合s。s4-8反复执行步骤s4-6-步骤s4-7,直至第三数组m中独立任务被取完为止。此时卸载任务预分配集合si、本地任务预分配集合li中的独立任务分布表8所示:表8集合s、l中任务分布s1t1,1t1,2t1,3t1,7t1,6l1t1,4t1,5s2t2,1t2,3t2,5t2,6l2t2,2t2,4t2,7卸载任务预分配集合si、本地任务预分配集合li中任务完成时间分别为:计算给定卸载任务集合和卸载决策向量下的系统状态,s=(0.0226,0)。s1-5根据步骤s1-4求得的卸载任务集合和卸载决策向量,利用强化学习的方法求解所有移动边缘设备u={u1,u2,…,uk}的服务器资源分配fser,best={f1,ser,...,fk,ser}:s5-1构造优化问题p1。s5-2随机生成一个在(0,1)之间的小数ε0,若ε0<ε则生成一个随机动作a,否则将状态s输入目标q网络q’,预测出动作a。计算动作a对应的输出层神经元索引aid,step=step+1。此时,ε0=0.388,ε=0.798,ε0<ε,生成的随机动作为a=(1.046*109,9.5308*108),aid=(31,98)。s5-3根据动作a计算下一个状态s'=(0.021,0),end=false,奖励r=0.85,将(s,s',r,aid,end)存入sumtree,状态迭代s=s',目标值val=0.021。s5-4判断tc<tcbest是否成立,成立则tcbest=tc,fser,best=fser。不成立则直接进入s4-5。s5-5判断step>v是否满足,若不满足则返回步骤s4-2,满足则进入步骤s4-6。s5-6从sumtree中抽取m个样本训练目标q网络q,并更新每个样本的优先级。s5-7判断step%c=0是否成立,成立则同步应用q网络q与目标q网络q’的权重:w’=w,不成立则直接进入s4-8。s5-8判断end=trueorstep%t=0是否成立,成立则epoch=epoch+1。不成立则返回步骤s4-2。s1-6判断epoch<m是否成立,成立则输出valbest,fser,best,不成立则返回步骤s1-4。优选的,m值优选为100-200,进一步优选为100。以上未做详细说明的是,均是本领域的公知技术,本发明不做赘述,可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1