基于深度Q学习的电力物联网任务卸载研究

2022-11-23 09:06丁忠林谈宇浩
计算机与现代化 2022年11期
关键词:资源分配时延消耗

丁忠林,李 洋,曹 委,谈宇浩,徐 波

(1.国网电力科学研究院有限公司,江苏 南京 211000; 2.南京邮电大学通信与信息工程学院,江苏 南京 210003)

0 引 言

电力物联网(Power Internet of Things, PIoT)[1]通过将通信基础设施资源与电力基础设施资源相结合,并利用先进的信息与通信技术,实现互联设备之间的信息交换,进一步提高电力系统的运行效率。在技术层面,通过将各种传感设备(例如全球定位系统、摄像头、红外传感器以及射频识别设备)和智能电表基础设施部署在一定区域内,对物理环境与设备进行感知,采集数据进行分析处理,并进一步为能源管理方案做出智能化的决策[2]。然而,随着电力物联网中接入的设备逐渐增多,采集到的数据量越来越庞大并且形式更加丰富,这对通信和计算资源提出了严格的要求。值得注意的是,尽管近年来设备的计算能力有所提高,但是仍难满足复杂业务处理需求,特别是一些对延迟较为敏感的业务。此外,距离较远的云计算平台也难以满足时延约束[3]。本文主要研究电力物联网系统中的任务卸载问题,考虑到服务器存在任务队列的情况,提出基于深度强化学习的任务卸载算法。

1 相关研究工作

通过在网络边缘提供计算和存储资源,边缘计算被认为是解决上述挑战的有效方案之一。电力设备可以将计算任务卸载到边缘服务器,避免了由于传输到云服务器而产生的通信延迟和网络流量消耗[4-5]。边缘计算非常适合电力物联网场景下的数据处理与分析。例如,文献[6]提出了实时监测电网服务的一种边缘计算框架,并进一步建立了边缘服务器的卸载问题,以降低任务处理成本。文献[7]提出一种高效的PIoT数据处理方法。此外文献[8]的作者研究了智能电网场景下边缘设备的消息传播,并提出了一种高效的数据处理方法。在文献[9]中,作者基于边缘计算框架提出了一些资源管理和负载平衡方法,来处理智能电网中客户的请求。然而,与在设备本地计算相比,任务卸载仍然会带来额外的能量消耗和传输时延。因此,需要通过利用合理的任务卸载和资源分配方法,在提高数据处理能力的同时最大限度控制通信开销。

近年来,有许多研究工作围绕着边缘卸载展开。文献[10]的作者提出了一种基于马尔可夫决策过程的卸载方法来控制任务的转移和执行。文献[11]的方法减少了单设备卸载场景下的执行延迟以及能耗。在文献[12]中作者研究了多设备联合通信和计算资源分配系统中延迟最小化的问题。尽管利用边缘服务器完成任务计算能够降低延迟和能耗,但是由于复杂的通信拓扑以及动态变化的系统状态,做出长期有效的卸载决策仍然面临着困难。深度强化学习(Deep Reinforcement Learning, DRL)能够有效地对长期优化问题进行求解[13-18]。文献[13]和文献[14]中的作者采用了基于DRL的算法来为各种车辆通信模式寻求最佳的任务卸载决策。文献[15]提出了一种基于DRL的整合架构以提高边缘缓存的性能。在文献[16]中,作者提出了一种DRL算法来进行边缘服务器的选择,并根据当前的电池电量确定卸载速率。为了减少DRL的动作空间,文献[17]提出了一种结合了博弈理论的分布式学习方法。在文献[18]中,作者提出了相似信道状态的设备共享Q表格的方法来减少迭代次数。然而,上述工作没有综合任务卸载和计算资源分配对系统性能的影响,因此很难找到能够平衡延迟和能耗的卸载机制。

本文考虑PIoT边缘卸载场景,电力设备通过分配的子载波接入边缘服务器。将服务器端的任务执行过程建模为队列,而设备的任务卸载过程则建模为马尔可夫决策过程[19]。定义时延与能耗的加权和为系统消耗,通过对任务卸载和计算资源分配进行联合优化最小化系统消耗。本文首先构建了一个配备了多边缘服务器的PIoT系统,将任务卸载和计算资源分配联合优化问题表示成一个长期的混合整数非线性规划问题。该问题中,当前帧的任务调度和资源分配决策将会改变服务器任务队列状态从而影响下一帧的决策,而传统的优化方法只能在每一个帧时隙内对该问题进行求解,所以无法降低长期的系统消耗。本文在方法上的创新在于将传统的优化方法和强化学习相结合。具体来说,本文首先将原问题分解为计算资源分配和任务卸载决策2个子问题,前者通过凸优化方法对连续变量进行优化,而后者则考虑了服务器存在任务排队的情况,利用深度强化算法降低长期系统消耗,最终通过迭代解决2个子问题得到原问题的最终解。最后,将所提出算法与对照算法的仿真结果进行比较,验证了所提算法的性能增益。

