CN108920280B - 一种单用户场景下的移动边缘计算任务卸载方法 - Google Patents

一种单用户场景下的移动边缘计算任务卸载方法 Download PDF

Info

Publication number
CN108920280B
CN108920280B CN201810774690.4A CN201810774690A CN108920280B CN 108920280 B CN108920280 B CN 108920280B CN 201810774690 A CN201810774690 A CN 201810774690A CN 108920280 B CN108920280 B CN 108920280B
Authority
CN
China
Prior art keywords
task
tasks
execution
mec server
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810774690.4A
Other languages
English (en)
Other versions
CN108920280A (zh
Inventor
何慧
张伟哲
方滨兴
刘川意
余翔湛
刘亚维
刘国强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Harbin Institute of Technology
Original Assignee
Harbin Institute of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Harbin Institute of Technology filed Critical Harbin Institute of Technology
Priority to CN201810774690.4A priority Critical patent/CN108920280B/zh
Publication of CN108920280A publication Critical patent/CN108920280A/zh
Application granted granted Critical
Publication of CN108920280B publication Critical patent/CN108920280B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • G06F9/4862Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate
    • G06F9/4875Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate with migration policy, e.g. auction, contract negotiation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

一种单用户场景下的移动边缘计算任务卸载方法,涉及移动计算系统的处理技术领域。本发明为了降低移动设备的反应时延和能耗。单用户场景任务卸载模型构建,包括系统整体模型的构建以及各个部分模型的构建,各个部分模型的构建包括:任务队列模型、本地计算模型、云端计算模型以及计算任务负载模型;任务卸载策略:以系统整体负载K最小化为目标给出任务卸载方案:基于二进制粒子群算法给出所有的任务在本地CPU执行或在MEC服务器上执行;然后再对应执行本地执行负载最优调度策略、基于流水线调度的MEC服务器执行负载最优调度策略。经验证,本发明给出的单用户场景下的任务卸载方法,降低了移动设备的反应时延和能耗。

Description

一种单用户场景下的移动边缘计算任务卸载方法
技术领域
本发明涉及单用户场景下的任务卸载方法,涉及移动计算系统的处理技术领域。
背景技术
移动互联网和物联网的高速发展和具有高级功能的新式移动应用程序的快速发展给移动计算系统带来了巨大的压力。然而,移动设备的有限处理能力和电池容量成为实现这种要求的障碍。移动边缘计算(Mobile Edge Computing,MEC)已经成为解决这个问题的有希望的技术,与使用远程公共云的传统云计算系统相比,它提供了无线接入网络内的计算能力。通过将计算密集型任务从移动设备卸载到附近的MEC服务器,计算体验质量(包括延迟和设备能耗)可以大大提高。然而,MEC系统的效率在很大程度上取决于所采用的计算卸载策略,需要考虑到计算任务和无线信道的特点来精心设计。现有技术的任务卸载方法假设的场景比较理想化,不符合实际情况。
发明内容
本发明要解决的技术问题:本发明的目的是提供一种单用户场景下的移动边缘计算任务卸载方法,以降低移动设备的反应时延和能耗。
本发明为解决上述技术问题采取的技术方案是:
一种单用户场景下的移动边缘计算任务卸载方法,所述方法的实现过程为:
步骤一、单用户场景任务卸载模型构建,包括系统整体模型的构建以及各个部分模型的构建,各个部分模型的构建包括:任务队列模型、本地计算模型、云端计算模型以及计算任务负载模型;
步骤二、联合任务卸载策略
以系统整体负载K的最小化为目标给出任务卸载方案:首先基于二进制粒子群算法给出所有的任务是在本地CPU执行还是在MEC服务器上执行;然后再对应执行本地执行负载最优调度策略、基于流水线调度的MEC服务器执行负载最优调度策略。
在步骤一中,单用户场景任务卸载模型构建具体过程为:
系统整体模型的构建:
系统整体模型包含移动设备和MEC服务器,在移动设备上需要执行计算密集型和延迟敏感性应用;
设移动设备端,需要执行N个计算任务,这些任务存储在计算任务队列中,通过计算任务卸载策略将任务发送到不同的执行模块中执行,包括处理单元本地CPU和发射单元(Transmit Unit,TU),
需要卸载的任务通过发射单元将任务数据上传到MEC服务器中,在MEC服务器上执行完毕后将结果返回给移动设备;
在MEC服务器端的任务队列,用来存储已经卸载完成但是还没有来得及执行的计算任务;MEC服务器具有远大于移动设备的计算能力(MEC服务器的计算能力是移动设备的计算能力的10倍至100倍),但是同一时刻也只能执行一个计算任务;
任务队列模型
系统有两个任务队列,一个位于移动设备端,用于存储需要执行的所有任务;另一个在服务器端,用来存储已经卸载完成但是还没有来得及执行的计算任务;
假设移动设备有N个任务需要执行,记为
Figure GDA0002973614140000021
每个计算任务可以使用如下的三元组来表示:
Figure GDA0002973614140000022
其中bn表示计算任务需要的数据量,数据包括程序代码、输入参数,如果需要卸载到MEC服务器上执行,那么这部分数据需要通过移动设备的发射单元上传到服务器上;dn表示计算任务所需的计算量,使用CPU的操作数来表示;rn表示计算任务的结果数据,如果使用任务卸载的话需要从MEC服务器上下传到移动设备;计算结果rn忽略不计,即忽略返回结果对整体研究的影响;
在服务器端的任务队列表示已经完成卸载但还没有来得及执行的计算任务;
本地计算模型
当任务卸载策略决定一个计算任务在本地CPU执行时,这个计算任务就不需要通过发射单元进行上传;所以此时计算这个任务的能量消耗仅仅是执行这个任务时本地CPU的能量消耗;延迟就是在这个任务之前执行的总时间加上这个任务的执行时间;令符号
Figure GDA0002973614140000023
和符号
Figure GDA0002973614140000024
分别表示任务i的执行时间和等待时间,floc表示本地CPU的计算能力,单位Hz,那么任务执行时间可表示为:
Figure GDA0002973614140000025
假设经过任务卸载策略判断后,N个计算任务中有N1个计算任务在本地CPU执行,N2个计算任务需要卸载到MEC服务器上执行,满足:
Figure GDA0002973614140000026
Figure GDA0002973614140000031
表示在本地CPU执行的任务标号以及执行顺序,
Figure GDA0002973614140000032
表示需要卸载到MEC服务器上执行的任务标号以及执行顺序;那么可以得出任务
Figure GDA0002973614140000033
的等待时间
Figure GDA0002973614140000034
为:
Figure GDA0002973614140000035
因此,任务
Figure GDA0002973614140000036
的整体延迟
Figure GDA0002973614140000037
可以表示为:
Figure GDA0002973614140000038
因此,全体任务N1在本地CPU执行的任务所需要的总时间
Figure GDA0002973614140000039
可以表示为:
Figure GDA00029736141400000310
对于能量消耗,假设本地CPU的功率为pcpu,单位w,那么任务
Figure GDA00029736141400000311
的能耗
Figure GDA00029736141400000312
可以表示为:
Figure GDA00029736141400000313
这样,全体任务N1在本地CPU执行的任务所需要的总能耗
Figure GDA00029736141400000314
可以表示为:
Figure GDA00029736141400000315
通过上面的分析,得到计算任务在本地CPU执行时的延迟与能耗;
云端计算模型
对于需要卸载到云端执行的计算任务来说,一个任务的执行需要两个步骤:卸载与执行;对计算任务Tj,其中j∈C,
Figure GDA00029736141400000316
需要通过移动设备的发射单元将计算任务的数据发送到MEC服务器上;假设发射单元同一时刻只能将一个计算任务的数据上传到MEC服务器上,如果发射单元的发射功率表示为ptu,那么传输速率可以表示为:
Figure GDA00029736141400000317
其中g0是路径损耗(pathloss)常数,θ是路径损耗指数,L是移动设备与MEC服务器之间的距离,ω表示系统的带宽,而N0是MEC服务器接收端的噪声功率密度;L0表示参考距离(reference distance);
对于一个给定的任务卸载策略,可以得到需要卸载到MEC服务器的任务集以及执行顺序
Figure GDA0002973614140000041
对于一个计算任务来说,需要满足如下两个条件才能被MEC服务器执行:首先,这个计算任务的数据已经上传到MEC服务器的任务队列中;其次,MEC服务器是空闲的,能够去执行一个新的计算任务;对于所有需要卸载到MEC服务器上执行的任务中第j个任务来说即任务
Figure GDA0002973614140000042
令符号
Figure GDA0002973614140000043
和符号
Figure GDA0002973614140000044
分别表示计算任务
Figure GDA0002973614140000045
上传完成的时间和执行完成的时间,那么可以得到
Figure GDA0002973614140000046
为:
Figure GDA0002973614140000047
也就是说,任务
Figure GDA0002973614140000048
上传完成的时间就是任务
Figure GDA0002973614140000049
任务上传的时间之和;
对于任务的完成时间来说,
Figure GDA00029736141400000410
可表示为如下的递归形式:
Figure GDA00029736141400000411
其中用符号fser(单位Hz)来表示MEC服务器的计算能力,
Figure GDA00029736141400000412
就是任务
Figure GDA00029736141400000413
的执行时间;
接下来分析能量的消耗,能量消耗与具体计算任务具体的执行顺序无关,令符号
Figure GDA00029736141400000414
表示任务
Figure GDA00029736141400000415
上传所需要的能量,那么可以得到:
Figure GDA00029736141400000416
那么,所有需要卸载的任务所消耗的总能量
Figure GDA00029736141400000417
可以表示为:
Figure GDA00029736141400000418
同理,得到所有任务所消耗的总时间
Figure GDA00029736141400000419
为:
Figure GDA00029736141400000420
计算任务负载模型
所有计算任务N执行完所需的时间t为:
Figure GDA00029736141400000421
所有任务N执行完所需的能量e为:
Figure GDA00029736141400000422
假设系统整体负载表示为K:
K=λtt+λee (2-16)
其中系数λt和λe分别表示在卸载决策时计算任务延迟和能耗的权重;两个系数满足如下关系:
Figure GDA0002973614140000051
综上得到优化目标P1为:
P1:min K (2-18)。
在步骤二中,所述联合任务卸载策略的实现过程为:
问题P1:minK的时间复杂度是O(2NN!),基于二进制粒子群算法和流水线调度理论的给出所述任务卸载策略如下:
本地执行负载最优调度策略
假设已经得到了需要在本地CPU执行的计算任务列表,记为
Figure GDA0002973614140000052
在这个前提下,给出本地执行的负载最优调度策略,即给出这些任务的执行顺序,具体为:
对需要在本地执行的任务列表,对每一个计算任务,计算任务执行时间
Figure GDA0002973614140000053
对计算任务的执行时间按照升序进行排序,得到的结果就是计算任务的执行顺序L;
基于流水线调度的MEC服务器执行负载最优调度策略
假设已经获得了需要卸载到MEC服务器去执行的计算任务列表,记为
Figure GDA0002973614140000054
然后引入流水线调度问题(flow shop scheduling problems)得到计算任务列表中计算任务执行顺序,其过程为;
对每个任务计算上传时间和执行时间,根据上传时间和执行时间的大小分成两组F和G,F组是上传时间小于执行时间,G组是上传时间大于等于执行时间,对F组中的任务根据任务上传时间按升序进行排序,即
Figure GDA0002973614140000055
其中,T[i]∈F,i=1,…,|F|;
对G组中的任务根据任务执行时间按降序进行排序,即
Figure GDA0002973614140000056
其中,T<j>∈G,j=1,…,|G|;
得到最终的执行顺序为:
C=[[1],…,[|F|],<1>,…,<|G|>];
基于二进制粒子群的任务调度
对于一个具体的计算任务Ti,用一位的二进制数σi来表示卸载结果,其中σi∈{0,1};当σi=0时,表示计算任务Ti在本地CPU执行;当σi=1时,表示计算任务Ti需要卸载到MEC服务器去执行;这样,对于所有的计算任务T,构成一个计算任务卸载结果σ;通过二进制粒子群算法来获得系统整体负载最小化问题的解;
根据每一个粒子的位置,就可以分别得到需要本地执行和MEC服务器执行的任务集T1和T2,这样我们就可以根据算法1和算法2得到具体的计算任务调度策略L和C,有了调度策略L和C,就可以计算系统整体负载,并根据公式P1:min K进行更新,得到新的粒子位置,也就是一个新的卸载策略;这样,经过一定次数的迭代,能够在多项式时间内找到一个优化的解。
也是说,在基于二进制粒子群的任务调度中,为粒子群的每个粒子随机分配初始位置(每个位置代表分配方案)和速度;
对每个粒子i,执行:用粒子的当前位置,根据算法1和算法2计算各自的调度策略L和C,然后得到公式P1:min K中的系统整体负载K;
更新粒子i的位置和速度,直至所有的粒子都执行完,完成一次迭代;
继续执行完成预定的迭代次数;
最后得到系统整体负载K最小时对应的最优粒子的位置,最优粒子的位置即是任务的卸载方案,卸载方案给出了所有的任务在本地CPU执行或在MEC服务器上执行;然后再对应执行本地执行负载最优调度策略、基于流水线调度的MEC服务器执行负载最优调度策略。
本发明的有益效果是:
本发明的适用场景是考虑一个单用户的使用场景,即系统中只有一个移动用户,而这个用户有多个需要执行的互不依赖的任务,这些任务既可以在本地设备执行也可以通过卸载交给MEC服务器来执行。而且,如果计算任务需要卸载到MEC服务器来执行的话,那么同时只能有一个任务能被上传。同时在服务器端,虽然MEC服务器的计算能力远大于移动设备,但是由于MEC是一种边缘设备,计算能力毕竟是有限的。在本发明中,我们假设MEC服务器同时只能执行一个卸载的任务。
在这样的场景下,本发明从一个新的角度来考虑任务的卸载策略。由于任务是互不依赖的,因此任务的执行顺序没有关系。所以在本发明中,和以往研究不同的是,这里的卸载策略不仅仅是是否需要进行卸载,同时还要确定任务的执行顺序。同时,综合考虑延迟以及能耗因素,构造一个联合的任务卸载策略,以达到系统整体负载最优的效果。本发明给出在单用户场景下的任务卸载方法,降低了移动设备的反应时延和能耗。经实验表明,在本发明提出的综合考虑延迟以及能耗的计算任务负载模型下,本发明提出的方法具有一定的优势。
附图说明
图1是本发明的系统整体模型框图;图2为不同任务数下平均延迟曲线图,图3为不同任务数下任务在本地执行的比例的对比图,图4为不同任务数下能量消耗图,图5为不同任务数下任务负载变化对比图。
具体实施方式
具体实施方式一:如图1至5所示,本实施方式所述的一种单用户场景下的移动边缘计算任务卸载方法的具体实现过程为:
1单用户场景任务卸载模型构建
接下来为了便于问题的描述,这里构建单用户场景下的任务卸载模型,包括系统整体模型的构建,以及各个部分模型的构建,主要有:任务队列模型、本地计算模型、云端计算模型以及计算任务负载模型等。
1.1系统模型
系统模型图1所示。图1中包含两个部分:移动设备和MEC服务器。在移动设备上执行计算密集型和延迟敏感性应用。移动设备端需要执行N个计算任务,这些任务存储在计算任务队列中,通过计算卸载策略将任务发送到不同的执行模块中执行,包括处理单元本地CPU和发射单元(Transmit Unit,TU),需要卸载的任务通过发射单元将任务数据上传到MEC服务器中,在MEC服务器上执行完毕后将结果返回给移动设备。
在服务器端,也有一个任务队列,用来存储已经卸载完成但是还没有来得及执行的计算任务。MEC服务器具有远大于移动设备的计算能力,但是同一时刻也只能执行一个计算任务。
1.2任务队列模型
从图1的系统整体模型图中可以看出,整个系统有两个任务队列,一个位于移动设备端,用于存储需要执行的所有任务;另一个在服务器端,用来存储已经卸载完成但是还没来得及执行的计算任务。
我们假设移动设备有N个任务需要执行,记为
Figure GDA0002973614140000071
每个计算任务可以使用如下的三元组来表示:
Figure GDA0002973614140000072
其中bn表示计算任务需要的数据量,这里的数据包括程序代码、输入参数等,如果需要卸载到MEC服务器上执行,那么这部分数据需要通过移动设备的发射单元上传到服务器上;dn表示计算任务所需的计算量,使用CPU的操作数来表示;rn表示计算任务的结果数据,如果使用任务卸载的话需要从MEC服务器上下传到移动设备。为了研究方便,这里的计算结果rn忽略不计,即忽略返回结果对整体研究的影响。
在服务器端也有一个任务队列,这里的任务表示已经完成卸载但还没有来得及执行的计算任务。这个任务队列中的任务执行需要满足如下的条件:MEC服务器的处理单元执行完当前执行的任务。同时,MEC服务器处理单元根据先进先出(first-in-first-out,FIFO)的模式来执行计算任务。因此,在MEC服务器上的任务执行顺序就是任务的卸载顺序。
1.3本地计算模型
当任务卸载策略决定一个计算任务在本地CPU执行时,这个计算任务就不需要通过TU进行上传。所以此时计算这个任务的能量消耗仅仅是执行这个任务时本地CPU的能量消耗;延迟就是在这个任务之前执行的总时间加上这个任务的执行时间。令符号
Figure GDA0002973614140000081
和符号
Figure GDA0002973614140000082
分别表示任务i的执行时间和等待时间,floc表示本地CPU的计算能力(单位Hz),那么任务执行时间可以表示为:
Figure GDA0002973614140000083
假设经过卸载策略判断后,N个计算任务中有N1个计算任务在本地CPU执行,N2个计算任务需要卸载到MEC服务器上执行,满足:
Figure GDA0002973614140000084
Figure GDA0002973614140000085
表示在本地CPU执行的任务标号以及执行顺序,
Figure GDA0002973614140000086
表示需要卸载到MEC服务器上执行的任务标号以及执行顺序。那么可以得出任务
Figure GDA0002973614140000087
的等待时间
Figure GDA0002973614140000088
为:
Figure GDA0002973614140000089
因此,任务
Figure GDA00029736141400000810
的整体延迟
Figure GDA00029736141400000811
可以表示为:
Figure GDA00029736141400000812
因此,全体在本地CPU执行的任务所需要的总时间
Figure GDA00029736141400000813
可以表示为:
Figure GDA00029736141400000814
对于能量消耗,假设本地CPU的功率为pcpu(单位w),那么任务
Figure GDA0002973614140000091
的能耗
Figure GDA0002973614140000092
可以表示为:
Figure GDA0002973614140000093
这样,全体在本地CPU执行的任务所需要的总能耗
Figure GDA0002973614140000094
可以表示为:
Figure GDA0002973614140000095
通过上面的分析,我们得到了计算任务在本地CPU执行时的延迟与能耗。接下来我们给出计算任务在MEC服务器上执行的公式化描述。
1.4云端计算模型
对于需要卸载到云端执行的计算任务来说,一个任务的执行需要两个步骤:卸载与执行。对计算任务Tj,其中j∈C,
Figure GDA0002973614140000096
需要通过移动设备的发射单元将计算任务的数据发送到MEC服务器上。这里我们假设发射单元同一时刻只能将一个计算任务的数据上传到MEC服务器上,如果发射单元的发射功率表示为ptu,那么传输速率可以表示为:
Figure GDA0002973614140000097
其中g0是路径损耗(pathloss)常数,θ是路径损耗指数,L是移动设备与MEC服务器之间的距离,ω表示系统的带宽,而N0是MEC服务器接收端的噪声功率密度。
对于一个给定的任务卸载策略,我们可以得到需要卸载到MEC服务器的任务集以及执行顺序
Figure GDA0002973614140000098
对于一个计算任务来说,需要满足如下两个条件才能被MEC服务器执行:首先,这个计算任务的数据已经上传到MEC服务器的任务队列中;其次,MEC服务器是空闲的,能够去执行一个新的计算任务。对于所有需要卸载到MEC服务器上执行的任务中第j个任务来说(即任务
Figure GDA0002973614140000099
),令符号
Figure GDA00029736141400000910
和符号
Figure GDA00029736141400000911
分别表示计算任务
Figure GDA00029736141400000912
上传完成的时间和执行完成的时间,那么可以得到
Figure GDA00029736141400000913
为:
Figure GDA00029736141400000914
也就是说,任务
Figure GDA00029736141400000915
上传完成的时间就是任务
Figure GDA00029736141400000916
任务上传的时间之和。
对于任务的完成时间来说,它不仅仅和计算任务的上传完成时间有关,还和前一个上传的计算任务
Figure GDA00029736141400000917
是否执行完有关。因此,
Figure GDA00029736141400000918
可以表示为如下的递归形式:
Figure GDA0002973614140000101
其中用符号fser(单位Hz)来表示MEC服务器的计算能力,
Figure GDA0002973614140000102
就是任务
Figure GDA0002973614140000103
的执行时间。
接下来分析能量的消耗。能量消耗与具体计算任务具体的执行顺序无关,令符号
Figure GDA0002973614140000104
表示任务
Figure GDA0002973614140000105
上传所需要的能量,那么可以得到:
Figure GDA0002973614140000106
那么,所有需要卸载的任务所消耗的总能量
Figure GDA0002973614140000107
可以表示为:
Figure GDA0002973614140000108
同理,我们也可以得到所有任务所消耗的总时间
Figure GDA0002973614140000109
为:
Figure GDA00029736141400001010
这样,我们就可以进一步构造计算任务负载模型了。
1.5计算任务负载模型
经过上面的分析,我们已经得到了计算任务在本地CPU和MEC服务器上执行所需要的能量消耗与时间,接下来我们使用这些数据构造一个计算任务负载模型。通过将能耗与延迟两方面的因素合并成一个因素,负载,可以满足不同用户的个性化需求,灵活地调整所关注的因素。
根据上述分析,得到所有计算任务执行完所需的时间t为:
Figure GDA00029736141400001011
所有任务执行完所需的能量e为:
Figure GDA00029736141400001012
假设系统整体的负载表示为K:
K=λtt+λee# (2-16)
其中系数λt和λe分别表示在卸载决策时计算任务延迟和能耗的权重。两个系数满足如下关系:
Figure GDA0002973614140000111
当λt较大时,表示此时用户更关注于计算任务的延迟,对延迟比较敏感;而当λe更大时,则表示此时用户移动设备的电量较低,为了增加移动设备的使用时间更关注于计算任务的能耗。这样,移动用户可以根据自身当时的具体情况适当选择权重系数。
这样,我们的目标就是优化负载K:
P1:min K# (2-18)
2联合任务卸载策略
在第1部分中给出了单用户场景下问题的公式化描述,而我们最终的目标就是优化整体负载K。从上面的分析中可以看出,在得到最终的完整卸载结果的过程中,需要两个主要步骤:首先,确定在本地CPU和MEC服务器上执行的任务集;其次,分别确定在本地CPU和MEC服务器上计算任务的执行顺序,即得到向量L和向量C。而向量L和向量C就是最终的卸载结果。
然而,通过分析可以发现,这个问题的时间复杂度是O(2NN!)。为了降低时间复杂度,使用了基于二进制粒子群算法和流水线调度理论的计算任务卸载算法。
2.1本地执行负载最优调度策略
假设已经得到了需要在本地CPU执行的计算任务列表,记为
Figure GDA0002973614140000112
在这个前提下,尝试给出本地执行的负载最优调度策略,即给出这些任务的执行顺序。
在1.3节本地计算模型的分析中,我们可以看出,能量消耗与计算任务执行顺序没有关系,而时间消耗却与计算任务执行顺序有关。因为根据公式2-3,计算任务
Figure GDA0002973614140000113
的等待时间
Figure GDA0002973614140000114
为在这个任务之前执行的任务的执行时间之和。因此,为了最小化整体执行所需的时间,需要把执行时间短的计算任务排在前面来执行。算法1给出了在本地执行的负载最优调度算法。
Figure GDA0002973614140000115
Figure GDA0002973614140000121
这样,如果已知需要在本地执行的计算任务列表,那么就可以根据算法1得到这部分计算任务的计算顺序。
2.2基于流水线调度的调度策略
和上一小节一样,在这小节中也是假设已经获得了需要卸载到MEC服务器去执行的计算任务列表,记为
Figure GDA0002973614140000122
然后得到这些计算任务的执行顺序。而执行顺序就是一个排列组合,如果蛮力搜索的话,时间复杂度太高不适用。在这部分中,引入了流水线调度问题(flow shop scheduling problems)的一些想法。首先,在下面的定义中给出两机器流水线问题的概念。
定义1:令F2|(perm),(pmtn)|Cmax为两机器流水线问题,如果问题满足如下条件:
1.一共有N个互不依赖的计算任务,每个计算任务需要被M1和M2两台机器顺序执行;
2.开始时,所有的任务都可以用机器M1来执行,当任务被机器M1执行完之后就可以被机器M2执行;
3.每台机器同一时刻只能执行一个任务;
4.所有的任务被两台机器执行时是同一个顺序,也就是这N个任务的一个排列,在定义中用符号(perm)表示;
5.强制执行非抢占式处理。也就是说,当一个任务被某台机器开始执行,那就不允许被其它任务中断。在定义中用符号(pmtn)表示;
6.每台机器都有一个无限大的队列用来存储已经到达但没有执行的任务;
7.目标是最小化所有N个任务的最大完工时间。在定义中用符号Cmax表示。
8.我们发现在本部分中的任务调度问题就是一个两机器流水线调度问题。证明如下。
引理:对于一个给定的计算任务列表,优化计算任务负载问题是一个类型为F2|(perm),(pmtn)|Cmax的流水线调度问题。
证明:在任务卸载调度问题中,每一个任务都需要经过两个步骤才能最终被执行完。即:1)发射单元上传任务的数据;2)MEC服务器进行执行。因此移动设备的发射单元和MEC服务器的处理模块可以看作定义1中的机器M1和机器M2。这样,任务的上传时间和执行时间可以分别看作任务在机器M1和机器M2上的执行时间。通过类比,可以看出任务卸载调度问题也满足定义1中的条件,因此这部分的任务卸载调度问题也是一个类型为F2|(perm),(pmtn)|Cmax的流水线调度问题。■
既然任务卸载调度问题是一个类型为F2|(perm),(pmtn)|Cmax的流水线调度问题,那么就可以使用Johnson算法来求解问题的最优解。在Johnson算法中,任务集合T2被分成两个不相交的子集F和G,定义如下:
Figure GDA0002973614140000131
Figure GDA0002973614140000132
算法的细节如算法2:
Figure GDA0002973614140000133
算法2中的计算复杂度主要来自与对集合F和G的排序。因此,如果使用快速排序方法的话,那么整个算法的复杂度就是O(|N2|log|N2|)。
2.3基于二进制粒子群的任务调度
在前面两个小节的分析中,我们有一个重要的假设,就是已知在本地执行的计算任务集以及卸载到MEC服务器上执行的计算任务集。对于一个具体的计算任务Ti,我们可以用一个一位的二进制数σi来表示卸载结果,其中σi∈{0,1}。当σi=0时,表示计算任务Ti在本地CPU执行;当σi=1时,表示计算任务Ti需要卸载到MEC服务器去执行。这样,对于所有的计算任务T,构成一个计算任务卸载结果σ,这是一个由(0,1)构成的N维二进制向量。而在本小节中,就是要得到这样的σ来为以后的分析提供基础。
显而易见,通过蛮力搜索获得σ的最优值的时间复杂度是O(2N)的,因此,在本小节中尝试通过二进制粒子群算法来获得问题的解。
结合本文的任务卸载问题,用符号xi表示第i个粒子,也就是问题的一个可行解,而符号xij表示第i个可行解中第j维的取值。由于是二进制粒子群算法,xij∈{0,1},j=1,…,N;符号vi表示第i个粒子的速度,符号vij表示第i个粒子第j维的速度;符号PBesti表示第i个粒子的历史最优解,其中PBestij表示第j维取值;符号GBest表示整个粒子群中所有粒子的历史最优解,GBestj表示历史最优解的第j维取值。和xij一样,PBestij和GBestj的取值范围也是{0,1}。
为了判断粒子是否是最优的,需要通过目标函数进行计算。而在本文中,目标函数就是公式3-18,即系统整体整体负载模型。算法首先对每个粒子给出一个初始化的随机位置和速度,然后进行迭代计算,每个粒子i都通过本身的历史最优解PBesti和整个粒子群的历史最优解GBest,根据下面的公式来更新自身的位置和速度:
Figure GDA0002973614140000141
Figure GDA0002973614140000142
其中,k表示迭代次数,ω、c1和c2是三个系统参数,一般是常数;rand()是一个随机函数,取值范围为[0,1]。通过上述公式,每个粒子都可以根据目标函数2-18更新自身的位置和速度,经过比较也能更新这个粒子群历史最优位置和速度了。
不过在二进制粒子群算法中,粒子的位置是一个取值为{0,1}的数,因此公式2-21中更新粒子位置的公式需要改变。这里使用Sigmoid函数将速度映射为更新的位置。Sigmoid函数如下:
Figure GDA0002973614140000143
这样,粒子位置的更新公式可以用如下的公式表示:
Figure GDA0002973614140000144
其中,rij∈[0,1],是一个均匀分布的随机数。
这样,就可以给出基于二进制粒子群的计算任务卸载算法了。细节在算法3中:
Figure GDA0002973614140000145
Figure GDA0002973614140000151
根据每一个粒子的位置,就可以分别得到需要本地执行和MEC服务器执行的任务集T1和T2,这样我们就可以根据算法1和算法2得到具体的计算任务调度策略L和C,有了调度策略L和C,就可以计算系统整体负载,并根据公式2-18进行更新,得到新的粒子位置,也就是一个新的卸载策略。这样,经过一定次数的迭代,算法能够在多项式时间内(算法的时间复杂度为O(I·P·N log N),其中I为迭代次数,P为粒子个数)找到一个优化的解。
3针本发明效果的阐述
3.1模拟实验参数选则
对于模拟实验参数的选则,可以参考下表:
表3-1模拟实验中的参数选则
Figure GDA0002973614140000152
3.2模拟实验结果与分析
为了对本发明提出的联合计算任务卸载算法(Joint Task Offloading,JTO)进行性能分析,在本小节的模拟实验中,将本发明提出的算法和下面的几个算法进行对比:
1.本地执行(Locally Executed,LE):所有的计算任务都在本地执行,不进行任务卸载;
2.云上执行(Cloud Computing,CC):所有的计算任务都卸载到云上执行,不在本地执行;
3.贪心卸载(Greedy Offloading,GO):在任务卸载的时候使用贪心策略,即如果当前本地CPU处于空闲状态就在本地执行,如果当前发射模块TU处于空闲状态就将任务卸载到云上执行;
模拟实验的参数选择已在上一小节中列出来了,下面给出模拟实验的结果以及分析。
图2展示了不同计算任务数的情况下各个方法平均的任务延迟。从图2中可以看出,方法LE具有最高的延迟,说明任务卸载能够降低任务执行的时间。方法LE、CC和方法JTO的平均延迟都是随着任务数的增加而增加,其中方法CC的增加趋势明显快于方法JTO,这是因为,方法CC的所有任务都在云上执行,当任务过多的时候,任务的等待时间也在快速增加,而对于方法JTO来说,有一部分任务是在本地执行的,这样相当于有部分任务是并行执行的,降低了任务的延迟。同时可以看出,当任务数小于一定数值(这里大概是20)时,方法CC和JTO的延迟很接近,这时因为当任务较少的时候绝大多数的任务是卸载到MEC服务器上执行的,随着任务数的逐渐增多,才有部分任务被安排在本地执行。明显不同的是方法GO,平均延迟先是增加,降低后又继续增加。这是因为刚开始的时候,对于方法CC和JTO来说,本地CPU更多处于空闲状态,因此方法GO将相当一部分任务放在本地执行,但是本地执行的延迟要远大于在云上执行,所以刚开始的时候整体的平均延迟处于增加状态;但是由于云上执行更快,因此更多的任务被安排卸载到云上执行,这样将降低了整体的平均延迟;但任务卸载带来的红利也是有限的,当有更多的任务的时候,整体的平均延迟也随着增加了。
图3展示了不同任务数下各个方法任务在本地执行的比例。其中,方法LE由于全部在本地执行,所以比例一直是100%;而方法CC由于全部在云上执行所以比例一直是0%。方法JTO在本地执行的任务比例随着任务数的增加处于缓慢增加的状态,这是因为虽然将任务卸载到云上执行能够明显降低平均延迟,但是随着任务的逐渐增多,任务的等待时间也在不断增加,这样就会有一些任务在本地执行更有优势。与方法JTO相反的是,方法GO在本地执行的任务比例却一直处于降低的状态,从开始的将近50%一直降到大概和方法JTO差不多的位置。这时因为,开始任务比较少时,方法GO使用贪心进行分配,有将近一半的任务会被安排在本地执行,但是随着任务的增加,就像图4中分析的一样,会有更多的任务被安排卸载到云上去执行,导致在本地执行的任务比例逐渐降低,但降低的趋势越来越平缓,也是因为云上执行的任务过多的原因。
图4展示了不同任务数的情况下各个方法的能量消耗情况。从图中可以看出,所有的方法都随着任务数的增加消耗更多的能量,这是符合认知的。其中方法LE具有最高的能量消耗,同样说明任务卸载能够降低任务的执行负载。方法GO具有其次最高的能量消耗,这是因为方法GO相比方法CC和JTO具有更高的本地执行比例,但随着任务数的持续增加,能量消耗增加趋势变缓,这也是更多任务被安排卸载到云上执行的结果。和图4相同的是,在任务数低于一定的时候,方法CC和JTO具有接近的能量消耗,这也是同样的原因;不同的是,随着任务数的增加,方法JTO比方法CC具有更高的能量消耗,这看起来说明本发明提出的算法不如方法CC,但这具有一定的误导性。因为方法JTO通过增加一点能量消耗,但是极大的降低了平均延迟。因此,在本发明提出的综合考虑延迟以及能耗的计算任务负载模型下,本发明提出的方法具有一定的优势。如图5所示:
图5展示了不同任务数下各个方法任务负载的变化情况。同样,方法LE具有最高的负载。和前面的分析一样,在任务数小于一定时,方法CC和JTO具有接近的负载。但随着任务数的继续增加,由于延迟带来的影响,方法CC反而具有比方法GO更高的负载,这也说明了任务卸载策略在移动边缘计算中的重要作用。方法JTO具有最低的负载,给系统带来了巨大的性能提升。

