东北大学 计算机科学与工程学院,辽宁 沈阳 110169
收稿日期:2022-04-26
基金项目:国家重点研发计划项目(2021YFB3401004)。
作者简介:尉健一(1998-),男,辽宁抚顺人,东北大学硕士研究生;
吴菁晶(1981-),女,辽宁沈阳人,东北大学副教授,博士生导师。
摘要:针对工业物联网中终端设备计算资源和无线资源难以满足服务质量要求和产生较高能耗的问题,提出一种基于深度学习的分布式资源分配算法(distributed deep learning-based resource allocation,DDLRA).首先,构建工业物联网设备联合卸载决策和资源分配的优化问题,然后,利用多个并行的深度神经网络(deep neural network,DNN)对卸载决策和无线资源分配进行求解.最后,仿真结果表明,所提出的DDLRA算法相较于对比算法能够提高任务计算的速度,降低终端设备的能耗.
关键词:工业物联网资源分配深度学习移动边缘计算能耗
Resource Allocation Algorithm in Industrial Internet of Things Based on Edge Computing
WEI Jian-yi, WU Jing-jing
School of Computer Science & Engineering, Northeastern University, Shenyang 110169, China
Corresponding author: WU Jing-jing, E-mail: wujingjing@cse.neu.edu.cn.
Abstract: In order to solve the problems that computing resources and wireless resources of terminal devices in the industrial Internet of things are difficult to meet the quality of service requirements and generate high energy consumption, a distributed deep learning-based resource allocation (DDLRA) algorithm is proposed. Firstly, the optimization problem of joint offloading decision and resource allocation of industrial Internet of things equipment is constructed. Then, the multiple parallel deep neural networks (DNNs) are used to solve the offloading decision and wireless resource allocation. Finally, simulation results show that the proposed DDLRA algorithm can improve task calculation speed and reduce energy consumption of terminal devices compared to the comparative algorithm.
Key words: industrial Internet of thingsresource allocationdeep learningmobile edge computingenergy consumption
随着智能移动设备的普及和5G网络技术的快速发展,物联网技术的应用场景越来越广泛[1].工业领域是物联网应用的受益者之一, 工业物联网(industrial Internet of things,IIoT)定义为工业生产与物联网的结合,在IIoT中,互联网可以从工业生产中的传感器、执行器和其他设备中收集环境数据,并且可以访问和控制这些设备.IIoT与一般的物联网类似,开放性、稳定性、灵活性是基本的通信要求.然而,IIoT对服务质量(quality of service,QoS)、可用性、可靠性和安全性要求更高[2].在工业生产中,IIoT设备会一直产生很多不同类型的任务,导致数据流量急剧增长[3],这些任务中的数据需要得到及时、可靠和高效地处理.但是,IIoT设备的资源是极其有限的[4].移动边缘计算(mobile edge computing,MEC)是解决这个问题的有效方法.在MEC中,通过将任务发送到边缘服务器上进行高效执行来减少IIoT设备资源的消耗[5].
MEC是一个新兴的网络架构,它使用移动接入点将云计算资源扩展到靠近设备的无线接入网络[6]. 作为5G的重要组成部分,MEC旨在提高设备的潜在计算能力,为IIoT设备产生的计算密集型任务提供低延迟的计算服务.对比传统的集中式云计算,MEC在延迟、可扩展性和可靠性方面有更好的表现[7].IIoT与MEC的结合将大大降低延迟,提高带宽利用率,从而提升整体网络性能.Zhao等[8]针对MEC系统中能量收集设备任务计算的能耗最小化问题,提出了一种基于李雅普诺夫优化理论的在线动态卸载和资源调度算法.通过仿真证明该算法可以有效平衡调度成本与MEC系统性能之间的关系.Li等[9]构建了一种三层计算卸载模型,并且通过基于DQN的卸载算法来实现最优卸载策略的制定.Yang等[10]提出了一种基于MEC的IIoT分层机器学习任务分配框架,该框架在同时考虑机器学习模型的复杂性、数据的传输质量和MEC服务器计算资源以及无线带宽的情况下,最小化任务延迟.Jararweh等[11]提出了一种基于多智能体深度确定性策略梯度的任务卸载算法,其中每个任务拆分为多个子任务进行并行计算.该方案能够有效降低平均执行延迟和平均能耗.然而,将任务发送到边缘服务器会产生额外的传输延迟和能源消耗[12].IIoT设备对于发送任务产生的要接入无线网络的信息非常少,这些信息包括边缘服务器的可用计算资源和接入网络的带宽资源[13].现有的针对IIoT中资源分配算法研究大多是基于深度Q网络的,当任务数量急剧增加时,其表搜索的性质不适合处理高维度空间的问题.
本文采用深度学习的方法,提出了一种高效的工业物联网资源分配框架.将IIoT的系统能效建模为所有IIoT设备的能耗和任务完成延迟的加权和.为了最优化系统能效,提出了IIoT的联合任务卸载和资源分配问题,该问题联合优化了IIoT设备的每个任务的卸载决策和每个IIoT设备的需求带宽和计算资源.然后针对这个问题提出了一种基于深度学习的分布式IIoT资源分配算法,该算法由卸载决策生成和决策更新两部分组成.该算法使用多个并行的深度神经网络(deep neural network,DNN)来高效地产生卸载决策.这些产生的卸载决策被存储在内存中,用于进一步训练和改进DNN.最后,实验数值结果表明,在一般的参数设置下,所提出的算法相较于传统的DQN算法具有更好的性能.
1 系统模型图 1描绘了支持边缘计算的IIoT架构,其中系统的边缘计算层配置基站(BS)和边缘服务器.每个BS管理的基础设施层包括n个IIoT设备,表示为n={1, 2, …, |N|}.本文采用的时隙模型将系统时间划分为t个长度相等的连续时间段,表示为t={1, 2, …, |T|},其中每个时隙t的持续时间为τ.在每个时隙t的开始,IIoT设备会生成计算任务,表示为Qn(t)=(An(t), Zn(t)),其中An(t)表示第n个IIoT设备的任务数据的大小,Zn(t)表示任务计算所需的CPU周期数.任务的生成遵循独立同分布.假设信道在下行链路和上行链路中是对等的,因此信道状态在每个时隙内保持不变,但在不同的时隙内可能会有变化.用一个二进制变量表示卸载策略,任务可以选择在本地设备计算,也可以发送到边缘服务器进行计算.当xn(t)=1时表示第n个IIoT设备的计算任务采用边缘服务器进行计算,xn(t)=0表示该任务在本地计算.
图 1(Fig. 1)
图 1 基于MEC的IIoT系统模型Fig.1 System model in IIoT based on MEC |
1.1 通信模型假设IIoT设备采用正交频分多址方式进行任务的发送,不同的IIoT设备占用不同的信道进行传输.利用香农公式计算出从IIoT设备到BS的最大上行速率为
(1) |
传输时延定义为第n个IIoT设备中的任务发送到边缘服务器花费的时间.传输时延可表示为
(2) |
(3) |
对于边缘计算,IIoT设备中的任务需要发送到边缘服务器进行计算.因此,任务的计算时延为
(4) |
在IIoT中,计算结果的数据量通常小于计算任务的数据量.为简单起见,本文忽略计算结果的下行传输延迟和能量消耗.因此,对于本地计算,计算任务的总时延为计算时延.对于边缘计算,总时延是传输时延和计算时延的总和,即
(5) |
(6) |
对于边缘计算,能耗由传输能耗和边缘服务器计算能耗组成,表示为
(7) |
1.4 问题描述在所有系统参数中,假设只有无线信道增益hn(t)在不同时隙之间变化,而其他参数是固定参数.
为了最小化完成所有设备任务的总延迟和相应的能耗,首先引入了一个能效函数U(x, B, f),定义为能耗和任务完成时延的加权和,即
(8) |
(9) |
因为P1为混合整数非线性规划(mixed-integer nonlinear programming,MINLP)问题,无法直接求解.为了解决此类复杂性问题,本文提出了一种新的基于深度学习的分布式资源分配算法.
2 DDLRA算法本文提出一个适用于边缘计算IIoT的基于深度学习的分布式资源分配算法(distributed deep learning-based resource allocation,DDLRA).该算法使用k个并行的DNN来生成二进制卸载决策,表示为k={1, 2, …, |K|}.
算法的目标是设计一个卸载策略函数π,在每个时隙的开始,一旦获得信道增益信息hn(t),它将快速生成P1的最佳卸载行动xn*(t)∈{0, 1}.该策略表示为
(10) |
DDLRA算法的结构如图 2所示.该算法主要由两个阶段构成:卸载策略生成和策略更新.其中DNN的特点是嵌入参数θk,即连接隐藏神经元的权重.其中θk表示第k个DNN的参数.在第t个时隙,信道增益hn(t)输入到DNN中,对于每个输入,分布式DNN分别高效地生成K个候选卸载行为xn, k(t), 从中选择系统能效最低的卸载行为作为输出,即xn*(t).其相应的{xn*(t), Bn*(t), fn*(t)}被输出作为输入hn(t)的解决方案,这保证了C1,C2,C3,C4,C5中列出的所有约束得到满足.最后采取卸载行为xn*(t),并将状态行为对(hn(t), xn*(t), Bn*(t), fn*(t))存储在内存中以训练这K个分布式DNN.
图 2(Fig. 2)
图 2 基于深度学习的分布式资源分配算法体系结构Fig.2 Architecture of distributed deep learning-based resource allocation algorithm |
在策略更新阶段,从内存中提取一部分训练样本训练DNN,并且更新网络参数θk.在下一个时隙,根据新的信道信息hn(t+1),利用新的卸载策略πθk生成卸载决策xn*(t).通过训练,DNN的策略πθk会逐渐变优.
2.1 决策生成假设在第t个时隙获得信道增益hn(t).DNN参数θk初始值生成遵循零均值正态分布.对于每个输入,使用K个DNN来生成K个二进制卸载行为xn, k(t),每个DNN可以由参数化函数gθk表示为
(11) |
(12) |
凸问题P2的最佳资源分配{Bn*(t), fn*(t)}需要解决,比如使用一维二分搜索与资源分配约束相关的对偶变量,复杂度为O(N).Bi等[14]对如何有效地解决带宽分配问题进行了研究.本文利用一个Python语言的经典优化工具Scipy对P2这个凸问题求解.
在解决了K个带宽分配问题(P2)之后,根据式(13)从所有K个候选行为中选择具有最少U*(hn(t), xn, k(t))的卸载行为.
(13) |
2.2 决策更新通过在式(13)中得到的资源分配方案来更新DNN的资源分配策略.本文采用一个容量有限的内存.在第t个时隙,一个新的训练数据样本(hn(t), xn*(t))被添加到内存中.
本文采用经验重放技术,也就是使用内存中存储的数据样本对DNN进行训练[15].在第t个时隙,从内存中随机选择一批训练数据样本{(hn(λ), xn*(λ))|λ∈ψt},其中ψt代表存储样本的内存,λ代表从内存中随机选取的时间指数.这些选择的数据样本用来训练所有的K个DNN.本文使用Adam算法更新DNN的参数θk,Adam算法能够更好地减少平均交叉熵损失,更新参数的公式为
(14) |
总的来说,DNN从最佳状态行为(hn(t), xn*(t))中迭代学习,因为内存空间是有限的,DNN学习的数据样本是非常新的,训练效果会更加稳定,有利于DNN进行更新.通过这种机制一直对策略更新,最终达到收敛状态.算法1是DDLRA算法的伪代码.
算法1??DDLRA算法
输入:时隙t时的无线信道增益hn(t).
过程:
1:初始化K个DNN参数θk;
2:清空内存,设置训练周期δ;
3:for t=1, 2, …, T do
4: DNN生成K个卸载行为xn, k(t)=gθk(hn(t));
5:并行求解K个资源分配问题P2;
6:选出最优决策xn*(t)=arg min U*(hn(t), xn, k(t));
7:状态行为对(hn(t), xn*(t))存储到内存中;
8: if t mod δ=0
9:??从内存中随机选择一批训练数据样本{(hn(λ), xn*(λ))|λ∈ψt}
10:??使用选择的数据样本对DNN进行训练,利用Adam算法更新参数θk
11:?end if
12: 求解P2得出最优资源分配方案{Bn*(t), fn*(t)}
13: end for
输出:最优卸载行为xn*(t)以及相应资源分配{Bn*(t), fn*(t)}.
3 仿真和分析本文进行一系列的仿真来评估DDLRA方案的性能,同时对DQN经典算法也进行性能仿真以便与本文算法进行性能比较.
在所有的仿真实验中,设置IIoT设备的数量N=10.此外,还设置IIoT设备本地进行计算的时间为4.75×10-7 s/bit,计算能耗为3.25×10-7 J/bit.本文假设IIoT设备中所有任务的计算数据大小随机分布在10~30 MB之内.在所有的实验中,将上行链路带宽设置为200 Mb/s.IIoT设备的接收能耗和发送能耗均为1.45×10-7 J/bit.边缘服务器CPU频率设置为10×109 Hz,参数设置L=2×10-7 J/bit,V=1 J/s. 为了更好地进行对比,采用增益率作为训练指标,增益率定义为当前能效与最优能效的比值.通过列举所有2N个二进制卸载决策来得最优能效.在本文中训练次数对应一批次训练.
在图 3中,分析了DNN数量对本文的DDLRA算法收敛的影响.由于系统能效在不同的输入下不同.随着训练次数的增加,DDLRA算法收敛到1.当使用5个DNN时,在1 000个学习步骤内获得了0.98的增益比.然而,当只使用一个DNN时,DDLRA无法从其自身生成的数据中获取任何信息,并且无法收敛.因此,DDLRA至少需要2个DNN,使用的DNN越多,DDLRA收敛越快.
图 3(Fig. 3)
图 3 DNN数量对于算法收敛性能的影响Fig.3 Convergence performance under different number of DNNs |
在图 4中,针对学习速率这个参数对于DDLRA算法的收敛性能的影响进行分析.学习速率越高,DDLRA的收敛速度越快.然而,当学习速率增加时,获得局部最优解而不是全局最优解的可能性更大.因此,需要根据具体情况选择合适的学习速率.在接下来的实验中,将学习速率设置为0.01.
图 4(Fig. 4)
图 4 学习速率对于算法收敛性能的影响Fig.4 Convergence performance under different number of learning rates |
图 5显示了不同算法在不同的任务数据大小情况下总能效的变化.任务数据大小从10 MB到30 MB不等,增量为5 MB.仅本地计算方案意味着所有设备的任务都在本地计算.仅边缘计算方案意味着边缘服务器计算所有设备的任务.在图 5中,随着任务数据大小的增加,每个任务的计算延迟也会增加,导致所有任务的计算时延和能耗增加,计算任务的总能耗就越大.此外,与基于DQN的算法、仅本地计算方案和仅边缘计算方案相比,DDLRA实现了更低的总能耗.
图 5(Fig. 5)
图 5 任务数据大小对总能耗的影响Fig.5 Impact of task data size on total cost |
在图 6中,本文分析了不同的边缘服务器计算能力对总能效的影响.由于本地计算不涉及边缘服务器,所以没有考虑本地计算.随着计算能力的增加,计算任务的总能效也会变低.原因可以解释为更强的计算能力意味着服务器分配给任务的计算资源更多,使得任务的计算延迟和能耗变得更小,因此总能效变低.此外,DDLRA实现了比DQN、本地计算和边缘计算更低的总能效.
图 6(Fig. 6)
图 6 边缘服务器计算能力对总能耗的影响Fig.6 Impact of computing capacity in the MEC server on total cost |
将所提出的DDLRA方法与其他4种方案,即仅本地计算方案、仅边缘计算方案和基于DQN的算法进行了性能比较.图 7和图 8分别为不同L和V下的性能.由图可知,当L或V增加时,所有方案的总能效增加.当L变大时,时延占能效的比重增加,因此会导致DDLRA算法与其他算法的能效差距减少.当V变大时,边缘服务器计算能耗占能耗的比重增加,因此会导致DDLRA算法的能耗与其他算法的能耗的差距减少,总能效接近.DDLRA方法的性能优于仅本地计算方案、仅边缘计算方案和基于DQN的算法.
图 7(Fig. 7)
图 7 不同资源分配算法在不同V下的能耗Fig.7 Energy cost under different V for different resource allocation algorithms |
图 8(Fig. 8)
图 8 不同资源分配算法在不同L下的能耗Fig.8 Energy cost under different L for different resource allocation algorithms |
4 结语本文提出了一种应用于边缘计算IIoT的基于深度学习的分布式资源分配算法(DDLRA),目的是在最小化包括总能耗和完成任务时延在内的总体系统能耗.DDLRA算法利用了多个DNN的优点,无需人工标注数据即可生成接近最优解.数值结果验证了该算法的准确性以及与现有的DQN算法相比具有的性能优势.期望这种基于深度学习的分布式框架可以在未来的IIoT中实施以优化资源分配.
参考文献
[1] | Zhang N, Fang X, Wang Y, et al. Physical-layer authentication for Internet of things via WFRFT-based gaussian tag embedding[J]. IEEE Internet of Things Journal, 2020, 7(9): 9001-9010. DOI:10.1109/JIOT.2020.3001597 |
[2] | Sisinni E, Saifullah A, Han S, et al. Industrial Internet of things: challenges, opportunities, and directions[J]. IEEE Transactions on Industrial Informatics, 2018, 14(11): 4724-4734. DOI:10.1109/TII.2018.2852491 |
[3] | Aazam M, Zeadally S, Harras K A. Deploying fog computing in industrial Internet of things and industry 4.0[J]. IEEE Transactions on Industrial Informatics, 2018, 14(10): 4674-4682. DOI:10.1109/TII.2018.2855198 |
[4] | Zhang N, Wu R, Yuan S, et al. RAV: relay aided vectorized secure transmission in physical layer security for Internet of things under active attacks[J]. IEEE Internet of Things Journal, 2019, 6(5): 8496-8506. DOI:10.1109/JIOT.2019.2919743 |
[5] | Wu Y, Ni K, Zhang C, et al. Noma-assisted multi-access mobile edge computing: a joint optimization of computation offloading and time allocation[J]. IEEE Transactions on Vehicular Technology, 2018, 67(12): 12244-12258. DOI:10.1109/TVT.2018.2875337 |
[6] | Kuang Z, Li L, Gao J, et al. Partial offloading scheduling and power allocation for mobile edge computing systems[J]. IEEE Internet of Things Journal, 2019, 6(4): 6774-6785. DOI:10.1109/JIOT.2019.2911455 |
[7] | 耿蓉, 王宏艳, 刘畅, 等. 面向天地一体化网络的计算卸载算法[J]. 东北大学学报(自然科学版), 2022, 43(3): 376-382, 413. (Geng Rong, Wang Hong-yan, Liu Chang, et al. Computational offloading algorithm oriented to the space-earth integration network[J]. Journal of Northeastern University(Natural Science), 2022, 43(3): 376-382, 413.) |
[8] | Zhao F, Chen Y, Zhang Y, et al. Dynamic offloading and resource scheduling for mobile edge computing with energy harvesting devices[J]. IEEE Transactions on Network and Service Management, 2021, 18(2): 2154-2165. DOI:10.1109/TNSM.2021.3069993 |
[9] | Li M, Cheng N, Gao J, et al. Energy-efficient uav-assisted mobile edge computing: resource allocation and trajectory optimization[J]. IEEE Transactions on Vehicular Technology, 2020, 69(3): 3424-3438. DOI:10.1109/TVT.2020.2968343 |
[10] | Yang B, Cao X, Li X, et al. Mobile-edge-computing-based hierarchical machine learning tasks distribution for iiot[J]. IEEE Internet of Things Journal, 2019, 7(3): 2169-2180. |
[11] | Cheng Z, Min M, Liwang M, et al. Multi-agent ddpg-based joint task partitioning and power control in fog computing networks[J]. IEEE Internet of Things Journal, 2021, 9(1): 104-116. |
[12] | Jararweh Y, Doulat A, Darabseh A, et al. SDMEC: software defined system for mobile edge computing[C]// 2016 IEEE International Conference on Cloud Engineering Workshop(IC2EW). Berlin: IEEE, 2016: 88-93. |
[13] | Chen M, Hao Y. Task offloading for mobile edge computing in software defined ultra-dense network[J]. IEEE Journal on Selected Areas in Communications, 2018, 36(3): 587-597. DOI:10.1109/JSAC.2018.2815360 |
[14] | Bi S, Zhang Y. Computation rate maximization for wireless powered mobile-edge computing with binary computation offloading[J]. IEEE Transactions on Wireless Communications, 2018, 17(6): 4177-4190. DOI:10.1109/TWC.2018.2821664 |
[15] | Zhang H, Liu H, Cheng J, et al. Downlink energy efficiency of power allocation and wireless backhaul bandwidth allocation in heterogeneous small cell networks[J]. IEEE Transactions on Communications, 2018, 66(4): 1705-1716. DOI:10.1109/TCOMM.2017.2763623 |