浙江大学学报(工学版), 2020, 54(6): 1126-1137 doi: 10.3785/j.issn.1008-973X.2020.06.009

计算机技术

智慧医疗场景下考虑终端移动性的任务卸载策略

齐平,, 束红

Task offloading strategy considering terminal mobility in medical wisdom scenario

QI Ping,, SHU Hong

收稿日期: 2019-12-9  

Received: 2019-12-9  

作者简介 About authors

齐平(1981—),男,副教授,博士,从事可信计算、移动边缘计算研究.orcid.org/0000-0001-7305-7911.E-mail:qiping929@gmail.com , E-mail:qiping929@gmail.com

摘要

针对工作流任务、边缘服务器无线信号覆盖范围、智慧医疗场景以及终端移动路径,分别构建模型进行描述,根据移动终端的实时位置和移动速率构建基于移动路径的工作流任务执行时间及能耗模型. 根据边缘服务器的无线通信模型,引入任务执行延迟和任务迁移2种情况以保障服务的连续性和执行时间限制. 从全局角度综合考虑任务在云端、边缘服务器和本地的执行效益,设计工作流任务优先级划分算法和边缘服务器卸载优化算法,并使用遗传算法设计基于最佳移动路径的工作流任务卸载决策及调度算法,在可选路径中搜索满足用户响应时间约束,且移动端能耗最低的最佳路径和相应的任务卸载、调度方案. 仿真结果说明:该算法能够合理地分配计算资源,在用户响应时间约束下充分降低移动终端能耗,相较未考虑终端移动性的卸载算法,移动端能耗降低了19.8%.

关键词: 移动边缘计算 ; 智慧医疗 ; 计算卸载 ; 边缘服务器 ; 遗传算法

Abstract

The workflow task, coverage of wireless communication, medical wisdom scenario and moving path were modeled, respectively. According to the location and the velocity of the mobile terminal, the execution time and energy consumption model based on the moving path were constructed. Based on the wireless communication model of different edge servers, task deferred execution and task migration were introduced to guarantee the service continuity and execution time constraint. Then, considering the execution benefits of the cloud, the edge server and the mobile terminal from a global viewpoint, the priority segmentation algorithm and the task offloading optimization algorithm were proposed. Meanwhile, the genetic algorithm was used to find the optimal path and solve the energy consumption optimization problem with the constraint of response time. The experimental results show that the proposed algorithm lowered the mobile energy consumption by 19.8%, compared with the offloading algorithm without considering terminal mobility. Thus, the algorithm can effectively reduce the energy consumption of edge device with the constraint of response time.

Keywords: mobile edge computing ; medical wisdom ; computation offloading ; edge server ; genetic algorithm

PDF (1813KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

齐平, 束红. 智慧医疗场景下考虑终端移动性的任务卸载策略. 浙江大学学报(工学版)[J], 2020, 54(6): 1126-1137 doi:10.3785/j.issn.1008-973X.2020.06.009

QI Ping, SHU Hong. Task offloading strategy considering terminal mobility in medical wisdom scenario. Journal of Zhejiang University(Engineering Science)[J], 2020, 54(6): 1126-1137 doi:10.3785/j.issn.1008-973X.2020.06.009

为解决移动终端存储和计算能力不足的问题,2014年欧洲电信标准化协会(European Telecommunication Standards Institute,ETSI)首次提出移动边缘计算(mobile edge computing,MEC)[1]. MEC系统将各类应用场景下的高复杂性计算任务卸载至边缘服务器,不仅缓解了由于云服务器远离终端带来的高延迟问题,还有效提高了移动终端的数据处理能力[2-3]. 近年来,随着MEC的广泛应用,智慧物流、智能装配、智慧医疗等大量基于终端智能设备的应用场景应运而生.

当前各类MEC应用场景对移动终端的移动性要求逐年增加,而现有移动边缘环境下的计算卸载策略往往没有考虑移动终端位置的持续变化,以及移动终端在边缘服务器范围内的伫停时长、任务迁移代价等因素,这可能导致任务执行时间过长、终端能耗过高等问题. 如何有效地进行移动路径规划,并基于移动路径处理任务在边缘服务器之间的迁移决策同时保持服务的连续性是应用计算卸载技术的挑战之一. 由此可见,尽管基于移动边缘环境的计算卸载和任务调度技术正处于蓬勃发展阶段,但仍须深入探索;尤其在智慧医疗场景下,现有计算卸载技术的不足之处更为凸显.

智慧医疗需要融合物联网、云计算、大数据处理等多种技术. 近几年,得益于物联网和移动网络的快速发展, 基于生物传感器的便携式医疗设备研究受到了越来越多的关注[4]. 此类便携式医疗设备可以全时收集各类实时医疗数据,如体温、血压、心率等. 假设1个医疗数据指标包含4个字节数据,采集时间为1 min,则6个医疗指标每分钟采集24个字节数据. 按照大型城市常住人口为500万进行计算, 1 d采集的数据量可达57.3 PB,不断增加的边缘设备产生了爆炸式增长的海量健康大数据. 然而,智慧医疗场景下的应用任务不仅需要对海量、异构的医疗业务流程数据进行分析处理,还需要在较低的任务执行时间内实时反馈分析结果. 因此,智慧医疗对移动终端、可穿戴设备的数据处理效率、网络服务质量和便携式管理提出了更高的要求,需要更为有效的计算卸载方案,以弥补移动终端在能量消耗、资源存储、计算性能等方面的不足.

在智慧医疗场景下,患者常常处于移动状态,特别在运动监控或医院急救流程等应用背景下,患者需要移动智慧医疗服务来保证长期健康监控和实时数据分析[5]. 因此,较其他应用场景而言,智慧医疗对于考虑终端移动性的计算卸载技术需求更为迫切,而目前缺乏基于终端移动感知的医疗服务工作流计算卸载技术的研究.

针对上述两方面问题,本文基于智慧医疗场景,结合工作流任务和终端移动路径,构建考虑终端移动性的工作流任务卸载时间与能耗模型,并在此基础上提出一种移动边缘环境下基于最佳路径的工作流任务卸载与调度算法.

1. 相关工作

移动边缘计算是指在移动网络边缘部署计算和存储资源,为移动网络提供计算服务环境和云计算能力,从而为用户提供超低时延和高带宽的网络服务解决方案[6]. 计算卸载技术是移动边缘计算的关键技术,需要根据应用的相关属性(如任务负载、数据量等),综合考虑能耗、可靠性、用户响应时间约束等服务质量需求,制定最佳卸载方案[7].

目前,针对移动边缘计算环境下的计算卸载技术,诸多学者进行了广泛的研究. 按卸载方式进行划分,移动边缘环境下的计算卸载策略包括不卸载、完全卸载、部分卸载与多重卸载4类. 如图1所示,不卸载策略是指将计算任务完全放置于移动终端执行;完全卸载是指将计算任务全部卸载至边缘服务器或云服务器;部分卸载则将部分任务卸载至边缘服务器,而其余任务仍在移动终端执行;多重卸载综合考虑各类计算资源属性,将任务同时卸载至移动终端、边缘服务器和云服务器. 按卸载决策目标进行划分,当前研究主要集中在以下2个方面.

图 1

图 1   移动边缘计算(MEC)环境下的4种计算卸载模型

Fig.1   Four kinds of computation offloading models in mobile edge computing(MEC)environment


1)时延优化.