Claims (1)

1.一种单用户场景下的移动边缘计算任务卸载方法,其特征在于:所述方法的实现过程为:
步骤一、单用户场景任务卸载模型构建,包括系统整体模型的构建以及各个部分模型的构建,各个部分模型的构建包括:任务队列模型、本地计算模型、云端计算模型以及计算任务负载模型;
单用户场景任务卸载模型构建具体过程为:
系统整体模型的构建:
系统整体模型包含移动设备和MEC服务器,在移动设备上需要执行计算密集型和延迟敏感性应用;
移动设备端,需要执行N个计算任务时,这些任务存储在计算任务队列中,通过计算任务卸载策略将任务发送到不同的执行模块中执行,包括处理单元本地CPU和发射单元,
需要卸载的任务通过发射单元将任务数据上传到MEC服务器中,在MEC服务器上执行完毕后将结果返回给移动设备;
在MEC服务器端的任务队列,用来存储已经卸载完成但是还没有来得及执行的计算任务;MEC服务器具有远大于移动设备的计算能力,但是同一时刻也只能执行一个计算任务;
任务队列模型
系统有两个任务队列,一个位于移动设备端,用于存储需要执行的所有任务;另一个在服务器端,用来存储已经卸载完成但是还没有来得及执行的计算任务;
移动设备有N个任务需要执行,记为
Figure FDA0002996615320000011
每个计算任务可以使用如下的三元组来表示:
Figure FDA0002996615320000012
其中bn表示计算任务需要的数据量,数据包括程序代码、输入参数,如果需要卸载到MEC服务器上执行,那么这部分数据需要通过移动设备的发射单元上传到服务器上;dn表示计算任务所需的计算量,使用CPU的操作数来表示;rn表示计算任务的结果数据,如果使用任务卸载的话需要从MEC服务器上下传到移动设备;计算结果rn忽略不计,即忽略返回结果对整体研究的影响;
在服务器端的任务队列表示已经卸载完成但还没有来得及执行的计算任务;
本地计算模型
当任务卸载策略决定一个计算任务在本地CPU执行时,这个计算任务就不需要通过发射单元进行上传;所以此时计算这个任务的能量消耗仅仅是执行这个任务时本地CPU的能量消耗;延迟就是在这个任务之前执行的总时间加上这个任务的执行时间;令符号
Figure FDA0002996615320000021
和符号
Figure FDA0002996615320000022
分别表示任务i的执行时间和等待时间,floc表示本地CPU的计算能力,单位Hz,那么任务执行时间可表示为:
Figure FDA0002996615320000023
经过任务卸载策略判断后,N个计算任务中有N1个计算任务在本地CPU执行,N2个计算任务需要卸载到MEC服务器上执行,满足:
Figure FDA0002996615320000024
Figure FDA0002996615320000025
表示在本地CPU执行的任务标号以及执行顺序,
Figure FDA0002996615320000026
表示需要卸载到MEC服务器上执行的任务标号以及执行顺序;那么可以得出任务
Figure FDA0002996615320000027
的等待时间
Figure FDA0002996615320000028
为:
Figure FDA0002996615320000029
因此,任务
Figure FDA00029966153200000210
的整体延迟
Figure FDA00029966153200000211
可以表示为:
Figure FDA00029966153200000212
因此,全体任务N1在本地CPU执行的任务所需要的总时间
Figure FDA00029966153200000213
可以表示为:
Figure FDA00029966153200000214
对于能量消耗,本地CPU的功率为pcpu,单位w,那么任务
Figure FDA00029966153200000215
的能耗
Figure FDA00029966153200000216
可以表示为:
Figure FDA00029966153200000217
这样,全体任务N1在本地CPU执行的任务所需要的总能耗
Figure FDA00029966153200000218
可以表示为:
Figure FDA00029966153200000219
通过上面的分析,得到计算任务在本地CPU执行时的延迟与能耗;
云端计算模型
对于需要卸载到云端执行的计算任务来说,一个任务的执行需要两个步骤:卸载与执行;对计算任务Tj,其中j∈C,
Figure FDA0002996615320000031
需要通过移动设备的发射单元将计算任务的数据发送到MEC服务器上;发射单元同一时刻只能将一个计算任务的数据上传到MEC服务器上,如果发射单元的发射功率表示为ptu,那么传输速率可以表示为:
Figure FDA0002996615320000032
其中g0是路径损耗pathloss常数,θ是路径损耗指数,L是移动设备与MEC服务器之间的距离,ω表示系统的带宽,而N0是MEC服务器接收端的噪声功率密度;L0表示参考距离;
对于一个给定的任务卸载策略,可以得到需要卸载到MEC服务器的任务集以及执行顺序
Figure FDA0002996615320000033
对于一个计算任务来说,需要满足如下两个条件才能被MEC服务器执行:首先,这个计算任务的数据已经上传到MEC服务器的任务队列中;其次,MEC服务器是空闲的,能够去执行一个新的计算任务;对于所有需要卸载到MEC服务器上执行的任务中第j个任务来说即任务
Figure FDA0002996615320000034
令符号
Figure FDA0002996615320000035
和符号
Figure FDA0002996615320000036
分别表示计算任务
Figure FDA0002996615320000037
上传完成的时间和执行完成的时间,那么可以得到
Figure FDA0002996615320000038
为:
Figure FDA0002996615320000039
也就是说,任务
Figure FDA00029966153200000310
上传完成的时间就是任务
Figure FDA00029966153200000311
任务上传的时间之和;
对于任务的完成时间来说,
Figure FDA00029966153200000312
可表示为如下的递归形式:
Figure FDA00029966153200000313
其中用符号fser,单位Hz,来表示MEC服务器的计算能力,
Figure FDA00029966153200000314
就是任务
Figure FDA00029966153200000315
的执行时间;
接下来分析能量的消耗,能量消耗与具体计算任务具体的执行顺序无关,令符号
Figure FDA00029966153200000316
表示任务
Figure FDA00029966153200000317
上传所需要的能量,那么可以得到:
Figure FDA00029966153200000318
那么,所有需要卸载的任务所消耗的总能量
Figure FDA00029966153200000319
可以表示为:
Figure FDA0002996615320000041
同理,得到所有任务所消耗的总时间
Figure FDA0002996615320000042
为:
Figure FDA0002996615320000043
计算任务负载模型
所有计算任务N执行完所需的时间t为:
Figure FDA0002996615320000044
所有任务N执行完所需的能量e为:
Figure FDA0002996615320000045
系统整体负载表示为K:
K=λtt+λee (2-16)
其中系数λt和λe分别表示在卸载决策时计算任务延迟和能耗的权重;两个系数满足如下关系:
Figure FDA0002996615320000046
综上得到优化目标P1为:
P1:minK (2-18)
步骤二、联合任务卸载策略
以系统整体负载K的最小化为目标给出任务卸载方案:首先基于二进制粒子群算法给出所有的任务是在本地CPU执行还是在MEC服务器上执行;然后再对应执行本地执行负载最优调度策略、基于流水线调度的MEC服务器执行负载最优调度策略;
所述联合任务卸载策略的实现过程为:
问题P1:minK的时间复杂度是O(2NN!),基于二进制粒子群算法和流水线调度理论的给出所述任务卸载策略如下:
本地执行负载最优调度策略
已经得到了需要在本地CPU执行的计算任务列表,记为
Figure FDA0002996615320000047
在这个前提下,给出本地执行的负载最优调度策略,即给出这些任务的执行顺序,具体为:
对需要在本地执行的任务列表,对每一个计算任务,计算任务执行时间
Figure FDA0002996615320000051
对计算任务的执行时间按照升序进行排序,得到的结果就是计算任务的执行顺序L;
基于流水线调度的MEC服务器执行负载最优调度策略
已经获得了需要卸载到MEC服务器去执行的计算任务列表,记为
Figure FDA0002996615320000052
然后引入流水线调度问题得到计算任务列表中计算任务执行顺序,其过程为;
对每个任务计算上传时间和执行时间,根据上传时间和执行时间的大小分成两组F和G,F组是上传时间小于执行时间,G组是上传时间大于等于执行时间,
对F组中的任务根据任务上传时间按升序进行排序,即
Figure FDA0002996615320000053
其中,
T[i]∈F,i=1,...,|F|;
对G组中的任务根据任务执行时间按降序进行排序,即
Figure FDA0002996615320000054
其中,
T<j>∈G,j=1,...,|G|;
得到最终的执行顺序为:
C=[[1],…,[|F|],<1>,…,<|G|>];
基于二进制粒子群的任务调度
对于一个具体的计算任务Ti,用一位的二进制数σi来表示卸载结果,其中σi∈{0,1};当σi=0时,表示计算任务Ti在本地CPU执行;当σi=1时,表示计算任务Ti需要卸载到MEC服务器去执行;这样,对于所有的计算任务T,构成一个计算任务卸载结果o;通过二进制粒子群算法来获得系统整体负载最小化问题的解;
根据每一个粒子的位置,就可以分别得到需要本地执行和MEC服务器执行的任务集T1和T2,这样我们就可以根据本地执行负载最优调度策略和基于流水线调度的MEC服务器执行负载最优调度策略得到具体的计算任务调度策略L和C,有了调度策略L和C,就可以计算系统整体负载,并根据公式P1:min K进行更新,得到新的粒子位置,也就是一个新的卸载策略;这样,经过一定次数的迭代,能够在多项式时间内找到一个优化的解。
CN201810774690.4A 2018-07-13 2018-07-13 一种单用户场景下的移动边缘计算任务卸载方法 Active CN108920280B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810774690.4A CN108920280B (zh) 2018-07-13 2018-07-13 一种单用户场景下的移动边缘计算任务卸载方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810774690.4A CN108920280B (zh) 2018-07-13 2018-07-13 一种单用户场景下的移动边缘计算任务卸载方法

