一种边缘计算资源分配方法与流程

文档序号:22626675发布日期:2020-10-23 19:35阅读:407来源:国知局
一种边缘计算资源分配方法与流程

本申请属于资源分配策略技术领域,特别是涉及一种边缘计算资源分配方法。



背景技术:

随着第五代移动通信技术(5g)的兴起,移动应用和服务对时延也提出了更高的要求,传统的云计算模式不再能完全适应低时延的要求,移动边缘计算(mobileedgecomputing)技术随之产生。

在传统云计算模式中,用户将计算密集型任务经由核心网上传至云服务器处理,虽然云服务器的计算资源较为充足,可以在较短时间内完成计算,但由于核心网带宽有限、网络抖动等因素带来的传输时延较大。为了减少传输时延,移动边缘计算模式将计算资源配置在网络边缘,如基站等无线接入点旁,用户只需将任务卸载至边缘计算服务器来处理,这样可以避免数据经过核心网传输时带来的较大传输时延,同时也带来了诸如节省核心网带宽、便于运营商依据不同地点提供个性化的服务策略、更以保障隐私安全等优势。但由于网络边缘的计算资源相对云服务器而言十分有限,如何有效分配、利用边缘计算资源成为移动边缘计算技术的关键之一。

关于如何有效分配边缘计算资源,移动边缘计算环境可以建模为马尔可夫决策过程,而该模型高度随机而且十分复杂。



技术实现要素:

1.要解决的技术问题

基于关于如何有效分配边缘计算资源,移动边缘计算环境可以建模为马尔可夫决策过程,而该模型高度随机而且十分复杂的问题,面向5g通信需求,本申请提供了一种边缘计算资源分配方法。

2.技术方案

为了达到上述的目的,本申请提供了一种边缘计算资源分配方法,所述方法包括:

1):定义边缘计算模型状态、动作和奖赏;

2):定义神经网络的结构、输入输出的结构;

3):按照给定训练方法更新、训练神经网络并应用。

本申请提供的另一种实施方式为:所述1)中所述边缘计算模型状态、动作和奖赏定义过程如下:

在第k帧,智能体观测到的环境为x(k)=[d(k),w(k),q(k)(k)],并定义x(k)为环境在第k帧的观测,并非状态,其中每个元素含义为:

由缓存队列首的任务数据的大小构成的向量;

由缓存队列首的任务的等待时间构成的向量;

由每个缓存队列的长度构成的向量;

由各信道的信噪比构成的向量。

本申请提供的另一种实施方式为:所述智能体观测到的环境包括前w帧和当前帧的观测为当前的状态。

本申请提供的另一种实施方式为:所述智能体采取的策略记为π,则ak=π(sk);在边缘计算模型中,边缘计算服务器含有c个cpu核心,用户和终端分别有n个,利用排列组合中的“隔板法”求出总共有种不同的分配方案,因此动作ak可以有种选择。

本申请提供的另一种实施方式为:所述奖赏和惩罚,设置最大可容忍时延dr=αtf和最大可容忍错误概率εmax。

本申请提供的另一种实施方式为:所述奖赏和惩罚包括三种情况:

1)任务等待时间<dr,错误概率<εmax;此时任务成功完成,获得奖赏r=+1;

2)任务等待时间<dr,错误概率>εmax;此时任务虽得到处理,但错误概率过高,获得奖赏r=-1,即受到惩罚;

3)任务等待时间>dr,此时任务在缓冲队列中等待时间过长,未得到处理,获得奖赏r=-1.5,即受到惩罚。

本申请提供的另一种实施方式为:所述2)中所述神经网络为多层全连接神经网络,每个输出节点对应一个输出标量,除输出层外激活函数均选择relu函数,输出层不使用激活函数。所述智能体的神经网络参数为θk时,将动作状态价值函数记为此时智能体的策略为π(sk;θk);为了表述简便,在不引起歧义时,用qk(sk,ak)表示通过一个神经网络来估计q函数,并称该网络为q-网络。

本申请提供的另一种实施方式为:所述3)中训练方法包括经验重放法,将智能体与环境互动的样本储存到一个记忆库中,在训练过程中,从中随机选取一批样本,来对网络进行更新迭代。经验重放法和固定q目标网络法是算法1中的技巧,是包含在算法1中的。