任务响应时延直接影响用户体验,由于任务响应时延直接影响用户体验,针对不同的应用场景,出现了大量以降低时延为目标的计算卸载策略. 由图1可见,当任务在本地执行时,时延为该任务在移动终端的执行时间;而若将任务卸载至云服务器或边缘端,时延则由在该计算资源上的执行时间和数据传输时间组成. Chamla等[8]提出基于协作的计算卸载策略,该策略首先对应用任务进行分类,将计算密集型任务卸载到云服务器,而将通信密集型任务卸载至边缘服务器,以最小化执行时延. Kuang等[9]提出了一种移动云计算下的多用户卸载决策,该算法通过筛选法将时延优化问题转换为经典的“0-1”背包问题,进而采用动态规划算法进行求解,从而获得更短的卸载响应时间和任务完成时间.

2)能耗优化.

由于受到移动设备电池容量的限制,能耗优化问题是移动边缘计算环境下计算卸载技术的重要影响因素. Zhang等[10]提出了一种基于能耗感知的计算卸载策略. 该策略将移动设备的电池剩余能量引入权重因子,以迭代搜索算法结合内罚函数查找最佳的计算卸载决策和资源调度方案. Wang等[11]针对不同的移动云计算服务领域,通过数据分析及搜索传递路径等方法优化移动设备能耗和任务完成时间. 袁友伟等[12]提出了一种基于工作流动态关键路径和本地计算量的两阶段调度算法,通过在调度过程中动态更新关键路径,有效感知移动边缘环境的动态变化对调度结果的影响,从而给出更具时效性的卸载决策. 徐佳等[13]提出了基于能耗优化的多重资源计算卸载策略,对于移动边缘计算环境中云、边、端3类资源进行综合考虑,能够在保证工作流响应时间的约束条件下充分降低移动终端能耗.

由于能耗和任务完成时间都直接影响用户体验,针对应用任务特性,以权衡能耗和时延为目标的卸载决策正逐步成为计算卸载技术的研究热点[14-15]. 上述研究都假定移动终端的位置是固定不变的,而在移动边缘计算环境中,移动终端最本质的特征是移动,移动终端的位置应持续变化,而不应静止不变. 鉴于智慧医疗服务的实时、智能和无处不在的需求,考虑终端的移动性以及在终端移动情况下的时延、能耗优化,是当前智慧医疗场景下的计算卸载技术亟需解决的问题.

针对不同应用服务,并考虑终端移动性,研究者提出了各类计算卸载模型. Chen等[16]提出了基于Cloudlet的移动医疗模型. 该模型从Cloudlet中寻找服务,利用Cloudlet平台卸载计算任务,只有当Cloudlet中没有该服务时,用户才会连接到医疗云,从而最小化整体延迟. Zhao等[17]考虑了一个健康状态检测的边缘计算场景,设定智能手环或智能眼镜等可穿戴设备为移动终端,在移动终端动态移动时,将采集到的数据形成可拆分卸载任务,再上传至周围的边缘服务器,以实现同时向多个边缘服务器进行卸载. Nadembega等[18]在应用计算卸载技术的前提下,通过任务迁移来保证服务的连续性. Wang等[19]则通过用户轨迹预测,获取用户在下一时刻可能到达的区域,从而提前将数据传输至该区域的边缘服务器. Zhu等[20]先将所有任务全部分配至移动终端执行,在终端移动过程中若存在可卸载边缘服务器资源,则将任务卸载至边缘端执行.

上述算法在不同的移动边缘计算场景下考虑了用户的移动性对卸载决策结果的影响. 但是,一方面,移动终端轨迹的准确预测需要构建高复杂度的机器学习算法,算法时延使得任务负载在边缘服务器之间较难实现无缝切换,而降低预测算法精度又可能导致数据传输的浪费;另一方面,任务迁移致使网络传输带宽的负载量急剧增加,在进行任务卸载或迁移决策时,需要充分考虑任务迁移代价和边缘服务器无线信号覆盖区域等因素,并由此构建基于移动感知的计算卸载决策模型. 以智慧医院急救流程为例,在患者移动时,智慧病床对其体征数据进行实时监控和分析;在进行卸载决策时,应充分考虑智慧病床的位置和移动路径,结合边缘服务器的无线网络信号模型、工作流任务依赖关系和任务迁移代价,从全局角度综合考虑任务在云端、边缘服务器和本地的执行效益,合理地分配计算资源.

2. 基于移动边缘计算的智慧医疗场景建模

2.1. 智慧医疗场景

智慧医院术中及术后监护是典型的智慧医疗场景,如图2所示为实际医院手术室与术后监护区域图. 为防止拥堵,通常医院会预先设定若干条备选路径,且智慧病床在移动过程中保持匀速. 当患者手术完毕后处于移动智慧病床上时,应选择适当路径前往术后监护室.

图 2

图 2   移动边缘环境下智慧医院及移动路径剖面图

Fig.2   Cross-sectional view of wisdom hospital and moving path in MEC environment


在移动过程中,智慧病床应对患者的体征数据进行实时监控和分析. 由于体征监测和分析任务往往计算量较大,为了降低智慧医疗场景下的移动终端能耗,同时保证体征监控任务在其任务约束时间内完成,应考虑将任务卸载至合适的计算资源. 本文首先对智慧医疗场景进行建模描述,为简化模型,将如图2所示的智慧医疗场景剖面图转化为平面图,并将其划分成若干网格,再构建智慧医疗场景下移动终端的位置与移动路径模型. 如图3所示为医院手术室与术后监护区域平面图,图中已标注边缘服务器、手术室和监护室位置,同时使用虚线和点划线标出从手术室至监护室的2条备选路径(实际情况中可能存在多条备选路径),备选移动路径定义如下.

图 3

图 3   移动边缘环境下智慧医院及移动路径平面图

Fig.3   Planar graph of wisdom hospital and moving path in MEC environment


定义1  备选移动路径由σ个具有偏序关系的网格位置坐标组成,定义路径P={ci|ci =(xiyi), iσ}. 如图3所示,ci为路径中第i个网格的位置坐标,其中xiyi分别表示其横坐标与纵坐标,且满足(xiyi)和(xi+1yi+1)在平面位置上相邻并可达.

2.2. 工作流任务模型

通过一个加权有向无环图(directed acyclic graph,DAG)对移动边缘计算环境下医疗工作流中任务执行的先后依赖关系进行描述. 工作流任务、云服务器、边缘服务器和移动终端分别定义如下.

定义2  工作流任务集合W可表示为三元组,由v个具有偏序关系的应用任务组成:W={wi | wi=(IiOili),iu}. 其中,wi为工作流任务中第i个任务,Ii为任务wi的输入数据量,Oi为任务wi的输出数据量,li为任务负载. 工作流任务之间的依赖关系使用V进行描述,V={(wprewsucc)| wprewsuccW},其中wpre为前驱任务,wsucc为后继任务. 如图4所示为一个简单医疗工作流示例,该工作流包括6个任务,其中,W={w1w2w3w4w5w6},V={(w1w2),(w1w3),(w2w4),(w3w5),(w4w6),(w5w6)}.

图 4

图 4   工作流实例及抽象工作流有向无环(DAG)图

Fig.4   Workflow instance and abstract workflow directed acyclic (DAG)graph