Publications (2)

Publication Number Publication Date
CN108920280A CN108920280A (zh) 2018-11-30
CN108920280B true CN108920280B (zh) 2021-06-11

Family

ID=64411794

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810774690.4A Active CN108920280B (zh) 2018-07-13 2018-07-13 一种单用户场景下的移动边缘计算任务卸载方法

Country Status (1)

Country Link
CN (1) CN108920280B (zh)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109600178B (zh) * 2018-12-07 2021-03-30 中国人民解放军军事科学院国防科技创新研究院 一种边缘计算中能耗与时延和最小化的优化方法
CN109684083B (zh) * 2018-12-11 2020-08-28 北京工业大学 一种面向边缘-云异构下的多级事务调度分配策略
CN109698861B (zh) * 2018-12-14 2020-07-03 深圳先进技术研究院 一种基于代价优化的计算任务卸载方法
CN109656703B (zh) * 2018-12-19 2022-09-30 重庆邮电大学 一种移动边缘计算辅助车辆任务卸载方法
CN109767117B (zh) * 2019-01-11 2021-05-18 中南林业科技大学 移动边缘计算中联合任务调度的功率分配方法
CN109710336B (zh) * 2019-01-11 2021-01-05 中南林业科技大学 联合能量和延迟优化的移动边缘计算任务调度方法
CN109922479B (zh) * 2019-01-11 2020-11-24 西安电子科技大学 一种基于时延预估的计算任务卸载方法
CN109862086B (zh) * 2019-01-21 2020-10-09 华北电力大学 一种车载边缘计算中基于匹配算法的任务分配策略
CN109905470A (zh) * 2019-02-18 2019-06-18 南京邮电大学 一种基于边缘网关系统的开销优化任务调度方法
CN109992419A (zh) * 2019-03-29 2019-07-09 长沙理工大学 一种优化的协同边缘计算低延迟任务分配卸载方法
CN109992423B (zh) * 2019-04-12 2021-08-24 南京航空航天大学 一种移动边缘计算中引入双子边缘的任务卸载框架方法
CN110764833B (zh) * 2019-04-19 2023-10-03 中国联合网络通信集团有限公司 一种基于边缘计算的任务卸载方法、装置及系统
CN110113190B (zh) * 2019-04-24 2021-04-09 西北工业大学 一种移动边缘计算场景中卸载时延优化方法
CN110413392B (zh) * 2019-07-25 2022-11-29 北京工业大学 一种移动边缘计算场景下制定单任务迁移策略的方法
CN112911708A (zh) * 2019-11-19 2021-06-04 中兴通讯股份有限公司 资源分配方法、服务器及存储介质
CN111367657B (zh) * 2020-02-21 2022-04-19 重庆邮电大学 一种基于深度强化学习的计算资源协同合作方法
CN111580943B (zh) * 2020-04-01 2023-03-14 浙江大学 一种面向低时延边缘计算中多跳卸载的任务调度方法
CN111586720B (zh) * 2020-05-11 2022-04-22 重庆邮电大学 一种多小区场景下的任务卸载和资源分配的联合优化方法
CN111913723B (zh) * 2020-06-15 2022-09-23 合肥工业大学 基于流水线的云-边-端协作卸载方法和系统
CN111953730B (zh) * 2020-07-02 2024-01-09 华北电力大学(保定) 一种基于noma的服务器协作边缘计算方法
CN111836284B (zh) * 2020-07-08 2022-04-05 重庆邮电大学 基于移动边缘计算的能耗优化计算、卸载方法和系统
CN112104693B (zh) * 2020-07-22 2021-08-10 北京邮电大学 非均匀移动边缘计算网络的任务卸载方法及装置
CN112004239B (zh) * 2020-08-11 2023-11-21 中国科学院计算机网络信息中心 一种基于云边协同的计算卸载方法及系统
CN112214261B (zh) * 2020-10-30 2021-10-15 内蒙古工业大学 一种面向边缘智能的三层结构dnn计算卸载方法
CN112380008B (zh) * 2020-11-12 2022-04-15 天津理工大学 一种面向移动边缘计算应用的多用户细粒度任务卸载调度方法
CN112788605B (zh) * 2020-12-25 2022-07-26 威胜信息技术股份有限公司 基于双延迟深度确定性策略边缘计算资源调度方法和系统
CN112860337B (zh) * 2021-01-28 2022-11-29 山东师范大学 在多接入边缘计算中卸载依赖任务的方法及系统
CN113296941B (zh) * 2021-05-12 2023-10-24 广州中国科学院沈阳自动化研究所分所 一种基于多边缘计算的缓存任务调度方法及装置
CN113271627A (zh) * 2021-05-14 2021-08-17 天津理工大学 一种基于混沌量子粒子群优化策略的移动边缘计算卸载方法
CN112988285B (zh) * 2021-05-18 2021-08-03 北京航空航天大学杭州创新研究院 任务卸载方法和装置、电子设备及存储介质
CN113556760B (zh) * 2021-06-08 2023-02-07 西安邮电大学 一种移动边缘计算成本效益优化方法、系统及应用
CN114139823B (zh) * 2021-12-08 2023-08-01 重庆大学 面向智能制造车间生产与计算任务的耦合调度方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107682443A (zh) * 2017-10-19 2018-02-09 北京工业大学 联合考虑延迟和能量消耗的移动边缘计算系统计算任务的高效卸载方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10111024B2 (en) * 2015-07-10 2018-10-23 Lg Electronics Inc. Method and apparatus for an input data processing via a local computing or offloading based on power harvesting in a wireless communication system
US10440096B2 (en) * 2016-12-28 2019-10-08 Intel IP Corporation Application computation offloading for mobile edge computing

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107682443A (zh) * 2017-10-19 2018-02-09 北京工业大学 联合考虑延迟和能量消耗的移动边缘计算系统计算任务的高效卸载方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Joint Optimization of Energy Consumption and Packet Scheduling for Mobile Edge Computing in Cyber-Physical Networks;YIBO YANG et al.;《SPECIAL SECTION ON CYBER-PHYSICAL-SOCIAL COMPUTING AND NETWORKING》;20180404;第1-11页 *
Joint Task Offloading Scheduling and Transmit Power Allocation for Mobile-Edge Computing Systems;Yuyi Mao et al.;《2017 IEEE Wireless Communications and Networking Conference(WCNC)》;20170511;第1-6页 *