本申请提供的另一种实施方式为:所述训练方法更新时采用固定q-网络方法,训练过程需要两个q-网络:q-策略网络qpolicy和q-目标网络qtarget,其参数分别为和θtarget;在迭代时,qtarget的变化频率要远低于qpolicy。

3.有益效果

与现有技术相比,本申请提供的一种边缘计算资源分配方法的有益效果在于:

本申请提供的边缘计算资源分配方法,机器学习中的深度强化学习技术由于其对环境的强大感知能力与决策能力,十分适合应用在此模型,以求解回报最大化的问题。

本申请提供的边缘计算资源分配方法,在单边缘计算节点和多用户、多终端,网络使用有限块长度编码的场景下,提出了一种基于深度强化学习的边缘计算资源分配方法。

本申请提供的边缘计算资源分配方法,通过合理分配边缘计算服务器中的计算资源,具体为cpu核心,提高用户卸载给边缘计算服务器的任务的处理成功率。

本申请提供的边缘计算资源分配方法,所述的状态、动作、奖赏的定义方法、神经网络结构、神经网络输入输出结构和训练、应用方法等,可以对边缘计算环境进行有效感知和决策。

本申请提供的边缘计算资源分配方法,将状态解耦为各个队列缓冲器的状态后,输入专门设计的神经网络,输出所有可能的分配方案的动作状态价值函数,然后选择动作状态价值函数最高的分配方案对cpu核心进行分配,提高了任务成功的概率。附图1所示的神经网络结构是专门设计的,这个结构也包括输入的方式。譬如神经网络的输入层分成若干个独立的神经网络块,这就是针对每个缓冲器的状态专门设计的。

附图说明

图1是本申请的dqn网络结构示意图;

图2是本申请的仿真结果示意图。

具体实施方式

在下文中,将参考附图对本申请的具体实施例进行详细地描述,依照这些详细的描述,所属领域技术人员能够清楚地理解本申请,并能够实施本申请。在不违背本申请原理的情况下,各个不同的实施例中的特征可以进行组合以获得新的实施方式,或者替代某些实施例中的某些特征,获得其它优选的实施方式。

参考图1~2,本申请提供一种边缘计算资源分配方法,所述方法包括:

1):定义边缘计算模型状态、动作和奖赏;

2):分析、利用所述1)定义的状态、动作和奖赏,定义神经网络的结构和输入输出的结构;

3):按照给定训练方法更新、训练所述2)定义的神经网络并应用。

进一步地,所述1)中所述边缘计算模型状态、动作和奖赏定义过程如下:

在第k帧,智能体观测到的环境为x(k)=[d(k),w(k),q(k)(k)],并定义x(k)为环境在第k帧的观测,并非状态,其中每个元素含义为:

由缓存队列首的任务数据的大小构成的向量;

由缓存队列首的任务的等待时间构成的向量;

由每个缓存队列的长度构成的向量;

由各信道的信噪比构成的向量。

进一步地,所述智能体观测到的环境包括前w帧和当前帧的观测为当前的状态,即sk=[x(k-w),x(k-w+1),...,x(k)]。考虑到信道的相关性,每次决策不只与当前观测到的环境有关,还与之前若干帧的观测有关,

进一步地,所述智能体采取的策略记为π,则ak=π(sk);在边缘计算模型中,边缘计算服务器含有c个cpu核心,用户和终端分别有n个,利用排列组合中的“隔板法”求出总共有种不同的分配方案,因此动作ak可以有种选择。每一个动作ak是一个n维向量,向量中的每个动作为分配给对应任务的cpu核心数量。

进一步地,所述奖赏和惩罚,设置最大可容忍时延dr=αtf和最大可容忍错误概率εmax。

进一步地,所述奖赏和惩罚包括三种情况:

1)任务等待时间<dr,错误概率<εmax;此时任务成功完成,获得奖赏r=+1;

2)任务等待时间<dr,错误概率>εmax;此时任务虽得到处理,但错误概率过高,获得奖赏r=-1,即受到惩罚;

3)任务等待时间>dr,此时任务在缓冲队列中等待时间过长,未得到处理,获得奖赏r=-1.5,即受到惩罚。

进一步地,所述2)中所述神经网络为多层全连接神经网络,每个输出节点对应一个输出标量,除输出层外激活函数均选择relu函数,输出层不使用激活函数。

进一步地,所述智能体的神经网络参数为θk时,将动作状态价值函数记为此时智能体的策略为π(sk;θk);为了表述简便,在不引起歧义时,用qk(sk,ak)表示通过一个神经网络来估计q函数,并称该网络为q-网络。