定义3  云服务器Cse可表示为二元组,Cse=(fccRcc),其中,fc表示云服务器的计算能力,Rc表示云服务器的数据发送和接收速率.

定义4  边缘服务器集合E可表示为三元组,由u台边缘服务器构成, $E = \{ {e_j}|{e_j} = \left( {f_{{e_j}}}, {R_{{e_j}}},{B_{{e_j}}}, {L_{{e_j}}} \right),$ $j \in \left[ {1,u} \right]\} $,其中, ${f_{{e_j}}}$为边缘服务器ej的计算能力, ${R_{{e_j}}}$为数据发送和接收速率, ${B_{{e_j}}}$为传输带宽, ${L_{{e_j}}}$为其位置坐标.

定义5  移动终端M可表示为二元组,M=(fmtPmt),其中,fmt为移动终端的计算能力,Pmt为移动终端功率,Pmt=(PexecPtraPrecPidle),分别表示移动终端的任务执行功率、数据发送功率、数据接收功率和空闲功率.

当工作流任务卸载至边缘服务器时,设定任务所需数据在边缘服务器ej上的发送和接收速率 ${R_{{e_j}}}$与距离及传输带宽 ${B_{{e_j}}}$相关,定义如下.

定义6  设 ${B_{{e_j}}}$为边缘服务器ej的传输带宽,则移动终端与边缘服务器ej之间的瞬时数据传输速率可表示为

${R_{{e_j}}} = {B_{{e_j}}}{\rm{log} _2}\;\left( {1 + {f_{{\rm{SNR}}}}\left( {{d_j}} \right)} \right);\;{d_j} \leqslant {d_{{\rm{max}}}}.$

式中:fSNRdj)为传输信噪比[12]dj为移动终端和边缘服务器ej之间的距离,dmax为最大通信距离. 由于在数据传输过程中,数据传输瞬时速率受信噪比的影响,对于各边缘服务器而言,应通过距离计算移动终端与边缘服务器之间的瞬时数据传输速率. 为简化模型,假定同一网格内的移动终端在与同一边缘服务器进行通信时,其数据传输速率相同.

3. 考虑终端移动性的工作流任务卸载能耗模型

当患者手术完毕后处于移动智慧病床上时,可能存在多条备选路径前往术后监护室. 在进行卸载决策时,应结合智慧病床的移动速度和位置,考虑任务完成时间约束、移动端能耗及任务迁移代价,给出在不同卸载决策情况下的任务卸载能耗模型. 所构建的任务卸载能耗模型由移动终端能耗模型、边缘服务器能耗模型、任务延迟能耗模型、任务迁移能耗模型以及云服务器能耗模型组成.

3.1. 移动终端能耗模型

当任务wi在移动终端执行时,其执行能耗为执行时间与移动终端执行功率Pexec的乘积. 假设在移动终端上执行的任务数量为nmt,则移动终端的任务执行时间Tmt和总能耗Emt

$ \begin{aligned} {{T_{{\rm{mt}}}} = \displaystyle\mathop \sum \limits_{i = 1}^{{n_{{\rm{mt}}}}} \dfrac{{{l_i}}}{{{f_{{\rm{mt}}}}}},}\;\;{{E_{{\rm{mt}}}} = {P_{{\rm{exec}}}} \times \displaystyle\mathop \sum \limits_{i = 1}^{{n_{\rm{mt}}}} \dfrac{{{l_i}}}{{{f_{{\rm{mt}}}}}}.} \end{aligned} $

式中:li为任务wi的负载,fmt为移动终端的计算能力.

3.2. 边缘服务器能耗模型

当任务wj卸载至边缘服务器时,移动终端能耗由任务所需数据的发送能耗、执行结果数据的接收能耗以及移动终端的空闲能耗(任务在边缘服务器执行时的等待时间)组成. 假设卸载至边缘服务器执行的任务数量为nes,则此时的任务执行时间Tes和移动终端的总能耗Ees分别为

$\left. \begin{array}{l} {T_{{\rm{es}}}} = \displaystyle\sum\limits_{j = 1}^{{n_{{\rm{es}}}}} {{T_{e_j^{t{\rm{ra}}}}} + \displaystyle\sum\limits_{j = 1}^{{n_{{\rm{es}}}}} {{T_{e_j^{{\rm{rec}}}}} + \displaystyle\sum\limits_{j = 1}^{{n_{\rm{es}}}} {\frac{{{l_j}}}{{{f_{{e_j}}}}}} } } ,\\ {E_{{\rm{es}}}} = {P_{\rm{tra}}} \displaystyle\sum\limits_{j = 1}^{{n_{{\rm{es}}}}} {{T_{e_j^{{\rm t}{\rm{ra}}}}} + {P_{{\rm{rec}}}}\displaystyle\sum\limits_{j = 1}^{{n_{{\rm{es}}}}} {{T_{e_j^{{\rm{rec}}}}} + {P_{{\rm{idle}}}}\displaystyle\sum\limits_{j = 1}^{{n_{{\rm{es}}}}} {\frac{{{l_j}}}{{{f_{{e_j}}}}}} } } . \end{array} \right\}$

式中:lj为任务wj的负载, ${f_{{e_j}}}$为任务wj卸载所至的边缘服务器ej的计算能力, ${T_{e_j^{{\rm{tra}}}}}$${T_{e_j^{{\rm{rec}}}}}$分别为任务wj在边缘服务器ej上的数据发送与接收时间.

通过定义5可知,移动终端与边缘服务器之间的瞬时数据传输速率与其两者之间的距离相关,因此, ${T_{e_j^{{\rm{tra}}}}}$${T_{e_j^{{\rm{rec}}}}}$需要根据移动终端的实际位置进行计算.

图5所示,在备选路径给定的情况下,设(Xtra_intiYtra_inti)为移动终端将任务wj所需数据发送至边缘服务器ej时的初始坐标,IjOj分别为任务wj的输入数据量和输出数据量,智慧病床移动速度为vsick,网格边长为Lgrid,(Xtra_endYtra_end)为数据发送结束时的位置.

图 5

图 5   边缘服务器能耗模型

Fig.5   Energy consumption model of edge servers


通过式(1)可知,无线信号的瞬时数据传输速率与通信双方之间的距离相关。各网格与边缘服务器之间的距离不同,其瞬时数据传输速率也不相同。对于坐标为(xes, yes) j的边缘服务器ej,不妨将其瞬时数据传输速率设为 ${R_{{d{\left| {{{\left( {{x_{{\rm{es}}}},{y_{{\rm{es}}}}} \right)}_j},\left( {x,y} \right)} \right|}}}}$,则该网格内的数据传输量 ${D_{{d{\left| {{{\left( {{x_{{\rm{es}}}},{y_{{\rm{es}}}}} \right)}_j},\left( {x,y} \right)} \right|}}}}$

${D_{{d{\left| {{{\left( {{x_{{\rm{es}}}},{y_{{\rm{es}}}}} \right)}_j},\left( {x,y} \right)} \right|}}}} = {R_{{d{\left| {{{\left( {{x_{{\rm{es}}}},{y_{{\rm{es}}}}} \right)}_j},\left( {x,y} \right)} \right|}}}} \times \frac{{{L_{{\rm{grid}}}}}}{{{v_{{\rm{sick}}}}}}{\rm{}}.$

当各网格内的数据传输量之和大于或等于任务wj的数据输入量时,数据发送阶段结束. 设在wj的数据发送过程中,移动终端通过的网格数为 $\sigma _j^{{\rm{tra}}}$,则