Also Published As

Publication number Publication date
CN108920280A (zh) 2018-11-30

Similar Documents

Publication Publication Date Title
CN108920280B (zh) 一种单用户场景下的移动边缘计算任务卸载方法
CN113242568B (zh) 一种不确定网络环境中的任务卸载和资源分配方法
CN113950066B (zh) 移动边缘环境下单服务器部分计算卸载方法、系统、设备
CN110928654B (zh) 一种边缘计算系统中分布式的在线任务卸载调度方法
CN112882815B (zh) 基于深度强化学习的多用户边缘计算优化调度方法
CN109710336B (zh) 联合能量和延迟优化的移动边缘计算任务调度方法
CN112512056B (zh) 一种移动边缘计算网络中多目标优化的计算卸载方法
CN112380008B (zh) 一种面向移动边缘计算应用的多用户细粒度任务卸载调度方法
CN110798849A (zh) 一种超密网边缘计算的计算资源分配与任务卸载方法
CN109885397B (zh) 一种边缘计算环境中时延优化的负载任务迁移算法
CN109767117B (zh) 移动边缘计算中联合任务调度的功率分配方法
Shi et al. Toward energy-efficient federated learning over 5g+ mobile devices
CN111970154B (zh) 基于深度增强学习和凸优化的卸载决策及资源分配方法
CN111813506A (zh) 一种基于粒子群算法资源感知计算迁移方法、装置及介质
CN112214301B (zh) 面向智慧城市基于用户偏好的动态计算迁移方法及装置
CN114585006B (zh) 基于深度学习的边缘计算任务卸载和资源分配方法
CN114706631B (zh) 基于深度q学习的移动边缘计算中卸载决策方法及系统
CN115396953A (zh) 移动边缘计算中一种基于改进粒子群算法的计算卸载方法
CN114564304A (zh) 一种边缘计算的任务卸载方法
CN112256413A (zh) 基于物联网的边缘计算任务的调度方法和装置
CN113573363A (zh) 基于深度强化学习的mec计算卸载与资源分配方法
CN116366576A (zh) 算力网络资源调度方法、装置、设备及介质
Zhang et al. A deep reinforcement learning approach for online computation offloading in mobile edge computing
CN110768827B (zh) 一种基于群智能算法的任务卸载方法
CN117436485A (zh) 基于权衡时延和精度的多退出点的端-边-云协同系统及方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information

Inventor after: He Hui

Inventor after: Zhang Weizhe

Inventor after: Fang Binxing

Inventor after: Liu Chuanyi

Inventor after: Yu Xiangzhan

Inventor after: Liu Yawei

Inventor after: Liu Guoqiang

Inventor before: Zhang Weizhe

Inventor before: Fang Binxing

Inventor before: He Hui

Inventor before: Liu Chuanyi

Inventor before: Yu Xiangzhan

Inventor before: Liu Yawei

Inventor before: Liu Guoqiang

CB03 Change of inventor or designer information
GR01 Patent grant
GR01 Patent grant