APP下载

基于深度学习的能量高效雾计算迁移研究

2020-05-29郑忆敏陈思光

关键词:终端用户能耗服务器

汤 蓓,郑忆敏,陈思光,2,吴 蒙

(1.南京邮电大学 江苏省宽带无线通信和物联网重点实验室,江苏 南京 210003 2.南京邮电大学 江苏省通信与网络技术工程研究中心,江苏 南京 210003)

随着大数据时代的到来,人们对计算资源和存储资源的需求不断上升,传统的移动用户终端设备已不能满足人们的需求。对此,云计算提供的按需付费的模式使得用户能够以低廉的价格获取所需的计算和存储资源[1]。用户可以选择将所产生的计算任务传输至远端云服务器进行处理,从而获得高性能的计算能力。然而,长距离的传输往往会造成极大的通信开销和通信延迟。因此,CISCO提出了雾计算模式[2],在云服务器与终端用户之间设立雾层,并在雾层部署具有计算和存储能力的设备。与云计算模式相比,雾计算模式中的雾节点距离终端用户更近,拥有更低的网络延迟。并且,可以对传输信息进行过滤,只将必要的传输信息上传至云服务器,在缓解云服务器负载压力的同时,降低了终端用户的等待时延。

虽然雾计算极大地改善了用户的体验,但随着增强现实技术[3]、虚拟现实[4]、网络对战游戏[5]、高清视频播放[6]等资源密集型任务的兴起,用户对计算和存储资源的要求进一步提高。然而,毕竟单个雾节点的计算和存储资源有限,为此,Chen等[7]引入了计算迁移技术。计算迁移技术针对雾节点和移动设备资源不足的缺陷,充分考虑了如何分配资源和将计算任务迁移至何处的问题,从而缓解雾节点和移动设备的负载压力,提高用户体验质量。

目前,主流的雾计算迁移研究方案大致可分为三类。第一类研究方案仅考虑了最小化完成时间。例如,Al-khafajiy等[8]提出了一种Fog-2-Fog的协同模型,并建立了一个请求队列,基于服务器负载请求决定任务处理地点,有效地降低了服务器负载压力和任务完成时间。Ren等[9]提出了一种联合通信和计算资源分配优化算法,用以降低端对端时延和任务完成时间。Liu等[10]构建了功率约束的完成时间最小迁移模型,并利用一维搜索算法求出了完成时间的最小值。

第二类研究方案仅考虑了最小化能源消耗。例如,Chang等[11]基于最优迁移概率,分别对移动设备和雾节点执行过程中的能耗进行了优化。Meng等[12]研究了一种联合云服务器和雾服务器的迁移方案,在单一服务器模式的基础上,对通信资源调度进行分析,从而进一步地降低能量消耗。Du等[13]对计算资源、传输功率和信道带宽等进行了联合优化,降低了多用户的能量消耗。

第三类研究方案既考虑了最小化完成时间,又考虑了最小化能源消耗。例如,Zhu等[14]采用了一种由远程云节点和本地云节点构成的雾计算迁移模型,并对迁移策略进行分配:当移动用户设备计算能力不足时,可将计算任务迁移至本地云节点;当本地云节点计算能力不足或处理时间过长时,可将其迁移至远程云节点,从而有效地降低完成时间和能量消耗。Liu等[15]在移动设备、雾节点和云中心分别建立了一个队列,并将多目标优化问题转化为单目标优化问题,对变换后的优化问题进行寻址,在迭代过程中降低误差、提高计算精度,从而降低能量消耗和完成时间。Tran等[16]提出了一种非线性混合整数问题,联合优化了任务迁移决策和上行链路传输能耗等,充分降低了完成时间和能量消耗。

然而,上述主流雾计算迁移研究方案并不太适用于复杂动态变化的网络场景。为此,本文提出了一种基于深度学习的能量高效雾计算迁移方案,该方案的主要特点是在复杂的物联网场景下,实现了计算迁移方案的自适应性,并最大程度地降低了任务完成时间和终端用户能耗。总的来说,该方案的主要贡献包含以下三点:

(1)构建了任务完成时间最小化雾计算迁移优化问题,提出了一个基于深度学习的雾计算迁移决策算法(Deep Learning-based Fog Computing Offloading Decision,DL-FCOD)用于解决上述优化问题。

(2)为进一步优化雾计算迁移能耗,构建了终端用户能耗最小的优化问题,并在完成时间最小迁移决策的基础上,提出了一个最优传输功率分配求解算法(Optimal Transmission Power Allocation,OTPA)用于解决上述优化问题。

(3)本文所提DL-FCOD算法和OTPA算法具有较快的收敛速度,并且能够自适应地做出任务完成时间最小的雾计算迁移决策,并在此基础上有效降低了终端用户能耗。

1 系统模型

如图1所示,假设一个雾计算网络由N个终端用户和一个雾服务器组成。当终端用户产生实时计算请求时,深度神经网络会对其进行感知,并结合实际资源情况生成相关迁移决策。当迁移决策为1时,表示用户计算任务在本地设备处理即可;当迁移决策为0时,表示用户任务需迁移至雾服务器进行处理,待雾服务器处理结束时,将计算结果回传至终端用户设备。

