发明内容
为了降低了IoT设备的时延和能耗的总开销,本发明提出一种基于独立学习的移动边缘计算任务卸载方法,具体包括以下步骤:
S1、建立系统模型,并根据处理的任务数构建IoT设备端的任务队列模型;
S2、确定任务计算方式并建立通信模型;
S3、建立任务本地计算模型,得到本地任务计算总开销;
S4、建立任务卸载计算模型,得到卸载任务计算总开销;
S5、引入能量收集,建立IoT设备端的剩余电量队列模型;
S6、构建以最小化MEC系统中IoT设备总开销的长期平均为目标的优化问题;
S7、建立基于强化学习的独立学习任务卸载模型,包括系统状态空间、动作空间和奖励函数,求解最优的任务卸载策略。
进一步的,在IoT设备端的任务队列模型中,在t+1时隙任务队列Q(t)的更新表示为:
Q(t+1)=min{max{Q(t)-bi(t),0}+π(t),Q};
其中,Q(t)表示第t个决策时隙IoT设备队列中的任务数;bi(t)表示IoT设备在第t个决策时隙决定处理的任务数,i∈{0,1,2,...,N,N+1},当i=0表示IoT设备决定在本地处理计算任务、i=1表示IoT设备决定将任务卸载到MBS、i>1表示IoT设备决定将任务卸载到SBS;π(t)表示t个决策时隙内IoT设备产生的任务数,π(t)服从均值为λ的泊松分布且π(t)独立同分布,Q表示可在IoT设备缓存队列排队的最大计算任务数。
进一步的,确定任务计算方式包括:
ai(t)∈{0,1},i∈{0,1,2,...,N,N+1};
其中,ai(t)=1表示IoT设备选择方式i执行计算任务,否则有ai(t)=0;i=0表示IoT设备选择在本地执行任务,i=1表示IoT设备选择卸载到MBS执行任务,i>1表示IoT设备选择卸载到SBS执行任务,且IoT设备在每个决策时隙只能选择一种计算方式。
进一步的,本地任务计算总开销表示为:
Cl(t)=λtTl(t)+λeEl(t);
El(t)=plξb0(t);
其中,Cl(t)为本地任务计算总开销,Tl(t)为第t个决策时隙任务在本地计算的时延,El(t)为第t个决策时隙任务在本地计算的能耗,λt与λe分别代表时延和能耗的权重系数;b0(t)表示在第t个决策时隙IoT设备在本地处理的任务数,ξ表示处理单个任务所需要的CPU周期数,fl表示IoT设备的计算能力,pl为IoT设备计算单位CPU周期所消耗的能耗。
进一步的,卸载任务计算总开销表示为:
其中,
为卸载任务计算总开销,
为IoT设备将任务卸载到目标基站i的总时延,
为IoT设备将任务卸载到目标基站i的总能耗,λ
t与λ
e分别代表时延和能耗的权重系数;η表示单个任务的原始数据量,f
i表示MEC服务器分配给IoT设备的计算资源,p
tr表示IoT设备上传数据的传输功率,p
o表示IoT设备空闲时的功率。
进一步的,IoT设备端的剩余电量队列模型表示为:
e(t+1)=min{max{e(t)-E(t),0}+q(t),Emax};
其中,e(t+1)表示在第t+1个决策时隙的开始IoT设备的剩余电量,e(t)表示在第t个决策时隙的开始IoT设备的剩余电量,E(t)表示任务本地或卸载计算的能耗,q(t)表示IoT设备从周围环境中获取的能量,Emax表示IoT设备的最大电池容量。
进一步的,IoT设备从周围环境中获取的能量q(t)表示为:
其中,μ∈(0,1)表示能量转换效率,ν(t)表示在时隙t的发射功率,d表示无线充电发射器与IoT设备之间的距离,κ表示路径损耗因子,
表示无线充电发射器天线与IoT天线的联合增益。
进一步的,以最小化MEC系统中IoT设备总开销的长期平均为目标的优化问题表示为:
其中,C(t)为在决策时隙tIoT设备的总开销;E[·]表示求期望;T表示时隙的总长度;
表示系统总开销的长期平均。
进一步的,在基于强化学习的独立学习任务卸载模型中系统的状态空间表示为:
s(t)=[Q(t),e(t),gi(t)];
系统的动作空间表示为:
y(t)=[ai(t),bi(t)];
系统的奖励函数表示为:
其中,S为系统的状态空间,s(t)∈S,Q(t)∈{0,1,...,Q}表示IoT设备任务缓存队列的任务数,e(t)∈{0,1,...,E
max}表示第t个决策时隙IoT设备的剩余电量,g
i(t)∈G表示第t个决策时隙IoT设备与基站i之间的信道增益;Y为系统的动作空间,y(t)∈Y,a
i(t)∈{0,1},i∈{0,1,2,...,N,N+1}表示IoT设备选择的计算方式,b
i(t)∈{1,2,...,Q(t)},i∈{0,1,2,...,N,N+1}表示IoT设备在第t个决策时隙决定处理的任务数;R(s(t),y(t))为系统的奖励函数,β∈[0,1]表示平衡本地计算总开销和当前状态的实际开销的权重,I(e(t)≥E
l(t))表示剩余电量支持本地计算,
表示剩余电量支持任务卸载到基站i。
进一步的,求解最优的任务卸载策略包括:
根据状态s下动作a对应的动作值函数计算策略π累积的奖励值期望,策略π为一个待执行动作合集,该期望表示为:
通过最大化t时刻的动作值函数Qt(s,y),获得最优卸载策略,t+1时刻的动作值函数表示为:
Qt+1(s,y)=Qt(s,y)+α(Rt(s,y)+γmaxy'∈YQt(s′,y′)-Qt(s,y));
最优卸载策略表示为:
π*(s)=arg maxy∈YQ*(s,y);
其中,γ为折扣因子;α表示学习速率;s(0)表示初始状态,s(t)表示t时刻的状态;y(0)表示初始动作,y(0)表示t时刻的动作,Y表示所有动作的集合;Qt(s′,y′)表示t时刻状态s′下动作y′的价值;Rt(s,y)为t时刻状态s下动作a的价值函数;π表示选择的策略,π*(s)为最优卸载策略;Q*(s,y)表示得到的最优动作值的价值函数。
本发明引入了能量收集模型,并利用DQN的独立学习方法得到最优卸载策略,不仅极大地降低了IoT设备的时延和能耗的总开销,而且在一定程度上延长MEC系统的使用寿命。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提出一种基于独立学习的移动边缘计算任务卸载方法,如图2,具体包括以下步骤:
S1、建立系统模型,并根据处理的任务数构建IoT设备端的任务队列模型;
S2、确定任务计算方式并建立通信模型;
S3、建立任务本地计算模型,得到本地任务计算总开销;
S4、建立任务卸载计算模型,得到卸载任务计算总开销;
S5、引入能量收集,建立IoT设备端的剩余电量队列模型;
S6、构建以最小化MEC系统中IoT设备总开销的长期平均为目标的优化问题;
S7、建立基于强化学习的独立学习任务卸载模型,包括系统状态空间、动作空间和奖励函数,求解最优的任务卸载策略。
本发明的实施例采用两层异构(Macro-Small Cell)网络模型,如图1所示。面向异构网络的MEC应用场景由一个配备有MEC服务器的宏基站(Macro Base Station,MBS)、N个配备有MEC服务器的小基站(Small Base Station,SBS)以及一个典型IoT设备构成,在MBS的覆盖范围内部署N个FBS,且IoT设备支持计算密集型任务。为了方便表述,定义N={1,2,...,i,...,N,N+1}。其中,i=1表示MBS,i>1表示SBSi。
本发明采用离散时隙系统模型,将连续的时间等分成离散的决策时隙,每个决策时隙的长度为τ,代表最大容忍时延,即在每个时隙中处理任务的时延不能超过τ,t表示第t个决策时隙,t=1,2,...。在第t个决策时隙内,假设IoT设备产生的任务数为π(t),π(t)服从均值为λ的泊松分布且π(t)独立同分布。使用任务模型R(ξ,η)来表示IoT设备单个任务的计算特性,其中ξ表示的是处理单个任务所需要的CPU周期数,η表示IoT设备单个任务的原始数据量。上一个决策时隙产生但未处理任务可以在下一个决策时隙进行处理。对于产生的任务,IoT设备可以决定在本地处理,还是卸载到SBS或MBS的MEC服务器上远程处理。
在本实施例中,假设IoT设备存在一个队列,按照先进先出的方式存储产生的任务,在当前时隙产生但未处理的任务,需要在IoT设备的缓存队列中排队等待下一时隙执行,定义Q表示可在IoT设备缓存队列排队的最大计算任务数,Q(t)表示第t个决策时隙IoT设备队列中的任务数,则在t+1时隙任务队列Q(t)的更新方程为:
Q(t+1)=min{max{Q(t)-bi(t),0}+π(t),Q};
其中,bi(t),i∈{0,1,2,...,N,N+1}表示IoT设备在第t个决策时隙决定处理的任务数。其中,i=0表示IoT设备决定在本地处理计算任务,i=1表示IoT设备决定将任务卸载到MBS,i>1表示IoT设备决定将任务卸载到SBS。如果IoT设备决定将任务卸载到SBS或MBS,本发明默认MBS和SBS的计算资源充足,忽略任务到达MEC服务器后的排队时延,到达的任务可以立即执行。
本发明定义IoT设备的卸载决策为ai(t)∈{0,1},i∈{0,1,2,...,N,N+1}。ai(t)=1表示IoT设备选择方式i执行计算任务,否则有ai(t)=0。i=0表示IoT设备选择在本地执行任务,i=1表示IoT设备选择卸载到MBS执行任务,i>1表示IoT设备选择卸载到SBS执行任务,且IoT设备在每个决策时隙只能选择一种计算方式。
进一步的,在第t个决策时隙,IoT设备在信道上访问基站i的上行链路传输速率为:
其中,Bi表示基站i分配给IoT设备的带宽,ptr表示IoT设备向基站i传输数据的功率,假设信道增益在一个决策时隙内保持不变,在不同的决策时隙信道增益不同,gi(t)∈G表示第t个决策时隙IoT设备与基站i之间的信道增益,其中G表示有限信道增益状态空间,σ2表示高斯白噪声功率。
第t个决策时隙,如果IoT设备决定任务在本地计算,则任务在本地计算的时延和能耗分别为:
El(t)=plξb0(t);
其中,b0(t)表示在第t个决策时隙IoT设备在本地处理的任务数,ξ表示处理单个任务所需要的CPU周期数,常数fl表示IoT设备的计算能力,pl为IoT设备计算单位CPU周期所消耗的能耗。
进一步的,第t个决策时隙,IoT设备本地计算的时延和能耗的总开销为:
Cl(t)=λtTl(t)+λeEl(t);
其中,λt与λe分别代表时延和能耗的权重系数,满足λt∈[0,1],λe∈[0,1]且λt+λe=1。任务的类型不同,权重也会不同,本文假设在计算卸载过程中λt与λe保持不变。
本实施例的卸载时延包括传输时延、处理时延和回传时延。
第t个决策时隙,IoT设备通过无线接入网将任务发送到目标基站i的传输时延为:
其中,bi(t)表示在第t个决策时隙IoT设备卸载到目标基站i的任务数。
本实施例中,假设MBS配备的MEC服务器与SBSs配备的MEC服务器计算能力不同,认为MEC服务器的计算资源非常丰富,因此忽略任务到达MEC服务器的排队时延,则有
其中,
为MBS所配备的MEC服务器的计算能力,
为SBSs所配备的MEC服务器的计算能力。
第t个决策时隙,基站i的MEC服务器处理计算任务所需要的处理时延为:
其中,fi表示MEC服务器分配给IoT设备的计算资源。
由于MEC服务器处理后的数据量远小于输入数据量,且回传数据速率一般很高,因此本发明忽略基站i的MEC服务器将执行结果回传给IoT设备的回传时延。
进一步的,IoT设备将任务卸载到基站i的总时延为:
本实施例的卸载能耗包括传输能耗以及等待能耗。
第t个决策时隙,IoT设备将计算任务传输到基站i的能耗为:
其中,ptr表示IoT设备上传数据的传输功率。
IoT设备将任务发送到MEC服务器后,此时的IoT设备处于空闲等待状态,等待能耗为:
其中,po表示IoT设备空闲时的功率。
进一步的,IoT设备将任务卸载到基站i的总能耗为:
进一步的,IoT设备将任务卸载到基站i的时延和能耗的总开销为:
本实施例引入能量收集,IoT设备配备有能量收集器,可将捕获的可再生能源转换为电能,通过无线充电发射器在空中传输稳定的能量,存储在IoT设备的电池中,以支持计算任务的处理。假设IoT设备除了计算、传输和等待之外,其他能量消耗可以忽略不计,最大电池容量为Emax。在第t个决策时隙,IoT设备从周围环境中获取的能量记为q(t),由下式给出:
其中,μ∈(0,1)表示能量转换效率,ν(t)表示在时隙t的发射功率,d表示无线充电发射器与IoT设备之间的距离,κ表示路径损耗因子,
表示无线充电发射器天线与IoT天线的联合增益。
则在第t+1个决策时隙,IoT设备的剩余电量分为以下两种情况:
在决策时隙t,IoT设备选择将任务在本地处理时:
e(t+1)=min{max{e(t)-El(t)Emax};
其中,e(t)表示在第t个决策时隙的开始IoT设备的剩余电量,El(t)表示任务在本地计算的能耗。
在决策时隙t,IoT设备选择将计算任务卸载到基站i时:
本实施例所建立的MEC卸载系统中,IoT设备的总开销为:
将IoT设备的卸载决策设定为优化问题,优化目标是最小化MEC系统中IoT设备总成本的长期平均。优化目标可以表述为:
其中,E[·]表示求期望,a
i(t)表示IoT设备的卸载决策,a
i(t)=1表示IoT设备选择方式i计算任务;
表示选择的计算方式,i=0表示IoT设备选择在本地执行任务,i>1表示IoT设备选择卸载到SBS执行任务,i=1表示IoT设备选择卸载到MBS执行任务;
表示IoT设备在每个时隙只能选择一种计算方式,即本地计算或者卸载到MEC服务器;
表示在每个时隙中处理任务所需要的时延不能超过最大容忍时延τ;0≤b
i(t)≤Q表示IoT设备在每个决策时隙处理的任务数不能超过队列中最大计算任务数。。
由于第t+1个决策时隙的系统状态只取决于第t个时隙的状态和动作,而与之前的历史的系统状态无关,因此,可以将决策问题建模为有限状态的马尔科夫决策过程(MDP)。
定义所述系统的状态空间S:
s(t)=[Q(t),e(t),gi(t)];
其中,s(t)∈S,Q(t)∈{0,1,...,Q}表示IoT设备任务缓存队列的任务数,e(t)∈{0,1,...,Emax}表示第t个决策时隙IoT设备的剩余电量,gi(t)∈G表示第t个决策时隙IoT设备与基站i之间的信道增益。系统状态s(t)可以在第t个决策时隙的开始观察到。
定义所述系统的动作空间Y:
y(t)=[ai(t),bi(t)];
其中,y(t)∈Y,ai(t)∈{0,1},i∈{0,1,2,...,N,N+1}表示IoT设备选择的计算方式,bi(t)∈{1,2,...,Q(t)},i∈{0,1,2,...,N,N+1}表示IoT设备在第t个决策时隙决定处理的任务数。
定义所述系统的奖励函数R:
其中,β∈[0,1]表示平衡本地计算总开销和当前状态的实际开销的权重,处理第t个决策时隙IoT设备任务的时延和能耗的总开销C(t)越小,则获得的奖励越多,I(e(t)≥E
l(t))表示剩余电量支持本地计算,
表示剩余电量支持任务卸载到基站i。
本发明在建立系统状态空间、动作空间和奖励函数后,提出一种基于强化学习Q-Learning的独立学习任务卸载方法以求解最优卸载策略,如图3所示。RL系统中的智能体在不需要先验知识的情况下,通过与环境交互得到相应的反馈,不断改进自己的行为,从而增强其决策能力,形成一个独立学习的RL模型。在本实施例所考虑的异构MEC场景中,IoT设备充当智能体与环境持续交互,寻找最佳行动,以使回报最大化。图4为IoT设备与异构MEC环境的交互过程,其交互过程可以建模为一个四元组的形式(s(t),y(t),r(t),s(t+1)),该四元组表示在第t个决策时隙,IoT设备对环境的观察即状态s(t),然后采取动作y(t),该动作完成后,代理获得相应的奖励r(t),并跳转到新状态s(t+1),随后,根据环境给予的奖励来更新策略。
进一步的,每个状态-动作对(s(t),y(t))都对应着一个动作值函数Q(s,y),表示在初始状态为s、y的条件下,采取策略π得到的一个累积的奖励期望值,基本方程表示为:
其中,γ(γ∈(0,1))为折扣因子,用来衡量奖励值在动作值函数当中的作用,s(0)表示初始状态,y(0)表示初始动作,π表示选择的策略。
通过最大化动作值函数Q(s,y)获得最优的卸载策略,并利用增量求和的方式更新Q(s,y),每次执行一个动作后,Q(s,y)的更新方程如下:
Qt+1(s,y)=Qt(s,y)+α(Rt(s,y)+γmaxy'∈YQt(s′,y′)-Qt(s,y))
其中,α表示学习速率,学习速率的大小决定了之前的训练结果对每次更新的影响,Rt(s,y)表示即时(当前为t时刻)反馈的价值函数,maxy'∈YQt(s′,y′)表示在下一个状态对应动作的最大Q(s,y)。
最优策略即为最大动作值函数Q*(s,y)所对应的动作,方程表示为:
π*(s)=arg maxy∈YQ*(s,y);
为了确保异构MEC系统可以遍历每个状态中所有潜在的动作,采取ε-greedy策略,让IoT设备以概率ε随机选择动作进行探索,以1-ε概率选择Q(s,y)最大的动作,MEC系统在接收到动作后更新状态,并反馈一个奖励。
将任务卸载问题定义为马尔可夫决策过程,建立面向异构网络的任务卸载模型,基于强化学习Q-Learning方法,提出了独立学习的任务卸载策略。
图5显示了系统计算时延与计算任务数之间的关系,图6显示了系统能耗与计算任务数之间的关系。设定单个任务的数据量η为10kb,显然,IoT设备的能耗和计算时延随计算任务数的增加而增加,与完全本地处理计算任务相比,本发明所提出的基于独立学习的移动边缘计算任务卸载方法可以大大降低计算任务所需的时延和能耗。
本发明引入了能量收集模型,并利用Q-Learning的独立学习方法得到最优卸载策略。仿真分析表明,提出的任务卸载策略不仅极大地降低了IoT设备的时延和能耗的总开销,而且在一定程度上延长MEC系统的使用寿命。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。