$\left. \begin{array}{l} \arg \mathop {\min }\limits_{\sigma _j^{{\rm{tra}}}} \;\;\left| {\displaystyle\sum\limits_{g = 1}^{\sigma _j^{{\rm{tra}}}} {{D_{{d{{{\left| {{{\left( {{x_{es,}}{y_{es}}} \right)}_j},\left( {x,y} \right)} \right|}}}}}}}} { - {I_j}}\right|,\\ \displaystyle\sum\limits_{g = 1}^{\sigma _j^{{\rm{tra}}}} {{D_{{d{{{\left| {{{\left( {{x_{es}},{y_{es}}} \right)}_j},\left( {{x_g},{y_g}} \right)} \right|}}}}}}}{ \geqslant {I_j}} . \end{array} \right\}$

由此可得,wj的数据发送时间 ${T_{e_j^{{\rm{tra}}}}}$

${T_{e_j^{{\rm{tra}}}}} = \frac{{\sigma _j^{{\rm{tra}}} \times {L_{{\rm{grid}}}}}}{{{v_{{\rm{sick}}}}}}.$

由于移动终端的备选移动路径预先给定,如图6所示,数据发送阶段结束后,移动终端位置(Xtra_endYtra_end)在其初始位置(Xtra_intiYtra_inti)之后,其移动路径上的第 $\sigma _j^{{\rm{tra}}}$个后续邻接网格位置. 例如,网格(xk−1yk−1)和(xkyk)在平面位置上相邻并可达,则称网格(xkyk)为网格(xk−1yk−1)的后续第1个邻接网格.

图 6

图 6   移动终端数据发送过程

Fig.6   Data transmitting procedure of mobile terminal


在边缘服务器执行完成任务wj后,需要将任务执行数据回传. 设(Xrec_intiYrec_inti)为此时移动终端接收数据的初始坐标,使用式(5)和(6)可计算其接收数据时间 ${T_{e_j^{{\rm{rec}}}}}$和数据接收结束时的位置坐标(Xrec_endYrec_end).

3.3. 任务执行延迟与任务迁移执行能耗模型

当任务wj卸载至边缘服务器时,数据发送阶段移动终端的位置从坐标(Xtra_intiYtra_inti)移动到坐标(Xtra_endYtra_end);数据接收阶段移动终端的位置从坐标(Xrec_intiYrec_inti)移动到坐标(Xrec_endYrec_end). 然而,当坐标(Xtra_endYtra_end)或坐标(Xrec_endYrec_end)与边缘服务器之间的距离超过dmax时,无法完成任务所需数据的发送或接收工作,此时存在以下4种情况.

1)如图7所示,当移动终端附近不存在其他满足无线通信条件的边缘服务器时,无法卸载该任务至边缘端.

图 7

图 7   任务卸载失败情形示意图

Fig.7   Schematic of situation of task offloading failure


2)如图8(a)所示,在数据发送阶段,当前无法卸载任务至边缘服务器,但当移动终端的移动路径上存在满足无线通信条件的边缘服务器时,可考虑任务延迟卸载. 假设任务wj的延迟执行时间为 ${T_{e_j}^{{\rm{delay}}}}$(若未延迟则 ${T_{e_j}^{{\rm{delay}}}}$=0),则此时的任务执行时间Tes和移动终端的总能耗Ees分别为

图 8

图 8   任务延迟执行及任务迁移执行

Fig.8   Task delay and task migration execution


$\begin{array}{l} \left. \begin{array}{l} {T_{^{{\rm{es}}}}} = \displaystyle\sum\limits_{j = 1}^{{n_{{\rm{es}}}}} {{t_{e_j}^{{\rm{tra}}}} + \displaystyle\sum\limits_{j = 1}^{{n_{{\rm{es}}}}} {{T_{e_j}^{rec}} + } } \displaystyle\sum\limits_{j = 1}^{{n_{{\rm{es}}}}} {{T_{e_j}^{{\rm{delay}}}} + \displaystyle\sum\limits_{j = 1}^{{n_{{\rm{es}}}}} {\frac{{{l_j}}}{{{f_{{e_j}}}}}} } \\ {E_{{\rm{es}}}} = {P_{{\rm{tra}}}}\displaystyle\sum\limits_{j = 1}^{{n_{{\rm{es}}}}} {{t_{e_j}^{{\rm{tra}}}}} + {P_{\rm{rec}}}\displaystyle\sum\limits_{j = 1}^{{n_{{\rm{es}}}}} {{t_{e_j}^{\rm{rec}}} + {P_{\rm{idle}}}}\times \\\quad\quad\;\; \left( {\displaystyle\sum\limits_{j = 1}^{{n_{{\rm{es}}}}} {\frac{{{l_j}}}{{{f_{{e_j}}}}} + \displaystyle\sum\limits_{j = 1}^{{n_{{\rm{es}}}}} {{T_{e_j}^{{\rm{delay}}}}} } } \right) \end{array} \right\}\\ \end{array}$

3)如图8(b)所示,在数据接收阶段,由于移动终端已离开当前边缘服务器的无线信号范围,无法完成计算结果的回传. 然而,当终端的移动路径上存在满足无线通信条件的边缘服务器时,可采用以下2种方案进行任务迁移:一是将任务整体迁移至目标边缘服务器;二是将任务的计算结果迁移至目标边缘服务器. 其中,方案一的任务迁移时间为任务输入数据的传输时间,而任务执行时间为任务在目标边缘服务器上的执行时间;方案二的任务迁移时间为任务计算结果的传输时间,任务执行时间为任务在当前边缘服务器上的执行时间. 取上述2种方案中时间花费较小的方案实施任务迁移. 假设任务wj在进行迁移时的数据传输速度为Rmigr,任务迁移数据量为 $O_j^{{\rm{migr}}}$,则任务迁移时间 ${T_{e_j}^{{\rm{migr}}}} = O_j^{{\rm{migr}}}/{R_{{\rm{migr}}}}$,若任务未迁移则 ${T_{e_j}^{{\rm{migr}}}}$=0. 此时的任务执行时间Tes和移动终端的总能耗Ees分别为

$\left. \begin{aligned} {T_{^{{\rm{es}}}}} =& \sum\limits_{j = 1}^{{n_{{\rm{es}}}}} {{T_{e_j}^{{\rm{tra}}}} + \sum\limits_{j = 1}^{{n_{{\rm{es}}}}} {{T_{e_j}^{{\rm{rec}}}} + } } \sum\limits_{j = 1}^{{n_{{\rm{es}}}}} {{T_{e_j}^{{\rm{delay}}}} + } \\ &{\sum\limits_{j = 1}^{{n_{\rm{es}}}} {{T_{e_j}^{{\rm{migr}}}} + \sum\limits_{j = 1}^{{n_{\rm{es}}}} {\frac{{l_j^{}}}{{{f_{{e_j}}}}},} } } \\ {E_{^{{\rm{es}}}}} =& {P_{{\rm{tra}}}}\sum\limits_{j = 1}^{{n_{{\rm{es}}}}} {{T_{e_j}^{{\rm{tra}}}} + {P_{{\rm{rec}}}}\sum\limits_{j = 1}^{{n_{{\rm{es}}}}} {{T_{e_j}^{{\rm{rec}}}} + } } {P_{{\rm{idle}}}}\\ &{\left( {\sum\limits_{j = 1}^{{n_{{\rm{es}}}}} {\frac{{{l_j}}}{{{f_{{e_j}}}}} + \sum\limits_{j = 1}^{{n_{{\rm{es}}}}} {{T_{e_j}^{{\rm{migr}}}} + \sum\limits_{j = 1}^{{n_{{\rm{es}}}}} {{T_{e_j}^{{\rm{delay}}}}} } } } \right).} \end{aligned}\right\}$