2 系统模型与优化问题

本文考虑一个PIoT边缘计算系统,如图1所示。该PIoT系统由一个控制器进行集中控制,它能够从设备和服务器上收集网络状态信息,同时也能通过专用的控制信道进行任务卸载和资源分配决策。每个接入点(Access Point, AP)都配备了边缘服务器,用以处理卸载到该边缘服务器的任务。假定每个设备都有各自的计算任务πu={Du,Cu},其中Du和Cu分别表示任务u的数据大小(bits)和工作量(cycles),可以在本地执行或者卸载到边缘服务器上执行。AP集合和设备结合分别用M={1,...,M}和U={1,...,U}表示。为了表示方便,将边缘服务器的集合也表示为M。

PIoT边缘计算系统的任务执行由多个帧构成,每一帧被划分为任务调度、任务执行和结果返回3个阶段。在任务调度阶段中,根据任务调度结果,将任务保留在本地或将其卸载到一台边缘服务器。在任务执行阶段,设备和边缘服务器开始执行各自的任务。当远程计算完成后,边缘服务器需要将计算结果返回给设备。考虑到计算后输出结果的数据量大小远小于输入数据量大小,因此忽略了计算结果返回过程的延迟和开销。

图1 电力物联网系统

2.1 能耗与时延

(1)

当设备u将任务卸载到某个边缘服务器时,其相应的上行传输时间、计算时间以及能耗可以分别表示为:

(2)

(3)

(4)

当设备u在本地完成计算任务时,其本地计算时间以及能耗分别为:

(5)

Eu,loc=Pu,compTu,loc

(6)

其中,Fu[cycles/s]表示设备u的本地计算能力,Pu,comp为本地计算功率。

2.2 服务器任务排队模型

根据先到先得原则,服务器需要首先处理早先到达的任务。用Δmt表示帧t中附加的计算时间:

(7)

则服务器m处理在帧t中接收到的任务所产生的时延表示为:

(8)

与文献[17]中的做法类似,将设备u的最大等待时间表示为:

(9)

于是,总卸载时延可以表示为:

(10)

综上,时延和能耗可以分别表示为:

(11)

(12)

其中,Ⅱ(x)是一个输入为真,输出为1,反之输出为0的指示函数。将设备u在t帧时的系统消耗定义为时延和能耗的加权和,表示如下:

(13)

其中,β1,β2∈[0,1],是2个值为正数的权值。系统消耗表征了该PIoT系统在时延与能耗方面的综合性能,即系统消耗越小,系统在能耗控制与低时延方面的性能越好。

3 优化问题

(14a)

(14b)

(14c)

(14d)

(14e)

(14f)

(14g)

此外为了解决这个难题,本文首先将原来的问题分解为2个子问题,即任务卸载决策和计算资源分配问题,并同时利用优化方法和强化学习方法对该问题进行求解。具体地,给定任务卸载决策At,则计算资源分配问题表示为:

(15a)

s.t.(14e)and(14f)

(15b)

接着,给定计算资源分配的决策Ft,则任务卸载问题可以表示成:

(16a)

s.t.(14b)-(14f)

(16b)

在接下来内容中,将分别给出式(15)和式(16)的求解方法,并最终对优化问题(14)进行求解。

4 任务卸载算法

在本章中,首先利用凸优化方法对计算资源分配问题进行求解。随后,采用深度Q学习算法进行任务卸载决策。

4.1 计算资源分配

(17)

(18)

(19)

结合限制条件(14e),可以得到如下关系:

(20)

(21)

4.2 基于深度Q学习的任务卸载决策

(22)

其中,φ∈[0,1]为当前卸载效用的权重,γ∈[0,1]用于控制设备的预期回报。通过采用探索概率为ε∈[0,1]的ε贪婪方法来避免Q学习停留在局部最优解上,并在探索操作和利用操作之间保持平衡。At与St的长期评估保存在Q表格中。

“跨区域”协调是四大区域战略最明显的特征,即打破区域行政壁垒,构建新时代区域协调发展的新机制。它有利于推动各地充分发挥比较优势,极大地提高区域经济发展的总体效率。

然而,当问题较为复杂导致状态数量较多时,Q表格将变得非常大。为了解决这个问题,提出一种基于深度Q学习的任务卸载算法。首先,用一个神经网络代替Q表格来处理服务器状态与任务卸载决策之间的复杂关系。同时,用Q(St,At;θ)表示主Q网络,其中θ为主神经网络的参数向量。神经网络的输入为服务器状态,输出为Q回报。另外,利用一个参数向量为θtar的目标网络来生成训练过程中每次动作产生的损失,且目标网络的结构与主深度Q网络是相同的。

(23)

(24)

