一种MEC的联合计算卸载和资源分配方法及装置与流程
未命名
07-14
阅读:136
评论:0
一种mec的联合计算卸载和资源分配方法及装置
技术领域
1.本发明涉及新兴信息技术领域,尤指一种多接入边缘计算(mec,mobile edge computing)的联合计算卸载和资源分配方法及装置。
背景技术:
2.为满足5g应用场景的低时延需求,多接入边缘计算(mec)成为趋势。多接入边缘计算技术在网络边缘提供计算服务。在mec系统中,与传统云服务器相比,mec服务器更接近物联网设备。此外,由于mec服务器的分布式结构,使得数据传输不会出现拥塞,大大降低了传输延迟。因此,与云计算相比,mec可以支持延迟关键服务和各种物联网应用。将计算任务转移到资源相对丰富的边缘服务器上,不仅可以提高计算服务质量(qos),而且可以增强终端设备对资源需求应用的能力。与传统的云服务器相比,mec服务器可能资源更少,更具动态性,设备需要争夺服务器有限的计算资源。因此,对于这种资源受限的系统,资源分配和调度(如服务器选择、卸载率分配和本地计算能力)是非常重要的。为了实现计算资源的高效利用,满足设备的计算需求,需要一种智能计算卸载策略。因此,计算卸载引起了更多研究者的关注。
技术实现要素:
3.本发明实施例提供一种mec的联合计算卸载和资源分配方法及装置,用以保证用户业务调度过程的高稳定性与高可靠性,实现业务的灵活调度与资源的按需分配,提升用户服务质量。
4.本发明实施例提供的一种mec的联合计算卸载和资源分配方法,包括:
5.根据实时获取到的任务特征与移动边缘网络中各边缘服务器的资源负载,对网络状态进行抽象建模,建立深度强化学习模型;所述移动边缘网络由若干用户设备、若干边缘服务器和一个中央控制器组成;
6.每间隔一段时间,获取所述移动边缘网络中的网络状态信息后,对所述深度强化学习模型使用itd3算法进行训练;
7.在接收到所述用户设备上传的计算任务时,根据最新更新的所述网络状态信息,以最小化所述计算任务的处理时延为优化目标,使用itd3算法训练好的所述深度强化学习模型进行卸载和资源分配决策,得到决策结果;
8.将所述计算任务的卸载结果发送至所述计算任务接入的边缘服务器,将资源调度决策发送至为执行所述计算任务分配的边缘服务器。
9.在一个实施例中,所述网络状态信息包括每个所述边缘服务器的网络资源组信息;
10.所述边缘服务器s的网络资源组信息记为其中,分别为所述边缘服务器s的计算资源总量与时隙t的计算资源负载,
分别为所述边缘服务器s的存储资源总量与时隙t的存储资源负载,bs(t)为所述边缘服务器s在时隙t的通信资源。
11.在一个实施例中,建立的所述深度强化学习模型的状态空间、动作空间、奖励函数设置如下:
12.所述状态空间其中,f(t)={f1(t),f2(t),
…fs
(t)}表示各所述边缘服务器在t时刻的计算资源分配情况,q(t)={q1(t),q2(t),
…qs
(t)}表示各所述边缘服务器在t时刻的存储资源分配情况,g(t)={g
i,j
(t)|i,j∈s,i≠j}表示各所述边缘服务器之间的通信链路在t时刻的信道增益,h
i,j
(t)为信道(i,j)在t时刻的信道系数,d
i,j
为边缘服务器i与边缘服务器j之间的欧氏距离,ζ为路损因子;(wk(t),dk(t),tk(t))分别为计算任务k(t)的工作量、数据大小与截止期限;
13.所述动作空间其中,α
k,s
(t)为二进制卸载决策变量,当α
k,s
(t)=1时,表示将计算任务k(t)卸载至边缘服务器s;fs(t)为边缘服务器s在时隙t为执行计算任务分配的计算资源;
14.所述奖励函数所述奖励函数其中,为优化问题的目标函数,为惩罚函数,c0为惩罚因子,∑
s∈s
(1-α
k,s
(t))表示被拒绝的任务数。
15.在一个实施例中,所述计算任务的处理时延最小化计算公式如下:
[0016][0017]
其中,dk(t)为计算任务k的输入数据,r
k,s
为链路速率,wk(t)为工作负载,fs为所述边缘服务器s为计算任务k分配的计算资源。
[0018]
在一个实施例中,所述计算任务的处理时延最小化计算公式的约束条件如下:
[0019]
c1:
[0020]
c2:
[0021]
c3:
[0022]
c4:
[0023]
c5:
[0024]
c6:
[0025]
其中,约束条件c1限定所述计算任务为二进制卸载;约束条件c2限定每个所述计算任务的截止期限约束;约束条件c3限定正在执行的计算任务所占用的计算资源之和不大于边缘服务器的计算资源;约束条件c4限定所有卸载到边缘服务器的任务占用的存储资源之和不大于边缘服务器的存储资源;约束条件c5限定一个计算任务最多能被卸载到一个边缘服务器上;约束条件c6限定分配的计算资源恒正。
[0026]
在一个实施例中,所述使用itd3算法对所述深度强化学习模型进行训练,具体包括:
[0027]
构建主网络n与目标网络n’,所述主网络n与所述目标网络n’均包括两个critic子网络与一个actor子网络π;
[0028]
在初始状态下为所述主网络n与所述目标网络n’随机分配参数θ1,θ2,,并初始化经验回放池
[0029]
在判断训练的执行次数t大于设定值时,将初始状态s更改为此前观测到的最佳状态s*;
[0030]
根据确定策略加入噪声选择动作
[0031]
依据动作执行得到下一个状态后,将样本(s,a,r,s’)存储于所述经验回放池中;
[0032]
从所述经验回放池中随机抽样n个样本(s,a,r,s’)进行复习,并依据二次更新公式更新动作
[0033]
在所述两个critic子网络中选择q-value值更小的网络更新参数,求出目标函数
[0034]
根据梯度下降公式更新critic子网络的参数根据梯度下降公式更新critic子网络的参数
[0035]
当确定执行次数t达到设定阈值d后,依据确定性策略梯度公式更新所述actor子网络的参数
[0036]
使用软更新策略,将所述主网络的参数更新至目标网络的参数使用软更新策略,将所述主网络的参数更新至目标网络的参数
[0037]
重复执行上述训练过程直至参数收敛。
[0038]
在一个实施例中,所述决策结果包括所述计算任务卸载边缘服务器的节点映射
(任务id
→
节点ip)与资源分配的数据映射(节点ip
→
{计算资源:x,存储资源:y
…
})。
[0039]
另一方面,本发明实施例还提供了一种服务器,包括:
[0040]
建模单元,用于根据实时获取到的任务特征与移动边缘网络中各边缘服务器的资源负载,对网络状态进行抽象建模,建立深度强化学习模型;所述移动边缘网络由若干用户设备、若干边缘服务器和一个中央控制器组成;
[0041]
训练单元,用于每间隔一段时间,获取所述移动边缘网络中的网络状态信息后,对所述深度强化学习模型使用itd3算法进行训练;
[0042]
处理单元,用于在接收到所述用户设备上传的计算任务时,根据最新更新的所述网络状态信息,以最小化所述计算任务的处理时延为优化目标,使用itd3算法训练好的所述深度强化学习模型进行卸载和资源分配决策,得到决策结果;
[0043]
发送单元,用于将所述计算任务的卸载结果发送至所述计算任务接入的边缘服务器,将资源调度决策发送至为执行所述计算任务分配的边缘服务器。
[0044]
另一方面,本发明实施例还提供了一种电子设备,包括至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有被所述至少一个处理器执行的指令;所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明实施例提供的mec的联合计算卸载和资源分配方法。
[0045]
另一方面,本发明实施例还提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序用于执行本发明实施例提供的mec的联合计算卸载和资源分配方法。
[0046]
本发明有益效果如下:
[0047]
本发明实施例提供的一种mec的联合计算卸载和资源分配方法及装置,以最小化网络总体时延为优化目标,通过设计一种基于深度强化学习模型的td3改进算法(itd3),形成任务卸载决策和边缘服务器资源分配的联合调度策略,以保证用户业务调度过程的高稳定性与高可靠性,实现业务的灵活调度与资源的按需分配,提升用户服务质量。
附图说明
[0048]
为了更清楚地说明本公开实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0049]
图1为本发明实施例提供的mec的联合计算卸载和资源分配方法的流程图;
[0050]
图2为本发明实施例提供的多接入边缘计算网络的网络拓扑图;
[0051]
图3为本发明实施例提供的itd3算法的流程图;
[0052]
图4为本发明实施例提供的mec的联合计算卸载和资源分配装置的结构示意图;
[0053]
图5为本发明实施例提供的电子设备的结构示意图。
具体实施方式
[0054]
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是
本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
[0055]
本公开实施例中术语“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
[0056]
本公开实施例描述的应用场景是为了更加清楚的说明本公开实施例的技术方案,并不构成对于本公开实施例提供的技术方案的限定,本领域普通技术人员可知,随着新应用场景的出现,本公开实施例提供的技术方案对于类似的技术问题,同样适用。其中,在本公开的描述中,除非另有说明,“多个”的含义是两个或两个以上。
[0057]
针对计算卸载技术,学界提出了许多计算卸载策略的设计方法。以往的工作大多采用优化或基于博弈的方法来解决计算卸载问题。如基于lyapunov优化、基于分支定界算法及其改进算法(如行/列生成、benders分解)、基于生物启发式算法(如多粒子群算法、模拟退火算法)及若干种传统优化算法的相互结合等方式。但由于联合计算卸载与资源分配问题本身是混合整数非线性规划(minlp)问题,是np-hard的,通过传统的优化算法只能得到其近似最优解,且难以从数学层面准确衡量求出的可行解与最优解的差距上下界。另外,这些传统算法都需要环境统计的先验信息,而这在实际场景的动态mec系统中是不可能得到的。此外,这些传统优化算法都没有考虑过往的业务调度决策对后续业务调度决策的影响,囿于算法的限制,忽略了业务调度策略之间的关联性,导致其每次调度是相互独立的,难以保证当前的决策是长期最优的。
[0058]
针对传统算法的问题,部分学者将计算卸载问题建模为一个马尔可夫决策过程(mdp),并用强化学习(rl)或深度强化学习(drl)方法进行求解。许多国内外学者使用d3qn(dueling double dqn,value-based类)、trpo(trust region policy optimization,value-based类)、ddpg(deep deterministic policy gradient,actor-critic类)等经典深度强化学习模型对联合计算卸载与资源分配问题进行求解,这些方法在不需要环境统计先验知识的情况下取得了良好的性能。然而,它们要么在离散动作空间中建模,要么在连续动作空间中建模,这限制了有限动作空间中卸载决策的优化。现实中卸载问题的动作空间往往是连续-离散混合的,每个设备需要共同决定连续和离散的动作来完成卸载过程。例如,设备不仅要决定是否卸载任务或选择哪个服务器,还要选择卸载比率或本地计算能力来平衡时间和能量消耗。因此,当动作空间变大时,这些方法可能无法很好地执行连续动作的精细离散化,并且将离散动作松弛为连续集合可能会显著增加动作空间的复杂性。
[0059]
基于现有技术存在的上述技术问题,本发明提供一种mec的联合计算卸载和资源分配方法,以最小化网络总体时延为优化目标,设计一种基于深度强化学习模型的td3改进算法(itd3),形成任务卸载决策和边缘服务器资源分配的联合调度策略,以保证用户业务调度过程的高稳定性与高可靠性,实现业务的灵活调度与资源的按需分配,提升用户服务质量。
[0060]
具体地,本发明实施例提供的一种mec的联合计算卸载和资源分配方法,如图1所示,包括以下步骤:
[0061]
s1、根据实时获取到的任务特征与移动边缘网络中各边缘服务器的资源负载,对网络状态进行抽象建模,建立深度强化学习模型。其中,在由用户设备、边缘服务器与中央
控制器组成的移动边缘网络中,每个用户设备根据需求产生计算任务,将计算任务发送到边缘服务器进行处理。中央控制器根据实时的任务特征与资源负载,对网络状态进行抽象建模。
[0062]
具体地,移动边缘网络为由若干用户设备ue、若干边缘服务器(mec server)和一个中央控制器(core network)组成的端-边-云网络,以时隙结构运行,其基本拓扑如图2所示。其中,用户设备总共k个,用k={1,2,
…
,k}表示,用户设备本身不具有处理计算任务的能力,只负责将计算任务就近上传到与其连接的边缘服务器。对于用户设备k,其在时隙t产生的计算任务记为k(t),由元组(wk(t),dk(t),tk(t))组成,其中wk(t)为工作负载,dk(t)为输入数据大小,tk(t)为截止期限。一个计算任务是不可分割的,不考虑冗余卸载的情形,每个用户设备最多可将一个计算任务上传到一个边缘服务器。边缘服务器总共s个,用s={1,2,
…
,s}表示,每个边缘服务器具有一定的网络资源,可以同时处理来自多个用户设备的计算任务。
[0063]
s2、每间隔一段时间,获取移动边缘网络中的网络状态信息后,对深度强化学习模型使用itd3算法进行训练。具体地,每隔一段时间,中央控制器会收集最新的网络状态信息并缓存,为计算任务到达时调用做准备。
[0064]
具体地,网络状态信息包括每个边缘服务器的网络资源组信息。对于边缘服务器s,其网络资源组信息记为其中分别为边缘服务器s的计算资源总量(体现为cpu主频,单位mhz)与时隙t的计算资源负载,分别为边缘服务器s的存储资源总量(体现为硬盘容量,单位gb)与时隙t的存储资源负载,bs(t)为边缘服务器s在时隙t的通信资源(体现为带宽,单位mbps)。
[0065]
可选地,可以在核心蜂窝网络启用软件定义网络(sdn)技术,实现边缘服务器之间的灵活路由和通信。软件定义网络技术将控制逻辑集中在一个称为sdn控制器的集中式实体中,简化了网络管理流程。sdn控制器会在所有转发设备的路由表(例如openflow换机中的路由表)中安装适当的转发规则,从而获知网络应用策略所需的指示信息,得到网络的全局视图。借助于sdn控制器可获知一些网络性能相关的监视信息。
[0066]
具体地,改进双延迟深度确定性策略梯度(itd3,improved twin delayed deep deterministic policy gradient)算法,为双延迟深度确定性策略梯度(td3,twin delayed deep deterministic policy gradient)算法的改进算法,是一种深度强化学习算法。强化学习(rl)适合用于解决实时的、有关联性的复杂决策问题,其主要包括状态、行动和奖励三个关键要素。智能体在离散时间域中与环境交互,在每个时隙t,智能体根据策略μ做出行为a,即:μ:s
t
→at
。智能体根据策略完成动作之后,环境返回一个奖励值r
t
,并将系统状态s
t
转换到状态s
t+1
。一般地,我们用动作-价值函数(即q函数)q
μ
(s,a)表示在初始状态s和初始动作a下,执行策略μ的期望长期折扣奖励值(edar,expected discounted accumulative reward)。
[0067]
因此,在使用深度强化学习模型解决计算卸载问题之前,需要先对马尔可夫决策过程的状态空间、动作空间与奖励函数进行设计。针对移动边缘网络的主要特征,将状态空间、动作空间与奖励函数设置如下:
[0068]
具体地,状态空间由资源负载、任务信息与信道状态组成,即具体地,状态空间由资源负载、任务信息与信道状态组成,即其中,f(t)={f1(t),f2(t),
…fs
(t)}表示各边缘服务器在t时刻的计算资源分配情况,即q(t)={q1(t),q2(t),
…qs
(t)}表示各边缘服务器在t时刻的存储资源分配情况,即g(t)={g
i,j
(t)|i,j∈s,i≠j}表示各边缘服务器间通信链路在t时刻的信道增益,即式中为h
i,j
(t)信道(i,j)在t时刻的信道系数,d
i,j
为边缘服务器i与边缘服务器j之间的欧氏距离,ζ为路损因子,默认为3.5。(wk(t),dk(t),tk(t))为计算任务k的基本信息,即计算任务k(t)的工作量、数据大小与截止期限。
[0069]
具体地,动作空间由卸载决策、资源分配组成,即其中α
k,s
(t)为二进制卸载决策变量,当α
k,s
(t)=1时,表示将计算任务k(t)卸载至边缘服务器s。fs(t)为边缘服务器s在时隙t为执行计算任务分配的计算资源。
[0070]
具体地,奖励函数:奖励函数由目标函数与惩罚函数组成,即具体地,奖励函数:奖励函数由目标函数与惩罚函数组成,即其中为优化问题的目标函数,即所有计算任务执行的时延最大值;为惩罚函数,c0为惩罚因子,∑
s∈s
(1-α
k,s
(t))表示被拒绝的任务数。时延越低,被拒绝的任务越少,奖励函数越大。
[0071]
td3算法为ddpg算法的改进算法,其通过以下三种技巧,消除了传统ddpg(vanilla-ddpg)算法的参数误差问题:1、使用两个q函数进行学习,并在更新模型参数时使用其中q-value值最小的函数的参数,避免q-value的过估计;2、对目标网络与策略延时更新,每d轮更新一次,避免参数更新导致的累积误差;3、对目标action网络增加噪声,平滑q函数,减少策略估计的误差。
[0072]
与td3算法相比,itd3算法借鉴贪心算法的思路,在td3的基础上对每个训练集开始时的步骤进行了修改,将每设定值(例如150个)epoch开始时的初始状态设置为所有先前观察到的状态中的最佳状态,这样可以帮助原始的td3算法在高维的状态空间中快速寻找到最优解,从而在不影响算法性能的前提下,加快算法收敛的速度,提升td3算法在实际场景中部署的可用性。
[0073]
如图3所示,itd3算法的主要步骤如下:
[0074]
1、构建了主网络n与目标网络n’,每个网络包括两个critic子网络与一个actor子网络π;
[0075]
2、在初始状态下为每个网络随机分配参数θ1,θ2,,并初始化经验回放池
[0076]
3、如果执行了150次,则将初始状态s更改为此前观测到的最佳状态s*,否则不采取任何操作;
[0077]
4、根据确定策略加噪声选择动作
[0078]
5、依据动作执行得到下一个状态后,将样本(s,a,r,s’)存储于经验回放池中;
[0079]
6、一段时间后,从经验回放池随机抽样n个样本(s,a,r,s’)进行复习,并依据二次更新公式更新动作a,保证目标动作周围区域的值平滑,以尽可能减小误差(正则化处理)。
[0080]
7、在双critic子网络中选择q-value值更小的网络更新参数,求出目标函数
[0081]
8、根据梯度下降公式更新critic网络参数8、根据梯度下降公式更新critic网络参数
[0082]
9、当执行次数t达到一定阈值d(t mod d)后,依据确定性策略梯度公式更新actor网络参数
[0083]
10、使用软更新策略,将主网络的参数更新至目标网络的参数10、使用软更新策略,将主网络的参数更新至目标网络的参数
[0084]
11、重复执行上述步骤3~10,直至算法收敛。
[0085]
s3、在接收到用户设备上传的计算任务时,根据最新更新的网络状态信息,以最小化计算任务的处理时延为优化目标,使用itd3算法训练好的深度强化学习模型进行卸载和资源分配决策,得到决策结果。
[0086]
具体地,应尽量保证计算卸载请求时的网络状态信息与全局控制器最后一次更新的网络状态信息相同。
[0087]
具体地,任务处理时延包括任务的传输时延与执行时延,其计算方法如下:
[0088][0089]
式中,τ
k,s
(t)为卸载的总时延,即时隙t在用户设备产生计算任务k到在边缘服务器s执行计算任务的总时延。τ
up
为输入数据上传时延,为边缘服务器s执行计算任务k的处理时延,τ
wait
为计算任务k的等待时延,τ
down
为结果下载时延。由于每个边缘服务器同时分配不同资源处理多个计算任务,因此等待时延为0;由于下行链路质量较好,因此下载时延可忽略不计。
[0090]
任务处理时延的计算方法如下:
[0091][0092]
其中,dk(t)为计算任务k的输入数据(单位mb),r
k,s
为链路速率(单位mbps),wk(t)为工作负载,fs为边缘服务器s为计算任务k分配的计算资源(单位mhz)。
[0093]
根据香农(shannon)公式,链路速率可写成如下形式:
[0094][0095]
式中b为带宽,g
k,s
(t)为信道增益,pk为传输功率,为噪声功率,i
k,s
(t)为信道间
相互干扰。
[0096]
因此,计算卸载算法的优化目标在于最小化全网络的长期消耗,其消耗定义为执行计算任务的时延,计算方法如下:
[0097][0098]
计算卸载的约束条件计算方法如下:
[0099]
c1:
[0100]
c2:
[0101]
c3:
[0102]
c4:
[0103]
c5:
[0104]
c6:
[0105]
其中,约束条件c1限定任务二进制卸载;约束条件c2限定每个计算任务的截止期限约束;约束条件c3限定正在执行任务所占用的计算资源之和不大于服务器的计算资源;约束条件c4限定所有卸载到服务器的任务占用的存储资源之和不大于服务器的存储资源;约束条件c5限定一个任务最多能被卸载到一个边缘服务器上;约束条件c6限定分配的计算资源恒正。
[0106]
具体地,决策结果,为提供计算卸载与资源分配结果的数据结构,包括计算卸载的节点映射(任务id
→
节点ip)与资源分配的数据映射(节点ip
→
{计算资源:x,存储资源:y
…
})。
[0107]
s4、将计算任务的卸载结果发送至计算任务接入的边缘服务器,将资源调度决策发送至为执行计算任务分配的边缘服务器。
[0108]
具体地,就近接收计算任务的边缘服务器依据节点映射确定计算任务被卸载到的边缘服务器地址,并将任务主要信息发送至指定的边缘服务器地址。任务主要信息包括任务id、任务类型(从而确定执行的算法)、任务到达节点(用于计算结束后回传结果数据)、任务卸载节点(目的地ip地址)。
[0109]
负责执行计算任务的边缘服务器根据服务器自身的资源负载情况,动态为执行对应算法分配所需要的计算资源和存储资源,并建立传输链接,接收任务的输入数据。对应算
法为执行计算任务所需要调用的人工智能推理算法,任务与算法的映射需在网络启动前进行静态配置。事实上,也可以通过静态测量执行任务调用的算法在不同网络环境下的时延作为辅助数据,为计算卸载与资源分配策略提供更精准的决策参考。负载执行计算任务的边缘服务器在边缘服务器上调用指定算法处理计算任务,并将输出结果通过通信链路回传至计算任务的接入服务器,完成计算任务的卸载。
[0110]
与现有技术相比,本发明实施例提供的联合计算卸载和资源分配方法的优越效果在于:
[0111]
在较复杂场景下,传统计算卸载算法难以兼具高性能与低复杂度;传统的计算卸载算法多只考虑一个时隙的卸载结果,未考虑时隙之间的关联性;计算卸载问题本身具有强化学习的两个特征(奖励最大化/markov决策),可以使用强化学习进行求解。深度强化学习模型用于联合计算卸载与资源分配问题的求解,通过对不同网络场景的预训练,实现模型的即时可用(ready-to-use)。并且,在mec网络中,每个边缘服务器可以独立地做出决策,包括任务卸载的目标服务器和基于时变无线信道的资源分配调度决策,以最小化网络的总成本。
[0112]
itd3算法作为ddpg算法的改进版本,它在ddpg算法基础上,同时对policy网络和value网络进行改进,优化了q-value的过高估计问题;从double dqn那里继承了twin critic,用来降低高估误差;计算用于更新td-error的q值时,给action加上了噪声,用于让critic拟合更平滑的q值估计函数;为动作添加一个噪声,用于平滑critic函数;设置定时将150个epoch的最优解赋值为初始状态,加快算法的收敛速度。结合移动边缘网络场景,其状态空间连续,动作空间连续的特性,使用itd3算法对深度强化学习模型进行训练,itd3算法能方便对深度强化学习模型进行探索,并能比ddpg拥有更快的收敛速度与求解精度。
[0113]
通过完成深度强化学习模型的状态空间、动作空间、奖励函数的设计,可以在不同的移动边缘网络场景下进行训练,得到适配于不同移动边缘网络场景的深度强化学习模型,它不受到特定应用场景的限制,与传统的计算卸载与资源分配方案相比,其不需要环境统计先验知识的情况也能取得了良好的性能,能良好执行连续动作的精细离散化,并且不会显著增加动作空间的复杂性,且易于在实际组网中进行部署,实现网络的负载均衡。
[0114]
基于同一发明构思,本发明实施例还提供了一种mec的联合计算卸载和资源分配装置,由于该装置解决问题的原理与前述一种mec的联合计算卸载和资源分配方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。
[0115]
本发明实施例提供的一种mec的联合计算卸载和资源分配装置,如图4所示,包括:
[0116]
建模单元1,用于根据实时获取到的任务特征与移动边缘网络中各边缘服务器的资源负载,对网络状态进行抽象建模,建立深度强化学习模型;移动边缘网络由若干用户设备、若干边缘服务器和一个中央控制器组成;
[0117]
训练单元2,用于每间隔一段时间,获取移动边缘网络中的网络状态信息后,对深度强化学习模型使用itd3算法进行训练;
[0118]
处理单元3,用于在接收到用户设备上传的计算任务时,根据最新更新的网络状态信息,以最小化计算任务的处理时延为优化目标,使用itd3算法训练好的深度强化学习模型进行卸载和资源分配决策,得到决策结果;
[0119]
发送单元4,用于将计算任务的卸载结果发送至计算任务接入的边缘服务器,将资
源调度决策发送至为执行计算任务分配的边缘服务器。
[0120]
在介绍了本发明示例性实施方式的一种mec的联合计算卸载和资源分配方法及装置之后,接下来,介绍根据本发明的另一示例性实施方式的电子设备。
[0121]
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
[0122]
在一些可能的实施方式中,根据本发明的电子设备可以至少包括至少一个处理器、以及至少一个计算机存储介质。其中,计算机存储介质存储有程序代码,当程序代码被处理器执行时,使得处理器执行本说明书上述描述的根据本发明各种示例性实施方式的mec的联合计算卸载和资源分配方法中的步骤。
[0123]
下面参照图5来描述根据本发明的这种实施方式的电子设备600。图5显示的电子设备600仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0124]
如图5所示,电子设备600以通用电子设备的形式表现。电子设备600的组件可以包括但不限于:上述至少一个处理器601、上述至少一个计算机存储介质602、连接不同系统组件(包括计算机存储介质602和处理器601)的总线603。
[0125]
总线603表示几类总线结构中的一种或多种,包括计算机存储介质总线或者计算机存储介质控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
[0126]
计算机存储介质602可以包括易失性计算机存储介质形式的可读介质,例如随机存取计算机存储介质(ram)621和/或高速缓存存储介质622,还可以进一步包括只读计算机存储介质(rom)623。
[0127]
计算机存储介质602还可以包括具有一组(至少一个)程序模块624的程序/实用工具625,这样的程序模块624包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
[0128]
电子设备600也可以与一个或多个外部设备604(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与电子设备600交互的设备通信,和/或与使得该电子设备600能与一个或多个其它电子设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口605进行。并且,电子设备600还可以通过网络适配器606与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器606通过总线603与用于电子设备600的其它模块通信。应当理解,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
[0129]
在一些可能的实施方式中,本发明提供的一种mec的联合计算卸载和资源分配方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码用于使计算机设备执行本说明书上述描述的根据本发明各种示例性实施方式的mec的联合计算卸载和资源分配方法中的步骤。
[0130]
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介
质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取计算机存储介质(ram)、只读计算机存储介质(rom)、可擦式可编程只读计算机存储介质(eprom或闪存)、光纤、便携式紧凑盘只读计算机存储介质(cd-rom)、光计算机存储介质件、磁计算机存储介质件、或者上述的任意合适的组合。
[0131]
本发明的实施方式的mec的联合计算卸载和资源分配的程序产品可以采用便携式紧凑盘只读计算机存储介质(cd-rom)并包括程序代码,并可以在电子设备上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0132]
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0133]
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。
[0134]
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户电子设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户电子设备上部分在远程电子设备上执行、或者完全在远程电子设备或服务器上执行。在涉及远程电子设备的情形中,远程电子设备可以通过任意种类的网络包括局域网(lan)或广域网(wan)连接到用户电子设备,或者,可以连接到外部电子设备(例如利用因特网服务提供商来通过因特网连接)。
[0135]
应当注意,尽管在上文详细描述中提及了装置的若干模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块的特征和功能可以在一个模块中具体化。反之,上文描述的一个模块的特征和功能可以进一步划分为由多个模块来具体化。
[0136]
此外,尽管在附图中以特定顺序描述了本公开方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
[0137]
本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘计算机存储介质、cd-rom、光学计算机存储介质等)上实施的计算机程序产品的形式。
[0138]
本公开是参照根据本公开的方法、设备(系统)、和计算机程序产品的流程图和/或
方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0139]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读计算机存储介质中,使得存储在该计算机可读计算机存储介质中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0140]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0141]
显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
技术特征:
1.一种mec的联合计算卸载和资源分配方法,其特征在于,包括:根据实时获取到的任务特征与移动边缘网络中各边缘服务器的资源负载,对网络状态进行抽象建模,建立深度强化学习模型;所述移动边缘网络由若干用户设备、若干边缘服务器和一个中央控制器组成;每间隔一段时间,获取所述移动边缘网络中的网络状态信息后,对所述深度强化学习模型使用itd3算法进行训练;在接收到所述用户设备上传的计算任务时,根据最新更新的所述网络状态信息,以最小化所述计算任务的处理时延为优化目标,使用itd3算法训练好的所述深度强化学习模型进行卸载和资源分配决策,得到决策结果;将所述计算任务的卸载结果发送至所述计算任务接入的边缘服务器,将资源调度决策发送至为执行所述计算任务分配的边缘服务器。2.如权利要求1所述的方法,其特征在于,所述网络状态信息包括每个所述边缘服务器的网络资源组信息;所述边缘服务器s的网络资源组信息记为其中,分别为所述边缘服务器s的计算资源总量与时隙t的计算资源负载,分别为所述边缘服务器s的存储资源总量与时隙t的存储资源负载,b
s
(t)为所述边缘服务器s在时隙t的通信资源。3.如权利要求2所述的方法,其特征在于,建立的所述深度强化学习模型的状态空间、动作空间、奖励函数设置如下:所述状态空间其中,f(t)={f1(t),f2(t),
…
f
s
(t)}表示各所述边缘服务器在t时刻的计算资源分配情况,q(t)={q1(t),q2(t),
…
q
s
(t)}表示各所述边缘服务器在t时刻的存储资源分配情况,g(t)={g
i,j
(t)|i,j∈s,i≠j}表示各所述边缘服务器之间的通信链路在t时刻的信道增益,h
i,j
(t)为信道(i,j)在t时刻的信道系数,d
i,j
为边缘服务器i与边缘服务器j之间的欧氏距离,ζ为路损因子;(w
k
(t),d
k
(t),t
k
(t))分别为计算任务k(t)的工作量、数据大小与截止期限;所述动作空间其中,α
k,s
(t)为二进制卸载决策变量,当α
k,s
(t)=1时,表示将计算任务k(t)卸载至边缘服务器s;f
s
(t)为边缘服务器s在时隙t为执行计算任务分配的计算资源;所述奖励函数所述奖励函数其中,为优化问题的目标函数,为惩罚函数,c0为惩罚因子,∑
s∈s
(1-α
k,s
(t))表示被拒绝的任务数。
4.如权利要求1所述的方法,其特征在于,所述计算任务的处理时延最小化计算公式如下:其中,d
k
(t)为计算任务k的输入数据,r
k,s
为链路速率,w
k
(t)为工作负载,f
s
为所述边缘服务器s为计算任务k分配的计算资源。5.如权利要求4所述的方法,其特征在于,所述计算任务的处理时延最小化计算公式的约束条件如下:c1:c2:c3:c4:c5:c6:其中,约束条件c1限定所述计算任务为二进制卸载;约束条件c2限定每个所述计算任务的截止期限约束;约束条件c3限定正在执行的计算任务所占用的计算资源之和不大于边缘服务器的计算资源;约束条件c4限定所有卸载到边缘服务器的任务占用的存储资源之和不大于边缘服务器的存储资源;约束条件c5限定一个计算任务最多能被卸载到一个边缘服务器上;约束条件c6限定分配的计算资源恒正。6.如权利要求4或5所述的方法,其特征在于,所述使用itd3算法对所述深度强化学习模型进行训练,具体包括:构建主网络n与目标网络n’,所述主网络n与所述目标网络n’均包括两个critic子网络与一个actor子网络π;在初始状态下为所述主网络n与所述目标网络n’随机分配参数θ1,θ2,,并初始化经验回放池在判断训练的执行次数t大于设定值时,将初始状态s更改为此前观测到的最佳状态s*;根据确定策略加入噪声选择动作
依据动作执行得到下一个状态后,将样本(s,a,r,s’)存储于所述经验回放池中;从所述经验回放池中随机抽样n个样本(s,a,r,s’)进行复习,并依据二次更新公式更新动作在所述两个critic子网络中选择q-value值更小的网络更新参数,求出目标函数根据梯度下降公式更新critic子网络的参数根据梯度下降公式更新critic子网络的参数当确定执行次数t达到设定阈值d后,依据确定性策略梯度公式更新所述actor子网络的参数使用软更新策略,将所述主网络的参数更新至目标网络的参数使用软更新策略,将所述主网络的参数更新至目标网络的参数重复执行上述训练过程直至参数收敛。7.如权利要求1-5任一项所述的方法,其特征在于,所述决策结果包括所述计算任务卸载边缘服务器的节点映射(任务id
→
节点ip)与资源分配的数据映射(节点ip
→
{计算资源:x,存储资源:y
…
})。8.一种服务器,其特征在于,包括:建模单元,用于根据实时获取到的任务特征与移动边缘网络中各边缘服务器的资源负载,对网络状态进行抽象建模,建立深度强化学习模型;所述移动边缘网络由若干用户设备、若干边缘服务器和一个中央控制器组成;训练单元,用于每间隔一段时间,获取所述移动边缘网络中的网络状态信息后,对所述深度强化学习模型使用itd3算法进行训练;处理单元,用于在接收到所述用户设备上传的计算任务时,根据最新更新的所述网络状态信息,以最小化所述计算任务的处理时延为优化目标,使用itd3算法训练好的所述深度强化学习模型进行卸载和资源分配决策,得到决策结果;发送单元,用于将所述计算任务的卸载结果发送至所述计算任务接入的边缘服务器,将资源调度决策发送至为执行所述计算任务分配的边缘服务器。9.一种电子设备,其特征在于,包括至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有被所述至少一个处理器执行的指令;所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行根据权利要求1-7中任一项所述的方法。10.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序用于执行根据权利要求1-7中任一项所述的方法。
技术总结
本发明公开了一种MEC的联合计算卸载和资源分配方法及装置,以最小化网络总体时延为优化目标,通过设计一种基于深度强化学习模型的TD3改进算法(ITD3),形成任务卸载决策和边缘服务器资源分配的联合调度策略,以保证用户业务调度过程的高稳定性与高可靠性,实现业务的灵活调度与资源的按需分配,提升用户服务质量。量。量。
技术研发人员:赵英宏
受保护的技术使用者:中国电信股份有限公司
技术研发日:2021.12.29
技术公布日:2023/7/13
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:骑乘式车辆的制作方法 下一篇:一种玻璃模具冲头的加工方法与流程