4)如图8所示,同时存在任务执行延迟和任务迁移执行的情形,则按式(8)计算其延迟执行和迁移执行代价.

3.4. 云服务器能耗模型

当任务wk卸载至云服务器时,移动终端能耗由任务所需数据的发送能耗、执行结果数据的接收能耗以及移动终端的空闲能耗(任务在云端执行时的等待时间)组成. 假设卸载至云端执行的任务数量为ncc,则此时的任务执行时间Tcc和移动终端的总能耗Ecc分别为

$\left. {\begin{aligned} &{{T_{{\rm{cc}}}} = \mathop \sum \limits_{k = 1}^{{n_{{\rm{cc}}}}} \frac{{{I_k}}}{{{R_{{\rm{cc}}}}}} + \mathop \sum \limits_{k = 1}^{{n_{{\rm{cc}}}}} \frac{{{O_k}}}{{{R_{{\rm{cc}}}}}} + \mathop \sum \limits_{k = 1}^{{n_{{\rm{cc}}}}} \frac{{{l_k}}}{{{f_{{\rm{cc}}}}}}},\\ &{{E_{{\rm{cc}}}} = {P_{{\rm{tra}}}} \mathop \sum \limits_{k = 1}^{{n_{{\rm{cc}}}}} \frac{{{I_k}}}{{{R_{{\rm{cc}}}}}} + {P_{{\rm{rec}}}} \mathop \sum \limits_{k = 1}^{{n_{\rm{cc}}}} \frac{{{O_k}}}{{{R_{{\rm{cc}}}}}} + {P_{{\rm{idle}}}} \mathop \sum \limits_{k = 1}^{{n_{{\rm{cc}}}}} \frac{{{l_k}}}{{{f_{{\rm{cc}}}}}}}. \end{aligned}} \right\}$

式中:lk为任务wk的负载,fcc为云服务器的计算能力.

3.5. 移动终端位置更新

假设移动终端初始位置为(xintiyinti),当任务置于移动终端执行,或卸载至边缘服务器、云服务器执行时,其任务执行时间TmtTesTcc可按照式(2)、(8)和(9)计算. 在任务执行完毕后,移动终端位置应更新为网格(xintiyinti)后第 $ ({{{T_{{\rm{mt}}}} \times {v_{{{{\rm{sick}}}}}/L_{\rm{grid}}}}})/ {{{L_{{\rm{id}}}}}} $$ ({{{T_{{\rm{es}}}} \times {v_{{{{\rm{sick}}}}}/L_{\rm{grid}}}}})/{{{L_{{\rm{id}}}}}} $$({{{T_{{\rm{cc}}}} \times {v_{{{{\rm{sick}}}}}/L_{\rm{grid}}}}})/{{{L_{{\rm{id}}}}}} $个邻接网格位置.

4. 工作流任务卸载决策及调度算法

基于所构建的任务卸载能耗模型,设计工作流任务优先级划分算法、边缘服务器卸载优化算法及基于最佳移动路径的工作流任务卸载决策和调度算法.

4.1. 工作流任务优先级划分算法

工作流任务wj与其后续任务wj+1是通过等待时延联系起来的,应当在优先级较低的任务之前执行完成执行优先级较高的任务. 因此,假设任务的优先级数为N,使用C={S1S2S3,···,SN}表示任务优先级序列. 其中Sii∈[1,N])表示优先级为i的任务执行矩阵(同一执行矩阵内任务可并行处理),i越小则执行优先级越高. Si可表示为

${{{S}}^i} = \left[ {\begin{array}{*{20}{c}} {{{s}}_{11}^i}&{{{s}}_{12}^i}&{{{s}}_{13}^i}\\ {{{s}}_{21}^i}&{{{s}}_{22}^i}&{{{s}}_{23}^i}\\ \vdots & \vdots & \vdots \\ {{{s}}_{{m_i}1}^i}&{{{s}}_{{m_i}2}^i}&{{{s}}_{{m_i}3}^i} \end{array}} \right].$

S imi个任务组成,其中任务wj的执行向量 ${{s}}_j^i = \left( {{{s}}_{j1}^i,{{s}}_{j2}^i,{{s}}_{j3}^i} \right)$为一个三元组, ${{s}}_{j1}^i$=1, ${{s}}_{j2}^i$=1和 ${{s}}_{j3}^i$=1分别表示任务wj在移动终端、边缘服务器或云服务器执行,且满足以下条件:

$\left. \begin{array}{l} {{s}}_{j1}^i + {{s}}_{j2}^i + {{s}}_{j3}^i = 1,\;j \in \left\{ {1,2, \cdots ,m} \right\};\\ {{s}}_{j1}^i,{{s}}_{j2}^i,{{s}}_{j3}^i \in \left\{ {0,1} \right\}. \end{array} \right\}$

工作流任务优先级划分算法如下:

算法1  工作流任务优先级划分算法

输入 工作流任务集合W={w1w2,···,wv}

输出 工作流任务优先级划分序列C={S1S2,···,SN}

Do until W=NULL

{ For each SiC

 { Si←{wj |indegree (wj)=0,1≤jv};//将任务DAG图中入度为0的任务放置于任务执行矩阵Si之中

   WW −{ wj },1≤ jv;//从工作流任务集合中删除

   For each immediate successor task ws of task wi

  { indegree (ws)=indegree (ws)−1;

  }//End for each immediate successor task ws of task wi

 }//End for each S iC

}//End do until W=NULL

4.2. 边缘服务器卸载优化算法

当任务卸载至边缘服务器执行时,首先获取可卸载边缘服务器集合,再结合移动终端的具体位置和任务计算量、输入输出数据量筛选最优可卸载边缘服务器,边缘服务器卸载优化算法如下.

算法2  边缘服务器卸载优化算法