根据图1的计算迁移系统模型,可以将用户表示为n=1,2,…,N。此时,第n个用户的任务有两种选择:本地处理或雾服务器处理。

(1)若选择在本地设备处理计算任务,则其对应的完成时间为

其中,αn表示用户n的迁移决策,Dn表示用户n的实时任务数据大小,Clocal表示本地用户设备的计算能力。

(2)若选择将计算任务迁移至雾服务器进行处理,则其对应的完成时间为计算时间和传输时延之和

其中,Cserver表示雾服务器的计算能力,Bn表示用户n对应的任务传输速率。

出于对不同用户任务并行化处理的考量,N个用户的任务完成总时间可表示成如下形式

2 基于深度学习的能量高效雾计算迁移

本部分建立了物联网场景下的雾计算迁移决策与能耗优化模型,旨在保证用户任务完成时间最小的基础上,最大程度地降低终端用户能耗。为此,提出了DL-FCOD算法用以自适应地做出完成时间最小的迁移决策;并基于所求最优迁移决策,提出了OTPA算法来降低终端用户能耗。

2.1 基于深度学习的雾计算迁移时间优化

2.1.1 问题构建

基于第1节的定义,可以得出N个用户的完成时间T,为更好地满足用户实时性需求,本节建立了如下完成时间最小化雾计算迁移优化问题

约束条件(5)表示用户n的实时计算任务的迁移决策,αn=1表示任务在本地进行处理,αn=0表示任务在雾服务器处理;约束条件(6)表示任意一个在本地执行的计算任务的完成时间应小于等于所有计算任务的完成时间;约束条件(7)表示任意一个迁移出去的计算任务的完成时间应小于等于所有计算任务的完成时间。

2.1.2 问题求解

根据上述优化问题,可以发现:当αn的取值集合有所差异时,用户n的任务完成时间也就有所不同,也就意味着所有用户的最终完成时间T会有所差异。为求取完成时间最小迁移决策集合,本节提出了DL-FCOD算法来解决上述优化问题,其具体求解过程如图2所示。

由图2可知,该DL-FCOD算法主要包含三个部分。

第一部分,训练样本数据的生成。因为深度神经网络训练样本是通过贪心算法求取的,所以在生成训练样本的过程中,如果数据维度过高会带来难以承受的计算开销。因此,本部分只收集了小规模的用户原始数据,具体包含数据大小和传输速率,然后利用贪心算法求取最优迁移决策集合,具体过程如下:

(1)输入用户原始数据大小d=[d1,d2,…,dN]和传输速率b=[b1,b2,…,bN];

(2)将该优化问题划分为N个子问题,单独求取各个用户的任务迁移决策;

(3)分别计算出每个子问题下的完成时间。如果在本地设备处理计算任务的完成时间小于在服务器处理计算任务的完成时间,那么该子问题下的完成时间为T[i]=d[i]/C1,迁移决策为1;反之,如果在本地处理计算任务的完成时间大于在服务器处理计算任务的完成时间,那么该子问题下的完成时间为T[i]=d[i]/C2+d[i]/b[i],迁移决策为0。最后,输出当前子问题的最优决策值。其中,C1和C2分别为本地设备和雾服务器的计算能力;

(4)当该循环执行2i次时,也就意味着前i个子问题已经求解完毕。此时,应返回至步骤(3),从而求取下一个用户的任务完成时间,即求取第i+1个子问题,其中i<N;

(5)当该循环执行2N次时,也就意味着N个子问题均已解决,即N个用户的最优迁移决策均已生成;

(6)输出用户原始数据的最优迁移决策集合a=[a1,a2,…,aN],具体元素为各子问题的最优迁移决策。

第二部分,深度神经网络训练,具体过程如下:(1)将深度神经网络的训练集表示为[d b a];(2)构建深度神经网络。本文构建了层数为5的全连接神经网络,其中输入层、隐藏层1、隐藏层2、隐藏层3和输出层的神经元个数分别为2,100,100,100和2。并且fu,v(d,b)=a,u为权重参数,v为偏倚值。

(3)为各层选择合适的激活函数和损失函数。首先,在输入层和隐藏层使用tanh激活函数,实现数据中心化,扩大数据特征效果,从而得到更好的训练输出结果;接着,考虑到本文的优化问题可表征为迁移决策的0-1问题,选择交叉熵损失函数,具体如下其中,y=a,y′=fu,v(d,b)。最后,由于本节优化问题的求解目标为完成时间最小化,可转变为求取交叉熵损失函数的最小值。因此,选用随机梯度下降法,不断地降低实际损失值,从而获取参数和的最优值。

(4)感知用户实时数据大小D=[D1,D2,…,DN]和传输速率B=[B1,B2,…,BN],并将深度神经网络的测试集表示为[D B]。对所构建的深度神经网络进行训练,求取其对应的自适应最优迁移决策α*n=fu,v(Dn,Bn)。其中,n∈{1,2,…,N}。