通过经验回放存储先前深度Q学习过程中的卸载经验,并从中随机选取样本集用于训练,从而克服样本相关性带来的不利影响。每K步用标量ζ更新一次参数向量θtar,即:

θtar=ζθ+(1-ζ)θtar

(25)

结合先前提出的资源分配方法,在算法1中对所提出的深度Q学习方法进行了描述。

算法1 深度Q学习任务卸载算法流程

初始化:对经验回放存储器、参数向量θ以及θtar进行初始化

算法流程:

Step1:每轮训练的开始接收到初始状态Sl,队列中无任务;

Step2:生成随机值ρ∈[0,1]。若ρ≤ε,则随机选取At,否则,根据At=arg maxQ(St,At,θ)求得At;

Step3:根据得到的At,由式(21)估计计算资源分配结果;

Step4:执行动作At,得到即时回报Jt以及下一帧状态;

Step5:将卸载经验(St,At,Jt,St+1)保存在经验回放存储器;

Step6:从经验回放存储器中随机选取一组数据集,并利用梯度下降法最小化损失函数式(23),根据式(25)每K步更新一次目标网络;

Step7:对每一帧t=1,...,T,重复Step 2~Step 6。

5 实验结果与分析

在本章中,考虑一个多服务器的场景,其中服务器数量为M=7,并且2个相邻AP之间的距离设为1 km。路径损耗模型为L[db]=140.7+36.7log10dkm[4]。总带宽为B=20 MHz,子载波数量等于每小区的设备数。设备平均任务大小为420 Kb,设备发射功率为0.1 W。考虑一个格式转换应用,计算数据比为κ=8900 cycles/byte[21]。所考虑的强化学习模拟器主要基于tensorflow框架,并利用openAI的gym强化学习平台实现本文算法。本文的模拟器包含连续变量优化算法和强化学习算法,构建了状态、行为、奖励值函数,并用一个包含了100个隐神经元的单层全连接的深度神经网络分别构建强化学习中的主网络以及目标网络。

为了进行性能比较,本文选择了3个算法作为对照,在基准算法1[22]中,控制中心不考虑系统状态变化,只在每一帧中进行联合任务卸载与资源分配。而在基准算法2[23]中,设备尽可能地将任务卸载到边缘服务器进行处理,并根据信道增益贪婪地选择子载波,直到系统效用不再增加。在基准算法3中,设备随机选择进行本地计算或是进行任务卸载。然而,这3种基准算法都没有考虑服务器状态的转换。在本章中,通过比较不同算法下系统长期平均消耗(定义见公式(14a),对算法性能进行比较。

首先,在图2中,在AP数量给定下,将不同设备数量下所提出方法的系统长期平均消耗与基准算法进行了对比。总体来说,可以发现所提出的基于深度Q学习的方法相比于基准算法能够降低系统消耗。此外,由于频带资源的有限性,当设备数量较多时每个设备的上行传输时间显著增加,导致系统长期平均消耗增高。

图2 不同设备数量下各方法长期平均消耗比较

图3比较了不同的帧长下算法的性能。结果表明本文所提出的方法仍然具有比基准算法更好的性能。同时,长期平均消耗随着帧长τ的增加而提高。这是由于当被给以更大的τ时,服务器有更多的时间来处理其队列中的任务,这样可以显著减少等待时间和卸载延迟。

图3 不同帧长下各方法的长期平均消耗比较

为了进一步对所提出算法的性能进行研究,在图4中展示了带宽对系统性能的影响。结果表明,本文所提出的方法依然具有最好的性能。从图4中可以看出,系统长期平均消耗随着带宽的增大而降低,这是因为每个子载波的带宽是平均分配的,更大的带宽可以降低发上传延迟。综上所述,本文提出方法所达到的系统长期平均消耗总是低于基准算法。

图4 不同带宽下各方法的长期平均消耗比较

6 结束语

本文研究了具有多个边缘服务器的PIoT系统,并将每个边缘服务器上的任务处理过程建模成一个队列。建立了一个任务卸载问题,旨在最小化系统的长期平均消耗。随后,将原问题分解为资源分配问题以及任务卸载问题,并分别采用凸优化方法和深度Q学习方法进行求解。仿真结果表明,本文提出的方法能够降低系统长期消耗。此外,本文提出的方法能够通过简单地部署运行在PIoT系统的控制中心来实现,因而具备一定的便捷性和实用性。

猜你喜欢
资源分配时延消耗
玉钢烧结降低固体燃料消耗实践
转炉炼钢降低钢铁料消耗的生产实践
降低钢铁料消耗的生产实践
新研究揭示新冠疫情对资源分配的影响 精读
我们消耗很多能源
基于GCC-nearest时延估计的室内声源定位
基于改进二次相关算法的TDOA时延估计
QoS驱动的电力通信网效用最大化资源分配机制①
基于动态规划理论的特种设备检验资源分配研究
基于动态规划理论的特种设备检验资源分配研究