输入 待卸载工作流任务属性,边缘服务器集合ES={e1e2,···,eu},移动终端初始位置坐标(xintiyinti

输出 最优可卸载边缘服务器tag_ES及当前移动终端位置

For each ejE

{ If d(|(xesyesj,(xintiyinti)|)<dmax

  Einitej;//根据移动终端位置获取当前所有可卸载边缘服务器,初始化边缘服务器集合Einit

}//End For each ejE

If ESset =NULL//如果可卸载边缘服务器集合为空

{ Obtain delayed execution time by formula(7); //若Einit为空,则查询终端移动路径上最近的边缘服务器,考虑任务延迟执行时间 $T_e^{\rm{delay}} $(若无需延迟执行则 $T_e^{\rm{delay}} $=0)

 Update the position coordinates of mobile terminal; //更新移动终端坐标

  Return Etag;//返回任务延迟执行情形下的候选边缘服务器

}//End if

For each ejEinit

{ predict the position coordinates of mobile terminal(Xrec_endYrec_end)//预测数据回传完毕时移动终端位置

  if d(|(xesyesj,( Xrec_endYrec_end)|)>dmax//对于边缘服务器ej,如果移动终端位置超出边缘服务器的无线通信范围则无法回传任务执行数据

 { Calculate the migration time by formula(8);//若任务执行数据无法回传,则计算任务迁移执行时间 ${T_{\rm{es}}^{{\rm{migr}}}}$

 }//End if

 Calculate task execution time Tes and energy consumption Ees by formula(3)or formula(9);//根据任务是否需要迁移,计算任务在各可选边缘服务器上的执行时间和执行能耗

 Update the minimum energy consumption and execution time;//满足任务执行时间限制情况下更新最小任务执行能耗

}//End For each ejEinit

Update the position coordinates of mobile terminal;//更新移动终端坐标

Return Etag;//返回最优可卸载边缘服务器

4.3. 基于最佳路径的工作流任务卸载决策及调度算法

在智慧医疗场景下,特别是在医院急救场景下,智慧病床的备选移动路径往往相对固定. 例如,在手术室到监护室之间,一般存在多条备选路径,这些路径在建筑设计时往往就已预先拟定. 虽然各备选路径相对固定,仍需要根据工作流任务属性,计算各备选路径的最优卸载序列和任务调度方案. 此后,在各备选路径的最优调度方案中选择任务时间约束下具有最少移动终端能耗的路径,作为所有备选路径中的最佳路径,并依此获取相应的最优任务调度方案.

本文基于遗传算法设计基于最佳路径的工作流任务卸载决策及调度算法(workflow task offloading strategy and scheduling algorithm based on the optimal pathway,WTOSSABOP). 在求解优化阶段,遗传算法首先对染色体个体进行解码,再结合终端的移动路径以及染色体解码得到的各任务卸载决策结果(例如:将任务卸载至边缘端,边缘服务器为根据算法2求解出的最优可卸载边缘服务器,并依此计算执行时间和执行能耗),得到整个工作流的任务调度方案. 最后,通过适应度函数对该染色体个体的优劣程度进行评价,算法的详细设计方案如下.

1)染色体编码.

本文采用“0-1”编码方式对优先级相同的工作流任务进行编码,编码方法如式(10)、(11)所示. 设第k代种群为Ck${{{C}}_{{k}}} = \left\{ {{{S}}_{{k}}^1,{{S}}_{{k}}^2, \cdots ,{{S}}_{{k}}^{{i}}, \cdots ,{{S}}_{{k}}^{{N}}} \right\}$,其中 ${{S}}_{{k}}^{{i}}$,其中 ${{S}}_{{k}}^{{i}}$表示第k代种群中,优先级为i的矩阵染色体,如下式所示:

${{S}}_k^i = \left[ {\begin{array}{*{20}{c}} {{{s}}_{11}^{i,k}}&{{{s}}_{12}^{i,k}}&{{{s}}_{13}^{i,k}}\\ {{{s}}_{21}^{i,k}}&{{{s}}_{22}^{i,k}}&{{{s}}_{23}^{i,k}}\\ \vdots & \vdots & \vdots \\ {{{s}}_{{m_i}1}^{i,k}}&{{{s}}_{{m_i}2}^{i,k}}&{{{s}}_{{m_i}3}^{i,k}} \end{array}} \right].$

2)适应度函数.

结合考虑终端移动性的任务卸载能耗模型以及移动边缘环境下用户对工作流任务的执行响应时间约束,设计出一种新的评价移动终端能耗的适应度计算方法,用以衡量任务调度方案所产生的移动终端能耗,定义适应度函数f如下式所示:

$\left. \begin{array}{l} {T_{\rm{S}}} = {T_{{\rm{mt}}}} + {T_{{\rm{es}}}} + {T_{{\rm{cc}}}},\\ {E_{\rm{S}}} = {E_{{\rm{mt}}}} + {E_{{\rm{es}}}} + {E_{{\rm{cc}}}}. \end{array} \right\}$

$ f = \left\{ {\begin{aligned} &{{E_{{\rm{max}}}} - {E_{\rm{s}}},}&{{T_{{\rm{re}}}} \geqslant {T_{\rm{s}}}};\\ &{0,}&{{T_{{\rm{re}}}} < {T_{\rm{s}}}}. \end{aligned}} \right. $

式中:Ts为工作流任务执行总时间,Es为移动终端总能耗,Emax为任务全部在移动终端执行时的总能耗,Tre为用户要求的工作流任务执行响应时间约束. 适应度越大的调度方案,其移动终端能耗越低;反之,则越高. 当任务的执行时间不满足用户要求的任务执行响应时间约束时,认为适应度为0.

3)选择操作.

遗传算法利用选择操作模拟自然界中优胜劣汰的现象,复制当前群体中的优良基因,淘汰适应度较差的父代. 本研究的选择操作采用基于适应度比例的选择策略. 比例选择策略是遗传算法中最为常用的选择操作方法,算法复杂度低,其中个体被选择的概率与染色体的适应度大小成正比. 定义第k代染色体矩阵,优先级为i的第j个任务执行向量为 ${{X}}_{{k}}^{{{i,j}}}$,其被选择的概率为

${P_{{\rm{sel}}}} = \frac{{f\left( {{{X}}_{{k}}^{{{i}},{{j}}}} \right)}}{{\displaystyle\mathop \sum \nolimits_{t = 1}^{{m_i}} \left( {{{X}}_{{k}}^{{{i}},{{t}}}} \right)}}.$

4)交叉操作.

交叉操作是通过互换2个染色体某些位置上的基因来构造下一代染色体,本研究采用多行矩阵杂交的方法完成交叉操作,杂交概率为Pc(0<Pc<1.0).

5)变异操作.

变异操作是在当前群体中染色体个体按照一定概率发生突变,从而产生新的个体. 在遗传算法中,变异操作可以使得染色体具有更大的遍历性. 本研究通过矩阵编码产生染色体,因此变异操作针对矩阵染色体的行向量进行,且应满足式(11),设定染色体变异概率为Pm.

6)算法描述.

算法3  基于最佳移动路径的工作流任务卸载决策及调度算法

输入 工作流任务编号、优先级,移动终端性能属性,可选移动路径,边缘服务器及云服务器性能属性

输出 最佳路径,工作流任务调度方案

For each moving pathway//对于各备选路径分别求解最优卸载序列和任务调度方案,以找出最佳路径

{ Initial population generation;//生成初始种群

 Calculate the fitness of initial population according to the moving pathway and the position coordinates;//根据终端移动路径和位置坐标计算初始种群适应度

  k=0;//设迭代次数初值

Whilek<Maximum iterations)//最大迭代次数

 { Selection operation;//选择操作,选择与复制概率为Psel

  Interlace operation;//交叉操作,交叉概率为Pc

  Mutation operation;//变异操作,变异概率为Pm

  Calculate the fitness of the current population according to the moving pathway and position coordinates;//根据终端移动路径和位置坐标计算当前种群适应度

   k++;//迭代次数增加

 }//End While

Update the optimal pathway;//更新最佳路径

Update the minimum energy consumption and execution time;//满足任务执行时间限制情况下更新最小任务执行能耗

}//End For each

5. 仿真实验及分析