进一步地,所述3)中更新方法包括经验重放法,将智能体与环境互动的样本储存到一个记忆库中,在训练过程中,从中随机选取一批样本,来对网络进行更新迭代。

进一步地,所述更新方法更新时采用固定q-目标方法,训练过程需要两个q-网络:q-策略网络qpolicy和q-目标网络qtarget,其参数分别为和θtarget;在迭代时,qtarget的变化频率要远低于qpolicy。

2)中,神经网络的结构和输入输出结构如下

在该算法中,我们使用的深度神经网络的结构如附图1所示。图中左侧为输入,右侧为输出,左侧两层立方体表示多层全连接神经网络(dnn),最右侧的小立方体表示输出节点,每个节点对应一个输出标量,除输出层外激活函数均选择relu函数,输出层不使用激活函数。状态向量进行归一化处理后将按图中所示的输入结构重新组合,即每一组输入为对应于缓冲器n的状态;网络将先分别读取各个缓冲器的状态,然后将读取到的特征汇总后进一步交由下一部分神经网络分析,最后输出为分别表示|a|种不同动作的动作状态价值函数值。

3)中训练方法及应用过程如下:

在神经网络的更新过程中,我们引入了我们引入了固定q-目标和经验重放的方法。

采用固定q-目标方法,训练过程需要两个q-网络:q-策略网络qpolicy和q-目标网络qtarget,其参数分别为和θtarget。这样可以将要更新的网络和计算目标值yi的网络分开,计算yi时,使用q-目标网络,而被更新的网络是q-策略网络。在迭代时,qtarget的变化频率要远低于qpolicy,具体是每迭代m轮,才令以更新一次qtarget。损失函数可定义为:

其中

采用经验重放方法,将智能体与环境互动的样本储存到一个记忆库中,在训练过程中,从中随机选取一批样本,来对网络进行更新迭代。我们记ek=(sk,ak,rk,sk+1)为一次转变(transition),记忆库d中储存的就是这些转变,即d={e1,e2,...,ek,...}。

具体更新算法如算法1(基于深度强化学习的边缘计算资源分配算法)所示,其中还使用了广泛使用的∈-贪心探索策略。

在神经网络训练完毕后,应用时,在边缘计算环境的每一帧,利用神经网络做出一次决策,其输入和输出方法如步骤2)所示,应用时所选取的动作为

实施例

在这一部分,我们考虑一个具体的边缘计算模型如下:

该边缘计算模型是一个具有c个cpu核心、n个缓冲器的移动边缘计算节点(mec节点)和n个用户、n个终端的场景。在该场景下,用户将任务发送给边缘计算节点,边缘计算节点为其分配cpu核心并处理这些任务,然后将处理结果发送给终端。该模型每一帧分为tf个符号,每个符号时间为ts秒,一帧又可分为三个阶段。以第k帧为例,在第一阶段,用户un(n∈{1,2,...,n})向mec节点发送大小为的数据,时间上占用个符号长度,当把任务发送至mec节点后,节点将任务存放在缓冲器队列buffern中;在第二阶段,mec节点将c个cpu核心的计算资源分配给用户,得到计算资源的用户,将处理对应的缓冲器中位于队列首的第一个任务,处理时长占用个符号;在第三阶段,任务已被处理完毕,mec节点将计算结果发送给用户对应的终端tn,占用个符号。

下链路中,在每一帧时间内视信道增益为常数,并考虑相邻帧之间信道的相关性,将信道增益建模为其中,ρdl,n为信道相关系数,是服从零均值单位方差的复高斯随机变量。于是,下链路信噪比(signal-to-noiseratio,snr)可表示为其中为平均信噪比。

因tf、mdl,n长度有限,我们要考虑有限块长度编码中的解码错误概率问题,假定错误概率为则可得到下式:

其中因此,推出解码错误概率为

在移动边缘计算中,计算结果通常比上传的数据要小,因此在该模型中我们假定对于某个任务ddl,n=βdul,n,其中β为小于1的正数。

在第k帧时,在第二阶段,移动边缘计算节点给用户un分配个cpu核,则整数需满足同时可以得到处理时间为

其中l表示每比特任务需要多少cpu周期,f0表示每个cpu核的频率,ceil(x)表示向上舍入最接近x的整数。因此,为了保证帧的同步,在tf给定时,可计算出第三阶段可用时间为