第三部分,用户实时数据的处理。基于第二部分步骤(4)所得的自适应最优迁移决策,对用户实时数据进行处理。当迁移决策为1时,任务实行本地化处理。反之,将任务迁移至雾服务器进行处理。待数据处理完毕,将最终处理结果反馈给用户设备。

2.2 基于深度学习的雾计算迁移能耗优化

2.2.1 问题构建

虽然2.1节所提算法能够自适应地做出完成时间最小化迁移决策,但其并没有考虑能耗因素,使得用户能耗效果不理想。为平衡用户体验及系统能耗,本节在2.1节所得完成时间最小化迁移决策的基础上,构建了终端用户能耗最小的优化问题,并提出了OTPA算法以求解能耗最小值。

(1)若任务在本地进行处理,则其对应的完成时间和能量消耗如下

(2)若任务迁移至雾服务器进行处理,基于对用户传输能耗的考量,对2.1节中传输时延的定义进行了更新,具体如下

此时,迁移过程中的传输能耗可以表示为

根据上述描述,可以计算出N个终端用户的总能耗。其值为最优迁移决策下各个用户对应的能耗之和,具体如下所示

为确保总能耗E最小,本节构建了如下所示的优化问题

其中,Pmin和Pmax分别为信道传输功率的最小值和最大值。

2.2.2 问题求解

由于本地设备功率Plocaln为固定值,因此本地能耗也为固定值,可将式(14)中的优化问题转化为

现将P2问题求解过程表示如下:在求取每个任务最小传输能耗的基础上,对其进行求和,从而得到最小总能耗。然而,变化后的目标函数并不是凸函数,很难进行最优化求解。为此,本节将其转化为减式形式的优化问题,并引入了最大化加权能效u*的概念,具体如下

P*为最优传输功率。可以发现:为求取最大化加权能效即保证终端用户能耗最小,需对传输功率进行动态分配,并求取最优传输功率P*。为此,本节综合一维搜索算法的理念,提出了最优传输功率分配求解算法,具体如下。

算法1 最优传输功率分配求解算法

3 仿真与性能评估

本节将从收敛速度、任务完成时间和终端用户能量消耗等方面来验证所提方案的优越性。首先,对DL-FCOD算法和OTPA算法的收敛性能进行了评估与分析;接着,将DL-FCOD算法与本地计算(Local Computing,LC)、完全迁移计算(Full Offloading Computing,FOC)和贪心算法(Greedy algorithm)进行了对比研究,验证了完成时间最小化迁移决策的最优性;最后,基于所得最优迁移决策,验证了OTPA算法在终端用户能耗方面的改进。

在本次仿真中,将用户数量N设为5,终端设备计算能力设为4 Mbit/s,雾服务器计算能力设为10 Mbit/s,信道衰弱系数设为1,信道传输功率N0设为10-6W,本地设备的功率大小设为4×10-5W。

图3表示DL-FCOD算法中损失值的收敛性能。其中,虚线代表学习率为0.1时损失值的收敛性能,实线代表学习率为0.2时损失值的收敛性能。可以发现,在不同学习率的情况下,损失值的收敛性能都很好,亦即本文所提DL-FCOD算法具有较快的收敛特性。

图4表示用户不同任务大小下能耗的收敛性能。

可以发现,终端用户能耗大小随着计算任务的增大而变大,当迭代次数达到100时,终端用户能耗能够大致实现收敛,即OTPA求解算法具有较快的收敛特性。

图5为不同算法下数据大小和任务完成时间之间的关系。由于所提DL-FCOD算法采集了小规模高精度的用户原始数据,并选取了能够扩大数据特征效果的tanh激活函数,使得最终任务完成时间与贪心算法下的任务完成时间完全重合,实现了用户任务完成时间最小的优化目标,确保了迁移决策的最优性。

图6表示DL-FCOD算法和OTPA算法下的终端用户能耗对比情况。由于OTPA算法对传输功率进行了动态分配并实现了加权能效最大化,使得终端用户能够在完成时间最小迁移决策的基础上,最大程度地降低能量消耗。

4 结束语

本文提出了一种基于深度学习的能量高效雾计算迁移机制。首先提出了DL-FCOD算法,实现了任务完成时间最小化的目标,更好地满足了用户对实时性的需求。接着,基于DL-FCOD算法所得的最优迁移决策,构建了能耗最小化目标,并提出了OTPA算法用于求解该能耗最小化问题。最后,将两种算法下的能耗进行了对比,仿真结果表明OTPA算法具有更低的能量消耗。下一步将研究更加复杂的网络场景,并与实际的任务压缩操作[17-19]结合起来,同时通过研究加速算法[20]进一步提升优化求解算法的收敛效果。

猜你喜欢

终端用户能耗服务器
120t转炉降低工序能耗生产实践
能耗双控下,涨价潮再度来袭!
探讨如何设计零能耗住宅
终端用户视角下的“一物一码”
日本先进的“零能耗住宅”
2018年全球服务器市场将保持温和增长
蜂窝网络终端直通通信功率控制研究
组播环境下IPTV快速频道切换方法
用独立服务器的站长注意了
定位中高端 惠普8路服务器重装上阵