为了分析和评估WTOSSABOP算法的性能,在Matlab R2017b环境下进行仿真实验. 实验相关参数设置如下:移动终端的计算能力fmt=1 GHz,执行功率Pexec =0.50 W,发送功率Ptra=0.1 W,接收功率Prec=0.05 W,空闲功率Pidle=0.02 W;移动终端与云数据中心的数据传输速率vcc =5 Mb/s,移动终端与边缘服务器之间的瞬时数据传输速率同两者之间的通信距离相关[12];边缘服务器计算能力fes的值为2~4 GHz,服从均匀分布,云服务器的处理能力fcc=8 GHz. 假设智慧医院场景为400 m×100 m的长方形区域,智慧医疗场景下的智慧病床移动路径、边缘服务器数量及位置布局预先给定,在区域内呈均匀分布,设定网格大小为1 m×1 m. 工作流任务图随机生成,工作流任务数据量为1~5 GHz,每个任务的输入、输出数据量为1~15 Mb [21],工作流任务响应时间约束为该任务在处理能力为1.4 GHz虚拟机上平均执行时间的2倍[13]. 工作流任务类型与该任务的通信数据量和计算数据量的比值r[22]有关:r >1.0表示该任务为通信密集型,而0< r <1.0则表示该任务为计算密集型.

首先在不同移动路径和边缘服务器数量的情况下,考察所构建的工作流任务卸载能耗模型以及任务调度算法的有效性. 然后,在不同任务数和不同任务类型的情况下,从移动终端执行能耗和任务完工时间两方面对WTOSSABOP算法和其他4种任务卸载策略进行比较. 对比策略包括CLOUD、EDGE、MOBILE和LoPRTC [20],其中CLOUD、EDGE、MOBILE分别指工作流任务全部在云端、边缘端、移动终端执行. 在所有仿真实验中,实验结果采用10次实验的平均值.

5.1. 模型的有效性

(1)路径选择对算法性能的影响.

实验具体参数设置如下:工作流任务数量为50,边缘服务器数量为5,任务类型r =1.0,随机产生10条长度相同的移动路径(标记为Path1~Path10),实验结果如图9所示.

图 9

图 9   不同移动路径下的任务执行能耗比较

Fig.9   Comparison of task execution energy consumption under different moving paths


图9可见,当选择不同路径时,移动终端的能耗也不相同. 对比Path7和Path5可见,对于同一工作流,Path7所需能耗增加了85.3%,可见选择最佳路径的重要性. 在以下实验中,WTOSSABOP算法总是预先计算和选择最佳路径.

(2)边缘服务器数量对算法性能的影响.

将工作流中应用任务数量为10、50和100的3个工作流分别标记为workflow_10,workflow_50和workflow_100,任务类型r =1.0,可卸载边缘服务器的数量(N)变化范围为[1,10],实验结果如图10所示.

图 10

图 10   不同边缘服务器数量情况下的任务执行能耗比较

Fig.10   Comparison of task energy consumption with different numbers of edge servers


图10可见,随着边缘服务器数量的增多,执行能耗逐步减少. 值得注意的是,当N >6后,移动端执行能耗的减少速率明显变缓. 这是因为任务调度受到了工作流任务并发数和无线信号覆盖范围的限制,任务之间的偏序关系导致工作流的并发数低于计算资源的数量,从而使部分计算资源空闲. 因此,在部署边缘服务器时,应充分考虑应用任务的类型和实际环境情况.

5.2. 不同任务数情况下的算法性能比较

实验具体参数设置如下:工作流任务数量NT的变化范围为[10,100],任务类型r =1.0,边缘服务器数量为5,实验从移动端能耗和任务完工时间2个方面进行比较,实验结果如图1112所示.

图 11

图 11   不同任务数情况下WTOSSABOP、CLOUD、EDGE、MOBILE和LoPRTC的任务执行能耗比较

Fig.11   Comparison of task energy consumption of WTOSSABOP,CLOUD,EDGE,MOBILE and LoPRTC with different numbers of tasks


图 12

图 12   不同任务数情况下WTOSSABOP、CLOUD、EDGE、MOBILE和LoPRTC的任务完工时间比较

Fig.12   Comparison of task execution time of WTOSSABOP,CLOUD,EDGE,MOBILE and LoPRTC with different numbers of tasks


图1112可见,当任务完全放置于移动终端本地执行时,移动终端能耗最高,说明卸载任务至边缘服务器或云服务器可以有效降低移动终端能耗;而当任务完全卸载至云服务器或边缘服务器时,虽然移动终端能耗相对较低,但由于任务所需数据的传输时间过多,其任务完工时间较长. 同时应注意到,将任务全部卸载至边缘端的终端能耗明显低于将任务全部卸载至云端,然而2类策略的任务完工时间却相差较少. 这是由于在将任务卸载至边缘服务器时,边缘服务器无线信号覆盖范围有限,任务可能卸载失败,而迁移该任务使其任务完工时间增加.

此外,同其他4种卸载策略相比,提出的WTOSSABOP算法在任务完工时间较少的情况下,移动终端能耗最低. 相较LoPRTC算法,其能耗降低了19.8%. 这是因为WTOSSABOP结合了基于终端移动路径的边缘服务器卸载优化算法,构建了考虑终端移动性的任务能耗模型,同时从全局角度综合考虑任务在云端、边缘服务器和本地的执行效益,从而合理地分配计算资源. 该实验结果充分说明,该算法能够在用户响应时间约束下有效降低移动终端能耗.

5.3. 不同任务类型情况下的算法性能比较

实验具体参数设置如下:工作流任务数量为50,边缘服务器数量为5,任务类型分别为r=0.1、1.0和10.0,实验从移动端能耗和任务完工时间2个方面进行比较,实验结果如图1314所示.

图 13

图 13   不同任务类型情况下WTOSSABOP、CLOUD、EDGE、MOBILE和LoPRTC的任务执行能耗比较

Fig.13   Comparison of task energy consumption of WTOSSABOP,CLOUD,EDGE,MOBILE and LoPRTC with different types of tasks


图 14

图 14   不同任务类型情况下WTOSSABOP、CLOUD、EDGE、MOBILE和LoPRTC的任务完工时间比较

Fig.14   Comparison of task execution time of WTOSSABOP,CLOUD,EDGE,MOBILE and LoPRTC with different types of tasks


图1314可见,当工作流任务为计算密集型时,将任务卸载至云端可以得到较短的任务完工时间,任务执行能耗也相对较低. 当任务为通信密集型时,将任务卸载至云端则会大大增加任务的完工时间,移动端进行数据传输所需的能耗明显超过直接在移动端执行任务所需的能耗;如果将计算任务完全放置在移动终端执行,则情况恰好相反. 实验结果说明:仅仅考虑单一的计算资源无法应对各种类型工作流任务的实际需求. 与此同时,由图13可见,WTOSSABOP算法在执行各类型工作流任务时,任务执行能耗都相对较低,说明该算法能够在终端移动的情况下,综合考虑边缘服务器、云服务器以及移动设备属性和位置信息,从而在保证用户时间约束的情况下有效降低终端能耗.

6. 结 语

针对现有的计算卸载策略并未考虑移动终端的移动性和计算任务的实时性问题,本文根据移动终端的实时位置、移动速率和移动路径构建了基于移动路径的工作流任务执行时间及能耗模型;在此基础上提出了工作流任务优先级划分算法和边缘服务器卸载优化算法;从全局角度综合考虑任务在云端、边缘服务器和本地的执行效益,使用遗传算法设计了基于最佳移动路径的工作流任务卸载决策及调度算法,以挑选最佳路径,获取用户响应时间约束下具有最少移动终端能耗的任务调度方案. 仿真实验结果说明:通过选择最佳路径,该任务调度方案能够显著降低移动终端能耗,在任务数和任务类型均不相同的情况下,该方案的终端能耗均优于其余4种卸载策略.