在深度强化学习中,上述的边缘计算模型便是智能体要与之互动的环境,该环境可以被建模为一个马尔可夫决策过程,强化学习算法求解最大化成功率问题。在该算法中,智能体通过决定计算资源也就是cpu核心的分配策略,来改变环境,环境通过任务成功或失败来确定奖赏或惩罚。

在第k帧,智能体观测到的环境为x(k)=[d(k),w(k),q(k)(k)],并定义x(k)为环境在第k帧的观测(并非状态),其中每个元素含义为:

由缓存队列首的任务数据的大小构成的向量;

由缓存队列首的任务的等待时间构成的向量;

由每个缓存队列的长度构成的向量;

由各信道的信噪比构成的向量。

但考虑到信道的相关性,每次决策不只与当前观测到的环境有关,还与之前若干帧的观测有关,因此我们定义包含前w帧和当前帧的观测为当前的状态,即sk=[x(k-w),x(k-w+1),...,x(k)]。我们将智能体采取的策略记为π,即ak=π(sk)。在边缘计算模型中,边缘计算服务器含有c个cpu核心,用户和终端分别有n个,可以利用排列组合中的“隔板法”求出总共有种不同的分配方案,因此动作ak可以有种选择。每一个动作ak是一个n维向量,向量中的每个动作为分配给对应任务的cpu核心数量。

针对奖赏和惩罚,我们设置最大可容忍时延dr=αtf和最大可容忍错误概率εmax。我们考虑三种情况:

1)任务等待时间<dr,错误概率<εmax。此时任务成功完成,获得奖赏r=+1。

2)任务等待时间<dr,错误概率>εmax。此时任务虽得到处理,但错误概率过高,获得奖赏r=-1,即受到惩罚。

3)任务等待时间>dr。此时任务在缓冲队列中等待时间过长,未得到处理,获得奖赏r=-1.5,即受到惩罚。

在计算回报时,我们采用γ折扣奖赏,即在第k帧时将回报记为

gk=rk+γrk+1+γ2rk+2+...=rk+γgk+1.\*mergeformat(6)

在该算法中,我们使用的深度神经网络的结构如附图1所示。图中左侧为输入,右侧为输出,左侧两层立方体表示多层全连接神经网络(dnn),最右侧的小立方体表示输出节点,每个节点对应一个输出标量,除输出层外激活函数均选择relu函数,输出层不使用激活函数。状态向量进行归一化处理后将按图中所示的输入结构重新组合,即每一组输入为对应于缓冲器n的状态;网络将先分别读取各个缓冲器的状态,然后将读取到的特征汇总后进一步交由下一部分神经网络分析,最后输出为分别表示|a|种不同动作的动作状态价值函数值。

在神经网络的更新过程中,我们引入了我们引入了固定q-目标和经验重放的方法。采用固定q-网络方法,训练过程需要两个q-网络:q-策略网络qpolicy和q-目标网络qtarget,其参数分别为和θtarget。这样可以将要更新的网络和计算目标值yi的网络分开,计算yi时,使用q-目标网络,而被更新的网络是q-策略网络。在迭代时,qtarget的变化频率要远低于qpolicy,具体是每迭代m轮,才令以更新一次qtarget。损失函数可定义为:

其中

采用经验重放方法,将智能体与环境互动的样本储存到一个记忆库中,在训练过程中,从中随机选取一批样本,来对网络进行更新迭代。我们记ek=(sk,ak,rk,sk+1)为一次转变(transition),记忆库d中储存的就是这些转变,即d={e1,e2,...,ek,...}。

具体更新算法如算法1所示,其中还使用了广泛使用的∈-贪心探索策略。

附图2中横坐标为训练过程集数,纵坐标为任务成功率。两条横线分别表示平均分配和随机分配时的任务成功率。折现表示本发明在训练过程中的成功率变化。可以看出在训练到40-60轮后,本发明所述方法的任务成功率高于基准方案,此时神经网络可以停止训练并应用。

尽管在上文中参考特定的实施例对本申请进行了描述,但是所属领域技术人员应当理解,在本申请公开的原理和范围内,可以针对本申请公开的配置和细节做出许多修改。本申请的保护范围由所附的权利要求来确定,并且权利要求意在涵盖权利要求中技术特征的等同物文字意义或范围所包含的全部修改。

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