[发明专利]一种车联网中车边协同的任务卸载调度及资源分配方法有效
申请号: | 202110415530.2 | 申请日: | 2021-04-18 |
公开(公告)号: | CN113132943B | 公开(公告)日: | 2022-04-19 |
发明(设计)人: | 邝祝芳;高坚;黎松 | 申请(专利权)人: | 中南林业科技大学 |
主分类号: | H04W4/40 | 分类号: | H04W4/40;H04W16/10 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 410004 湖南*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 联网 中车边 协同 任务 卸载 调度 资源 分配 方法 | ||
1.一种车联网中车边协同的任务卸载调度及资源分配方法,包括以下步骤:
步骤1:构造车联网中车边协同计算网络的数学模型P1;
步骤2:给定任务执行CPU频率(fil*,fir*),fil*表示任务i在本地计算的CPU频率,fir*表示任务i在边缘服务器计算的CPU频率,构造数学模型P2,基于深度强化学习DQN算法求解问题P2,求得卸载和调度决策(xi,αi),得出目标值V;
步骤3:根据步骤2求得的卸载和调度决策(xi,αi),构造数学模型P3,使用梯度下降法GD,求解I个任务的CPU频率,得出目标值V’;
步骤4:计算目标值V和V′的差值,如果差值小于阈值χ,即V-V'<χ,则循环迭代结束,否则跳转至步骤2;
步骤1中构造车联网中车边协同计算网络的数学模型P1的步骤如下:
每个任务可以在本地或者边缘服务器上进行计算,αi∈{0,1}表示任务i的卸载决策,αi=0表示任务i在车辆本地计算,αi=1表示任务i在边缘服务器计算,xi∈{1,...,i,...I}表示任务的调度顺序,第几个被调度执行,用集合α={α1,α2,...,αI}表示系统中所有任务的卸载决策,集合X={x1,x2,...,xI}表示系统中所有任务的调度顺序,每个任务仅能采用一种卸载决策,一种调度决策来计算任务,用集合Y={y1,...,yp,...,yNS}表示边缘服务器执行任务的顺序,NS表示在边缘服务器执行任务的数量,yp表示第p个在边缘服务器执行的任务,用集合Z={z1,...,zq,...,zNL}表示在车辆端(本地)执行任务的顺序,NL表示在车辆端执行任务的数量,zq表示第q个在车辆端(本地)执行的任务,
由于不同区域具有不同的频谱效率,可以得到在区域k,任务从车辆上传到边缘服务器的数据传输速率vk为:
vk=b*rk (1)
其中b为车辆到边缘服务器的信道带宽,单位为Hz,rk为区域k的频谱效率,单位为bit/s/hz;
车辆的任务i在本地执行的完成时刻表示为Til,公式如下:
其中,ci为任务i所需的CPU周期,fil表示车辆分配给任务i的CPU计算频率,zq表示本地执行任务集合中最近一个被执行的任务;
车辆的任务i在边缘服务器计算完成的时刻表示为Tir,对于边缘服务器计算,首先通过无线链路将任务卸载到边缘服务器,然后边缘服务器执行计算任务,任务的时间消耗包括两部分:任务传输时间和边缘服务器上的计算时间,任务在边缘执行必须满足以下两个条件:首先,任务输入数据在边缘服务器上准备好,其次,边缘服务器上的CPU可用于执行新上传的任务,Titran表示任务i传到边缘服务器的传输时间,Titran如下式所示:
其中表示任务i在区域k上传的数据量大小,vk表示区域k的数据传输速率,任务需要传输到边缘服务器进行计算时,车在不断移动,任务可能在单个区域内无法传输完成,因此,在上传任务时,需要根据车辆的速度及位置,将任务分为多部分进行上传,且如果不需要在区域k计算,则该任务在区域k区域的上传数据量大小为0;
表示任务i的准备时间,如下所示:
其中,yp表示最近一个被上传到边缘服务器执行任务集合中的任务,集合Y中所有任务传输到边缘服务器的时间总和,再加上任务i的传输时间即为任务i的准备时间;
根据(3)(4)两式,可以得到任务i在边缘服务器计算的完成时刻Tir如下:
其中表示最近一个在边缘服务器执行的任务yp在边缘服务器计算的完成时刻,表示任务i在边缘服务器的计算时间;当p=0时,表示任务i是边缘服务器接收的第一个任务,因此任务i的传输时间就是准备时间,任务i的传输时间和计算时间相加就是任务i的完成时刻;当p0时,表示在任务i之前已经有任务在边缘服务器上进行计算,比较任务i的准备时间,和边缘服务器最近一个被执行的任务的完成时刻,取两个中的最大值,然后加上任务i计算时间就是任务i的完成时刻;
任务i在本地的执行能耗表示为公式如下:
其中,ε是能量消耗系数,fil为任务i在本地计算的CPU频率
任务i在边缘服务器的执行能耗表示为公式如下:
其中,fir为任务i在边缘服务器计算的CPU频率,pl表示任务i传输到边缘服务器的上传功率;
定义数学模型P1,在满足约束条件的情况下,最小化系统内所有任务的最终完成时刻和最小化能量消耗,如下所示:
式(8)是目标函数,其中和分别表示当前选择第i个任务后,本地和边缘任务集合中最后一个任务的完成时刻,ω表示加权系数,αi表示卸载决策,表示任务i在本地或者边缘服务器计算;
式(9)表示卸载决策约束,任务i只能在本地或者卸载到边缘服务器执行;
式(10)表示任务i在本地或边缘服务器的完成时刻不应超过最大完成时刻;
式(11)表示任务i在本地或边缘服务器的能量消耗不应超过最大能耗约束;
式(12)表示任务i在本地的执行频率不应超过本地的最大执行频率;
式(13)表示任务i在边缘服务器的执行频率不应超过边缘服务器的最大执行频率;
式(14)表示任务的调度顺序不能重合;
步骤2在给定任务执行CPU频率(fil*,fir*),构造数学模型P2,基于深度强化学习DQN算法求解问题P2,求得卸载和调度决策(xi,αi),得出目标值V,步骤如下:
S2-1构造给定CPU频率情况下的数学模型,在给定CPU频率(fil*,fir*)情况下,优化所有任务的卸载决策和调度决策,采用DQN算法进行求解,求解任务的卸载决策和调度决策的目标与问题P1一致,为最小化所有任务的能量消耗和执行时间的加权和,优化问题的数学模型P2可写成如下所示:
其中(15)为目标函数,(16)-(19)为约束条件,(αi,xi)是优化变量,αi是卸载决策,表示任务i是否本地或者边缘服务器执行,xi是调度决策,表示任务i在第xi个进行调度;
S2-2基于深度强化学习DQN算法的卸载决策和缓存决策的三个关键要素定义,深度强化学习方法中有三个关键要素,即状态、动作、奖励,具体定义如下:
(1)系统状态S:用S表示系统状态,S={Sl,Sr,φl}表示环境的状态空间,其中Sl表示车辆当前的计算队列,Sr表示边缘服务器当前的计算队列,φl表示车辆的当前位置;
(2)系统动作A:用A表示系统动作,系统动作包括卸载决策和调度决策,用A={α,X}表示,其中卸载决策α={α1,α2,...,αI},αi∈{0,1},αi表示任务i在本地或者边缘服务器执行,调度决策X={x1,x2,...,xI},xi∈{1,2,...,I},xi表示任务i在第几个进行调度;
(3)系统奖励R:每一步,agent在执行完每一个可能的动作后,都会得到一个奖励R,在某一个可能的动作选了任务i后,得到回报是成本的负数,回报越大,成本越低,如果执行的动作不满足约束条件,则R=-P,P是远比R大的惩罚数;
S2-3基于深度强化学习DQN算法,求解所有用户的任务的卸载决策和调度决策,为了解决大空间问题,DQN使用深度神经网络来估计动作价值函数该函数值可视为累计奖励,Q(S,A)可设为:
Q(S,A)=R+βmaxA'Q(S',A') (20)
其中S',A'表示下一个状态和动作,β为衰减因子,下一时刻的Q值可更新为:
Q(S,A)←Q(S,A)+γ(R'+βmaxA'Q(S',A')-Q(S,A)) (21)
初始化经验池容量为memory_size=1000组,初始化评估Q网络,随机生成网络参数θ;初始化目标Q网络,网络参数θ-=θ,初始化训练轮数episode=1,每轮训练步数t=1,训练最大轮数为episodemax,每轮到达终止状态的步数为Γ,经验池采样前的元组存储条数φ,评估网络与目标网络参数同步的步数整个神经网络的总步数STEP=episodemax×Γ,初始step=1,
①初始化episode=1,t=1,step=1,
②取状态St,
③将St输入DQN神经网络中,以ε的概率来选择最大Q值对应的动作,可得到否则随机选择动作At,计算At对应的奖励Rt,以及对应的下一步状态St+1,
④将(St,At,Rt,St+1)存储进经验池中,经验池的大小有限,当数据记录满了之后,下一个数据会覆盖经验回放中的第一个数据,
⑤若step>φ,进行⑥,否则,跳到⑦,
⑥随机从经验池中选择一组数据(Sj,Aj,Rj,Sj+1),将Sj输入评估Q网络中,得到估计值Qθ(Sj,Aj);将Sj+1输入目标Q网络中,得到Qθ-(Sj+1,Aj+1),则目标Q网络的Q值为计算Qθ(Sj,Aj)与Qθ-*(Sj,Aj)之间的误差,使用梯度下降法更新评估Q网络的参数θ,使用均方误差(mean-squared error,MSE)来定义损失函数:
利用梯度下降方法来对网络参数θ进行更新:
θ=θ-Δθ (24)
若将评估Q网络的参数θ赋值给目标Q网络的参数θ-,即θ-=θ,
⑦step=step+1,t=t+1,
⑧如果t<Γ,跳到②,否则episode=episode+1,
⑨如果episode=episodemax,结束训练,否则,置t=1,跳到②,
训练完成以后,累计奖励基本上达到最大,通过训练好的神经网络得到所有任务的最终策略;
S2-4根据以上求解的卸载和调度决策和已给定的CPU频率代入目标式(8)求得目标值V;
步骤3根据步骤2求得的卸载和调度决策向量(αi,xi),构造数学模型P3,使用梯度下降法GD,求解I个任务的CPU频率,得出目标值V’,步骤如下:
S3-1 CPU频率分配问题的目标是最小化所有任务的完成时刻和能量消耗,优化问题的数学模型P3可写成如下形式:
S3-2根据步骤2求得卸载决策和调度决策之后,任务在本地执行或边缘服务器执行,第几个执行,都可得知,对于任务在本地执行、以及在边缘服务器执行的CPU频率分配分别进行求解,求解方式一样,都采用梯度下降法GD进行求解,下面以任务在本地执行为例,说明CPU频率分配的计算步骤;
对于所有在本地执行的任务,可得本地任务完成时刻因加入任务i而增加了变量边缘服务器完成时刻未发生变化,是常数,故优化可以转换为优化约束条件(26)、(27)和(28)分别表示为M1(fil)=Til-Tmax,则将P3转换为数学模型P4:
s.t.Mj(fil)≤0,(j=1,2,3) (31)
S3-3采用梯度下降法优化任务在本地或边缘服务器执行时的CPU频率,具体步骤如下:
i)单个任务的约束函数可以得到如下的二次规划问题P5:
s.t.Mj(fil)≤0,(j=1,2,3) (33)
ii)求解二次规划问题,引入拉格朗日乘子向量[λ1,...,λj],问题P5的对偶问题如下所示:
iii)将(30)式对fil求导得:
iv)给定fil初始点x0,学习率alpha,收敛精度δ,最大迭代次数itermax,置k=0,k为迭代次数;
v)令η=L(x0,λ1,λ2,λ3);
vi)在x0搜索方向上对目标函数进行约束一维搜索,每次搜索得到求得η'=L(x0,λ1,λ2,λ3),当|η'-η|≤δ或者迭代次数k>itermax时,停止搜索,得到最优值fil*的表达式;
vii)对(30)中的参数λ1,λ2,λ3分别进行求导,然后重复iii到vi步,可以分别得到的表达式;
viii)根据fil*,求得目标值V';
步骤4计算目标值V和V′的差值,如果差值小于阈值,即V-V'<χ,则循环迭代结束,否则跳转至步骤2。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中南林业科技大学,未经中南林业科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110415530.2/1.html,转载请声明来源钻瓜专利网。