参考文献

ABBAS N, ZHANG Y, TAHERKORDI A, et al

Mobile edge computing: a survey

[J]. IEEE Internet of Things Journal, 2017, 5 (1): 450- 465

[本文引用: 1]

施巍松, 孙辉, 曹杰, 等

边缘计算: 万物互联时代新型计算模型

[J]. 计算机研究与发展, 2017, 54 (5): 907- 924

DOI:10.7544/issn1000-1239.2017.20160941      [本文引用: 1]

SHI Wei-song, SUN Hui, CAO Jie, et al

Edge computing: an emerging model for the internet ofeverything era

[J]. Journal of Computer Research and Development, 2017, 54 (5): 907- 924

DOI:10.7544/issn1000-1239.2017.20160941      [本文引用: 1]

施巍松, 张星洲, 王一帆, 等

边缘计算: 现状与展望

[J]. 计算机研究与发展, 2019, 56 (01): 73- 93

[本文引用: 1]

SHI Wei-song, ZHANG Xing-zhou, WANG Yi-fan, et al

Edge computing: state-of-the-art and future directions

[J]. Journal of Computer Research and Development, 2019, 56 (01): 73- 93

[本文引用: 1]

倪明选, 张黔, 谭浩宇, 等

智慧医疗——从物联网到云计算

[J]. 中国科学: 信息科学, 2013, 43 (4): 515- 528

DOI:10.1360/112012-616      [本文引用: 1]

NI Ming-xuan, ZHANG Qian, TAN Hao-yu, et al

Smart healthcare: from IoT to cloud computing

[J]. SCIENTIA SINICA Informationis, 2013, 43 (4): 515- 528

DOI:10.1360/112012-616      [本文引用: 1]

邱宇, 王持, 齐开悦, 等

智慧健康研究综述: 从云端到边缘的系统

[J]. 计算机研究与发展, 2019, 57 (1): 53- 73

[本文引用: 1]

QIU Yu, WANG Chi, QI Kai-yue, et al

A survey of smart health: system design from the cloud to the edge

[J]. Journal of Computer Research and Development, 2019, 57 (1): 53- 73

[本文引用: 1]

MIN C, MAO S, LIU Y

Big data: a survey

[J]. Mobile Networks and Applications, 2014, 19 (2): 171- 209

DOI:10.1007/s11036-013-0489-0      [本文引用: 1]

谢人超, 廉晓飞, 贾庆, 等

移动边缘计算卸载技术综述

[J]. 通信学报, 2018, 39 (11): 142- 159

[本文引用: 1]

XIE Ren-chao, LIAN Xiao-fei, JIA Qin, et al

Survey on computation offloading in mobile edge computing

[J]. Journal on Communications, 2018, 39 (11): 142- 159

[本文引用: 1]

CHAMLA V, THAM C K, CHALAPATHI G S S. Latency aware mobile task assignment and load balancing for edge cloudlets [C] // 2017 IEEE International Conference on Pervasive Computing and Communications Workshops (PerCom Workshops). Kona: IEEE, 2017: 587-592.

[本文引用: 1]

KUANG Z K, GUO S T, LIU J D, et al

A quick-response framework for multi-user computation offloading in mobile cloud computing

[J]. Future Generation Computer Systems, 2018, 81 (4): 166- 176

[本文引用: 1]

ZHANG J, HU X, NING Z, et al

Energy-latency tradeoff for energy-aware offloading in mobile edge computing networks

[J]. IEEE Internet of Things Journal, 2018, 5 (4): 2633

DOI:10.1109/JIOT.2017.2786343      [本文引用: 1]

WANG X, LUO D

Energy efficiency based resource schedule in mobile cloud computing

[J]. Journal of Computational and Theoretical Nanoscience, 2015, 12 (2): 239- 243

DOI:10.1166/jctn.2015.3724      [本文引用: 1]

袁友伟, 刘恒初, 俞东进, 等

面向边缘侧卸载优化的工作流动态关键路径调度算法

[J]. 计算机集成制造系统, 2019, 25 (4): 798- 808

[本文引用: 3]

YUAN You-wei, LIU Heng-chu, YU Dong-jin, et al

Offloading optimization base on dynamic critical path in mobile edge computing environment

[J]. Computer Integrated Manufacturing Systems, 2019, 25 (4): 798- 808

[本文引用: 3]

徐佳, 李学俊, 丁瑞苗, 等

移动边缘计算中能耗优化的多重资源计算卸载策略

[J]. 计算机集成制造系统, 2019, 25 (4): 954- 961

[本文引用: 2]

XU J, LI Xue-jun, DING Rui-miao, et al

Energy efficient multi-resource computation offloading strategy in mobile edge computing

[J]. Computer Integrated Manufacturing Systems, 2019, 25 (4): 954- 961

[本文引用: 2]

NAN Y, LI W, BAO W, et al

Adaptive energy-aware computation offloading for cloud of things systems

[J]. IEEE Access, 2017, 5: 23947- 23957

DOI:10.1109/ACCESS.2017.2766165      [本文引用: 1]

WANG W, ZHOU W. Computational offloading with delay and capacity constraints in mobile edge [C] // 2017 IEEE International Conference on Communications. Paris: IEEE, 2017: 1-6.

[本文引用: 1]

CHEN M, QIAN Y F, CHEN J, et al

Privacy protection and intrusion avoidance for cloudlet-based medical data sharing

[J]. IEEE Transactions on Cloud Computing, 2016, 2 (4): 2529- 2533

[本文引用: 1]

ZHAO H L, DENG S G, ZHANG C, et al. A mobility-aware cross-edge computation offloading framework for partitionable applications [C] // 2019 The International Conference on Web Services(ICWS). Milan: IEEE, 2019: 193-200.

[本文引用: 1]

NADEMBEGA A, HAFID A S, BRISEBOIS R. Mobility prediction model-based service migration procedure for follow me cloud to support QoS and QoE [C] // 2016 IEEE International Conference on Communications. Kuala Lumpur: IEEE, 2016: 1-6.

[本文引用: 1]

WANG S, URGAONKAR R, HE T, et al

Dynamic service placement for mobile micro-clouds with predicted future costs

[J]. IEEE Transactions on Parallel and Distributed Systems, 2017, 28 (4): 1002- 1016

DOI:10.1109/TPDS.2016.2604814      [本文引用: 1]

ZHU T, SHI T, LI J, et al

Task scheduling in deadline-aware mobile edge computing systems

[J]. IEEE Internet of Things Journal, 2019, 6 (3): 4854- 4866

DOI:10.1109/JIOT.2018.2874954      [本文引用: 2]

KOMNIOS I, TSAPELI F, GORINSKY S

Cost-effective multi-mode offloading with peer-assisted communications

[J]. Ad Hoc Networks, 2015, 25: 370- 382

DOI:10.1016/j.adhoc.2014.07.028      [本文引用: 1]

CALHEIROS R N, RANJAN R, ROSE D, et al. CloudSim: a novel framework for modeling and simulation of cloud computing infrastructures and services [R]. Melbourne: Grid Computing and Distributed Systems Laboratory, The University of Melbourne, 2009.

[本文引用: 1]

/