CN113220356A - 一种移动边缘计算中的用户计算任务卸载方法 - Google Patents

一种移动边缘计算中的用户计算任务卸载方法 Download PDF

Info

Publication number
CN113220356A
CN113220356A CN202110314191.9A CN202110314191A CN113220356A CN 113220356 A CN113220356 A CN 113220356A CN 202110314191 A CN202110314191 A CN 202110314191A CN 113220356 A CN113220356 A CN 113220356A
Authority
CN
China
Prior art keywords
subtask
task
subtasks
unloading
edge
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.)
Granted
Application number
CN202110314191.9A
Other languages
English (en)
Other versions
CN113220356B (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.)
Nanjing University of Posts and Telecommunications
Original Assignee
Nanjing University of Posts and Telecommunications
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 Nanjing University of Posts and Telecommunications filed Critical Nanjing University of Posts and Telecommunications
Priority to CN202110314191.9A priority Critical patent/CN113220356B/zh
Publication of CN113220356A publication Critical patent/CN113220356A/zh
Application granted granted Critical
Publication of CN113220356B publication Critical patent/CN113220356B/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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44594Unloading
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

一种移动边缘计算中的用户计算任务卸载方法,适用于时延敏感应用程序的计算卸载。首先,根据子任务卸载的相关参数,构建有向无环任务关系图;接着,读取初始任务关系图的信息,确定任务卸载优先级和关键路径;然后,根据任务卸载和任务图更新策略,在能耗约束下,以最早完成时间算法,选择边缘服务器以及更新任务关系图,求得子任务完成时间和能耗;最后,求得总体完成时间和相应的卸载决策。本发明涉及包含多个顺序执行子任务的时延敏感计算任务的卸载,适用于多MEC服务器场景,本发明能够提高边缘服务器的利用率,同时保证各卸载任务的公平性和负载均衡性。

Description

一种移动边缘计算中的用户计算任务卸载方法
技术领域
本发明属于通信技术领域,具体涉及一种移动边缘计算中的用户 计算任务卸载方法。
背景技术
随着5G时代的到来,与5G技术相关的应用场景,如物联网、增 强现实、虚拟现实等日益受到人们的广泛关注。这些以时延敏感和计 算密集为主要特点的新兴业务对移动智能终端产生极大的挑战,由于 现有的移动智能终端其计算能力有限,如果终端自身执行这些的任务, 会导致较大的时延和能耗。于是,研究者们纷纷把目光聚焦于移动边 缘计算(Mobile Edge Computing,MEC),通过无线网络将终端任务 卸载到边缘服务器执行,大大降低任务的完成时间,以实现低时延、 低能耗信息服务的目标。
移动边缘计算卸载成为当前研究的热点,近年来,越来越多的学 者关注MEC卸载决策问题。目前我们将任务卸载模型划分为可拆分 任务卸载模型和不可拆分任务卸载模型,可拆分任务卸载模型指用户 可以将任务部分卸载或全部卸载,不可拆分任务卸载模型指的是用户 只能选择将任务全部本地处理或全部卸载给边缘服务器处理。目前可 拆分任务卸载模型下大都采用博弈论,但这种方法没有考虑应用程序 间的关联性,还有不少学者将有先后顺序依赖关系的任务用有向无环 图(Directed Acyclic Graph,DAG)描述,但对时延优化较少,调度 效率不高并且负载不均衡,尚且满足不了时延敏感型应用的需求。虽然不可拆分任务卸载模型可以处理依赖性应用,但任务的完成时间却 远远不如可拆分任务卸载模型。
现有的专利文件中,如CN110928654A公开的一种边缘计算系统 中分布式的在线任务卸载调度方法,其基于计算任务的异构性和随机 性,移动智能设备和边缘服务器的计算资源有限性,以及移动智能设 备的能耗问题,针对具有三层体系结构的边缘计算系统提出一个任务 卸载调度算法,使得所有任务的平均完成时延最小化,但并未考虑计 算任务的前后顺序依赖关系;另如CN109992419A公开的一种优化的 协同边缘计算低延迟任务分配卸载方法,也仅是将任务划分为子任务 后,分别求得各个子任务的传输和计算的总时延,再求得整个任务总 时延最低时的卸载最优解,也并未考虑计算任务的依赖关系,同时实 现过程中计算求解任务繁重,极易出错,实现效果并不理想。
发明内容
为了减少计算卸载时延,本发明提出一种移动边缘计算中的用户 计算任务卸载方法。该方法针对有先后顺序依赖关系的应用,结合 DAG,将不同子任务卸载到边缘服务器,大大降低整体任务的完成 时间,同时保证用户的公平性和负载均衡性。
一种移动边缘计算中的用户计算任务卸载方法,包括如下步骤:
步骤1,定义边缘计算服务器集合,并用户的应用程序划分子任 务,得到子任务集合;
步骤2,计算子任务卸载的相关参数,即完成每个子任务所需要 的时延和能耗。
步骤3,构建任务关系图,建立其与待卸载子任务之间的联系, 得到初始任务关系图;
步骤4,根据步骤3构建的初始任务关系图,开始进行子任务在 不同边缘服务器上的计算卸载过程,包括任务关系图的更新和边缘服 务器的选择,转入步骤5;
步骤5,读取初始任务关系图中子任务节点和各有向边的权值, 计算子任务的执行时间方差和子任务之间的通信时延,同时考虑子任 务间的内在执行顺序,对各子任务赋予卸载优先级;
步骤6,根据步骤5计算的通信时延,求出关键路径,该关键路 径定义为从入口节点到出口节点的最长路径;
步骤7,进行任务卸载与任务关系图更新策略:对当前子任务, 判断其前驱节点是否关键路径上的子任务节点,并且满足任务复制卸 载条件;若不满足则在能耗约束下,根据最早完成时间算法选择边缘 服务器,并在此边缘服务器上计算执行;否则,首先根据最早完成时 间算法选择边缘服务器,然后将当前子任务的前驱子任务节点,即关 键路径上的节点的内容复制到当前子任务选择的服务器中,与当前子 任务的内容一并计算执行;删除其前驱子任务节点,更新任务关系图, 保留该子任务的计算结果,同时计算子任务开始执行时间,子任务完 成时间以及卸载决策向量;
步骤8,同时进行应用程序本地计算和边缘计算,子任务集合中 的子任务卸载完成后求出总体完成时间和相应的卸载决策。
进一步地,步骤1中,定义边缘计算服务器集合为S={s1,s2...sj...sN}∪{s0},其中N表示边缘服务器的数量,s0表示本地处 理器;服务器sj的计算能力用fj表示,j∈{0,1...j...N},其中f0表示本 地处理器的计算能力。用户的应用程序划分为M个子任务,子任务集 合为V={v1,v2...vi...vM},其中i表示子任务的标号。每个子任务vi的计算 任务属性表示为Ti={mi,ci,ai},其中mi表示该子任务的数据量大小,ci表示完成任务vi所需要的CPU周期数,ai表示卸载决策, a=(a1,a2...ai...aM)表示M个子任务的卸载决策向量。
进一步地,步骤2中,计算完成每个子任务所需要的时延和能耗, 包括如下步骤:
步骤2a,计算用户和边缘服务器j之间的上行数据速率如 下:
Figure BDA0002990444300000041
其中B为信道带宽,qi为传输功 率,gi,j为子任务vi与边缘服务器sj之间的信道增益,ω为噪声功率,
Figure BDA0002990444300000042
为来自相同服务器的干扰。
步骤2b,本地计算:
本地计算执行时间为
Figure BDA0002990444300000043
本地能耗为
Figure BDA0002990444300000044
其中δl为终 端每个CPU周期的能耗。
步骤2c,边缘计算:
边缘计算执行时间为ti,j=ci/fj,因此为了简化,结合本地计算执 行时间,任务执行时间ti,j=ci/fj,j=0时为本地计算。传输时间为 ωi,j=mi/ri,j(a);传输能耗为ei,j=qimi/ri,j(a)。
进一步地,步骤3中,根据待卸载子任务的先后顺序依赖关系, 构建一个有向无环任务关系图G={V,E},描述各个子任务的依赖关系, 其中E表示具有先后顺序依赖关系的子任务间的有向边集合,其权值 表示两个子任务间的通信数据量,根据步骤2中的相关参数,计算图 G子任务节点和各有向边的权值。
进一步地,步骤3构建任务关系图,包括如下步骤:将应用程序 分割成若干个子任务,根据子任务的先后顺序依赖关系,将整个应用 程序的所有子任务构建成只有一个起点和一个终点的有向无环图,其 中指向表示两子任务之间的先后顺序依赖关系,同时指向上标记两子 任务之间通信的数据量大小。
进一步地,步骤5子任务卸载优先级排序,包括如下步骤:
步骤5a,计算得到子任务vi的平均执行时间:
Figure BDA0002990444300000051
然后得到子任务vi的平均执行时间方差为
Figure BDA0002990444300000052
同 时计算子任务vi和vi′的通信时间:
Figure BDA0002990444300000053
其 中Bjj″表示服务器sj和sj′之间的带宽,eii′表示子任务vi和vi′间通信的数 据量;
步骤5b,根据步骤5a计算得到的参数求子任务vi的卸载优先级
Figure BDA0002990444300000054
其中succ(i)表示子任务vi的后继任 务组成的集合,Cii′表示子任务vi和vi′的通信时间;按降序顺序对所有 子任务的rank(i)值进行排序,即rank(i)值大的子任务优先卸载。
进一步地,步骤6所述关键路径的寻找方法,包括如下步骤:
步骤6a,定义
Figure BDA0002990444300000055
以及
Figure BDA0002990444300000061
其中ranku(i)表示从入口节点计算子 任务vi的升秩值,rankd(i)表示从出口节点计算子任务vi的降秩值, succ(i)表示子任务vi的后继任务组成的集合,pred(i)表示子任务vi的前 驱任务组成的集合;
步骤6b,计算任务关系图中所有子任务的ranku(i)和rankd(i)值, 根据ranku(i)+rankd(i)找到关键路径上的子任务节点。
进一步地,步骤7任务卸载与任务关系图更新策略,包括如下步 骤:
步骤7a,首先选取当前任务关系图中具有最大rank(i)值的子任务, 判断其前驱节点是否关键路径上的子任务节点,并且若满足任务复制 卸载条件,即要满足不等式AFT(i,j)>AFT(i,j)′,其中AFT(i,j)表示子 任务vi卸载到边缘服务器sj上计算执行所需的时间,AFT(i,j)′表示将 前驱节点复制卸载后,计算执行子任务vi所需的时间;
步骤7b,若条件不成立,则在能耗约束下,根据最小的AFT(i,j) 将当前子任务vi卸载到对应的边缘服务器sj上,并在此边缘服务器上 计算执行;删除其前驱子任务节点,更新任务关系图,保留该子任务 的计算结果,同时计算子任务开始执行时间AST(i,j),子任务完成时 间AFT(i,j),以及卸载决策向量a;
步骤7c,若条件成立,首先在能耗约束下根据AFT(i,j)选择边缘 服务器,然后将当前子任务的前驱子任务节点,关键路径上的节点的 内容复制到当前子任务选择的服务器中,与当前子任务的内容一并计 算执行;删除其前驱子任务节点,更新任务关系图,保留该子任务的 计算结果,同时更新AST(i,j),AFT(i,j)和卸载决策向量a。
进一步地,步骤8所述计算最终完成时间,包括如下步骤:
步骤8a,计算得到子任务最早开始执行时间:
Figure BDA0002990444300000071
其中i和i′是子任务的标号, j和j′是边缘服务器的标号,avail{i,j}是边缘服务器或本地设备sj准 备好执行任务的最早时间,即边缘服务器sj空闲,并且空闲时隙足够 长以插入子任务i以供执行的最早时间;
Figure BDA0002990444300000072
是子任务vi和vi′ 的在不同服务器上的数据交换时间,当j=j′时,
Figure BDA0002990444300000073
步骤8b,计算子任务最终完成时间:AFT(i,j)=min(ti,j+AST(i,j)); 重复步骤7和步骤8,直到卸载完所有任务即可求得最终完成时间, 对应的最佳卸载方案保存在向量a中。
本发明与现有技术相比具有如下优点:
1、本发明将应用程序视为可拆分计算卸载,与不可拆分模型相 比,大大降低了任务完成时间,更有利于用户做出适合自己行为的选 择,同时一定程度上提高了边缘服务器的利用率。
2、本发明在计算卸载的同时考虑能耗约束以实现低时延、低能 耗信息服务的目标。
3、本发明的任务排序方面采用执行时间的二次方差作为排序依 据更能区分依赖性任务的执行顺序,任务调度方面进行任务复制卸载 减少了通信成本,进一步降低了任务完成时间,同时保证各卸载任务 的公平性和负载均衡性。
附图说明
图1是本发明实施例中的网络模型图。
图2是本发明实施例中任务关系图的建立示意图。
图3是本发明实施例中任务关系图的更新示意图。
图4是本发明实施例中方法的实施流程框图。
图5是本发明实施例中任务完成时间随边缘服务器数量变化的仿 真结果图。
具体实施方式
下面结合说明书附图对本发明的技术方案做进一步的详细说明。
参见图5,本方法的具体实现步骤如下:
步骤1、定义边缘计算服务器集合为S={s1,s2...sj...sN}∪{s0},其中N 表示边缘服务器的数量,s0表示本地处理器;服务器sj的计算能力用 fj表示,j∈{0,1...j...N},其中f0表示本地处理器的计算能力。用户的 应用程序划分为M个子任务,子任务集合为V={v1,v2...vi...vM},其中i表 示子任务的标号。每个子任务vi的计算任务属性表示为Ti={mi,ci,ai}, 其中mi表示该子任务的数据量大小,ci表示完成任务vi所需要的CPU 周期数,ai表示卸载决策,a=(a1,a2...ai...aM)表示M个子任务的卸载决 策向量。
步骤2、计算子任务卸载的相关参数,求出完成每个子任务所需 要的时延和能耗。
2a)计算用户和边缘服务器j之间的上行数据速率如 下:
Figure BDA0002990444300000081
其中B为信道带宽,qi为传输功 率,gi,j为子任务vi与边缘服务器sj之间的信道增益,ω为噪声功率,
Figure BDA0002990444300000091
为来自相同服务器的干扰。
2b)本地计算:
本地计算执行时间为
Figure BDA0002990444300000092
本地能耗为
Figure BDA0002990444300000093
其中δl为终 端每个CPU周期的能耗。
2c)边缘计算:
边缘计算执行时间为ti,j=ci/fj,因此为了简化,结合本地计算执 行时间,任务执行时间ti,j=ci/fj,j=0时为本地计算。传输时间为 ωi,j=mi/ri,j(a);传输能耗为ei,j=qimi/ri,j(a)。
步骤3、构建任务关系图,建立其与待卸载子任务之间的联系。
根据待卸载子任务的先后顺序依赖关系,构建一个有向无环任务 关系图G={V,E},描述各个子任务的依赖关系,其中E表示具有先后 顺序依赖关系的子任务间的有向边集合,其权值表示两个子任务间的 通信数据量。根据步骤2中的相关参数,计算图G子任务节点和各有 向边的权值。
3a)有向无环任务关系图的构建:将应用程序分割成若干个子任 务,根据子任务的先后顺序依赖关系,将整个应用程序的所有子任务 构建成只有一个起点和一个终点的有向无环图,举例如图2所示。
3b)v1表示该应用程序的初始子任务,v7表示该应用程序的结束 子任务。箭头两边的任务节点表示两者的先后顺序依赖关系,如 v1→v2表示v1执行完才能执行v2,v2的执行依赖于v1发送的数据; e12=(v1,v2)=10表示v1v2间通信的数据量大小。
步骤4、根据步骤3构建的初始任务关系图,步骤5—步骤8详 细说明子任务在不同边缘服务器上的计算卸载过程,包括任务关系图 的更新和边缘服务器的选择。
步骤5、读取图G子任务节点和各有向边的权值,计算子任务的 执行时间方差和子任务之间的通信时延,同时考虑子任务间的内在执 行顺序,对各子任务赋予卸载优先级。
5a)计算所有任务的执行时间方差:子任务vi的平均执行时间
Figure BDA0002990444300000101
子任务vi的平均执行时间方差为
Figure BDA0002990444300000102
子任务vi和vi′的通信时间:
Figure BDA0002990444300000103
其中Bjj″ 表示服务器sj和sj′之间的带宽,eii′表示子任务vi和vi′间通信的数据 量。
5b)根据5a)的相关公式求子任务vi的卸载优先级
Figure BDA0002990444300000104
其中succ(i)表示子任务vi的后继任务组 成的集合,Cii′表示子任务vi和vi′的通信时间。按降序顺序对所有子任 务的rank(i)值进行排序,即rank(i)值大的子任务优先卸载。
步骤6、根据步骤5计算的通信时延,求出关键路径。其中关键 路径定义为从入口节点到出口节点的最长路径。
6a)定义
Figure BDA0002990444300000105
Figure BDA0002990444300000106
其中ranku(i)表示从入口节点计算子任 务vi的升秩值,rankd(i)表示从出口节点计算子任务vi的降秩值,succ(i) 表示子任务vi的后继任务组成的集合,pred(i)表示子任务vi的前驱任 务组成的集合。
6b)计算图G中所有子任务的ranku(i)和rankd(i)值,根据 ranku(i)+rankd(i)找到关键路径上的子任务节点。
步骤7、任务卸载与图G更新策略:对当前子任务,判断其前驱 节点是否关键路径上的子任务节点,并且满足任务复制卸载条件。若 不满足,则在能耗约束下,根据最早完成时间算法选择边缘服务器, 并在此边缘服务器上计算执行;否则,首先根据最早完成时间算法选 择边缘服务器,然后将当前子任务的前驱子任务节点(关键路径上的 节点)内容复制到当前子任务选择的服务器中,与当前子任务的内容 一并计算执行。删除其前驱子任务节点,更新任务关系图,保留该子 任务的计算结果,同时计算子任务开始执行时间,子任务完成时间以 及卸载决策向量。
7a)首先选取当前图G中具有最大rank(i)值的子任务,判断其前 驱节点是否关键路径上的子任务节点,并且若满足任务复制卸载条件, 即要满足不等式AFT(i,j)>AFT(i,j)′,其中AFT(i,j)表示子任务vi卸载 到边缘服务器sj上计算执行所需的时间,AFT(i,j)′表示将前驱节点复 制卸载后,计算执行子任务vi所需的时间。若条件不成立,则在能耗 约束下,根据最小的AFT(i,j)将当前子任务vi卸载到对应的边缘服务 器sj上,并在此边缘服务器上计算执行。删除其前驱子任务节点,更 新任务关系图,保留该子任务的计算结果,同时计算子任务开始执行 时间AST(i,j),子任务完成时间AFT(i,j),以及卸载决策向量a。
7b)若条件成立,首先在能耗约束下根据AFT(i,j)选择边缘服务 器,然后将当前子任务的前驱子任务节点(关键路径上的节点)内容 复制到当前子任务选择的服务器中,与当前子任务的内容一并计算执 行。删除其前驱子任务节点,更新任务关系图,保留该子任务的计算 结果,同时更新AST(i,j),AFT(i,j)和卸载决策向量a。
7c)图G更新策略示例:根据图2,更新第一个关键路径上的子 任务卸载之后的图G。假设该图的关键路径为v1→v4→v5→v7。v1的后 继任务有v2,v3,v4,若v1→v2和v1→v4满足复制卸载条件,v1→v3不 满足复制卸载条件,则更新图G如图3中的(b)所示,即将v1复制卸载到v2,v4所处的服务器上,而v1→v3不变。v1卸载执行完,把v1的计 算结果传给不满足复制卸载条件的任务v3后,即可删除v1。更新结果 如图3的(c)所示,其中v3(v1)表示包含v1计算结果的v3。接着卸载 关键路径上的下一个子任务节点v4,继续更新图G,直到完成所有子 任务。根据此更新策略得到图G的更新:b→c→d→e→f→g。
步骤8、同时进行应用程序本地计算和边缘计算,系统中M个子 任务卸载完成后求出总体完成时间和相应的卸载决策。
8a)子任务最早开始执行时间:
Figure BDA0002990444300000121
其中i和i′是子任务的标号, j和j′是边缘服务器的标号,avail{i,j}是边缘服务器(或本地设备)sj准 备好执行任务的最早时间,即边缘服务器sj空闲并且空闲时隙足够长 以插入子任务i以供执行的最早时间。
Figure BDA0002990444300000122
是子任务vi和vi′的 在不同服务器上的数据交换时间,当j=j′时,
Figure BDA0002990444300000123
8b)子任务最终完成时间:AFT(i,j)=min(ti,j+AST(i,j))。重复步 骤7和步骤8,直到卸载完所有任务即可求得最终完成时间,对应的 最佳卸载方案保存在向量a中。
本发明的效果可通过以下仿真进一步验证。
1.实验场景:
随机生成一些DAG,每个子任务需要的CPU周期数从100M到 500M。子任务的大小在[500,1500]KB,终端的处理能力为50MHz, 边缘服务器在[250,1000]MHz。每个应用程序子任务个数为25,边 缘服务器个数在1到20个。
2.实验内容与结果:
图5是仿真结果,横坐标是边缘服务器的数量,纵坐标是任务完 成时间,PGOA是采用博弈论的方法将任务不划分卸载,实验是仿真 一个应用程序,因此是一个定值。DEFO是可划分卸载,但本文方法 明显优于DEFO,因为本文通过任务复制卸载大大降低了通信成本。
以上所述仅为本发明的较佳实施方式,本发明的保护范围并不以 上述实施方式为限,但凡本领域普通技术人员根据本发明所揭示内容 所作的等效修饰或变化,皆应纳入权利要求书中记载的保护范围内。

Claims (9)

1.一种移动边缘计算中的用户计算任务卸载方法,其特征在于:所述方法包括如下步骤:
步骤1,定义边缘计算服务器集合,并将用户的应用程序划分子任务,得到子任务集合;
步骤2,计算子任务卸载的相关参数,即完成每个子任务所需要的时延和能耗;
步骤3,构建任务关系图,建立其与待卸载子任务之间的联系,得到初始任务关系图;
步骤4,根据步骤3构建的初始任务关系图,开始进行子任务在不同边缘服务器上的计算卸载过程,包括任务关系图的更新和边缘服务器的选择,转入步骤5;
步骤5,读取初始任务关系图中子任务节点和各有向边的权值,计算子任务的执行时间方差和子任务之间的通信时延,同时考虑子任务间的内在执行顺序,对各子任务赋予卸载优先级;
步骤6,根据步骤5计算的通信时延,求出关键路径,该关键路径定义为从入口节点到出口节点的最长路径;
步骤7,进行任务卸载与任务关系图更新策略:对当前子任务,判断其前驱节点是否关键路径上的子任务节点,并且满足任务复制卸载条件;若不满足则在能耗约束下,根据最早完成时间算法选择边缘服务器,并在此边缘服务器上计算执行;否则,首先根据最早完成时间算法选择边缘服务器,然后将当前子任务的前驱子任务节点,即关键路径上的节点的内容复制到当前子任务选择的服务器中,与当前子任务的内容一并计算执行;删除其前驱子任务节点,更新任务关系图,保留该子任务的计算结果,同时计算子任务开始执行时间,子任务完成时间以及卸载决策向量;
步骤8,同时进行应用程序本地计算和边缘计算,子任务集合中的子任务卸载完成后求出总体完成时间和相应的卸载决策。
2.根据权利要求1所述的一种移动边缘计算中的用户计算任务卸载方法,其特征在于:步骤1中,定义边缘计算服务器集合为S={s1,s2...sj...sN}∪{s0},其中N表示边缘服务器的数量,s0表示本地处理器;服务器sj的计算能力用fj表示,j∈{0,1...j...N},其中f0表示本地处理器的计算能力。用户的应用程序划分为M个子任务,子任务集合为V={v1,v2...vi...vM},其中i表示子任务的标号。每个子任务vi的计算任务属性表示为Ti={mi,ci,ai},其中mi表示该子任务的数据量大小,ci表示完成任务vi所需要的CPU周期数,ai表示卸载决策,a=(a1,a2...ai...aM)表示M个子任务的卸载决策向量。
3.根据权利要求1所述的一种移动边缘计算中的用户计算任务卸载方法,其特征在于:步骤2中,计算完成每个子任务所需要的时延和能耗,包括如下步骤:
步骤2a,计算用户和边缘服务器j之间的上行数据速率如下:
Figure FDA0002990444290000021
其中B为信道带宽,qi为传输功率,gi,j为子任务vi与边缘服务器sj之间的信道增益,ω为噪声功率,
Figure FDA0002990444290000022
为来自相同服务器的干扰。
步骤2b,本地计算:
本地计算执行时间为
Figure FDA0002990444290000031
本地能耗为
Figure FDA0002990444290000032
其中δl为终端每个CPU周期的能耗。
步骤2c,边缘计算:
边缘计算执行时间为ti,j=ci/fj,因此为了简化,结合本地计算执行时间,任务执行时间ti,j=ci/fj,j=0时为本地计算。传输时间为ωi,j=mi/ri,j(a);传输能耗为ei,j=qimi/ri,j(a)。
4.根据权利要求1所述的一种移动边缘计算中的用户计算任务卸载方法,其特征在于:步骤3中,根据待卸载子任务的先后顺序依赖关系,构建一个有向无环任务关系图G={V,E},描述各个子任务的依赖关系,其中E表示具有先后顺序依赖关系的子任务间的有向边集合,其权值表示两个子任务间的通信数据量,根据步骤2中的相关参数,计算图G子任务节点和各有向边的权值。
5.根据权利要求3所述的一种移动边缘计算中的用户计算任务卸载方法,其特征在于:步骤3构建任务关系图,包括如下步骤:将应用程序分割成若干个子任务,根据子任务的先后顺序依赖关系,将整个应用程序的所有子任务构建成只有一个起点和一个终点的有向无环图,其中指向表示两子任务之间的先后顺序依赖关系,同时指向上标记两子任务之间通信的数据量大小。
6.根据权利要求1所述的一种移动边缘计算中的用户计算任务卸载方法,其特征在于:步骤5子任务卸载优先级排序,包括如下步骤:
步骤5a,计算得到子任务vi的平均执行时间:
Figure FDA0002990444290000041
然后得到子任务vi的平均执行时间方差为
Figure FDA0002990444290000042
同时计算子任务vi和vi′的通信时间:
Figure FDA0002990444290000043
其中Bjj″表示服务器sj和sj′之间的带宽,eii′表示子任务vi和vi′间通信的数据量;
步骤5b,根据步骤5a计算得到的参数求子任务vi的卸载优先级
Figure FDA0002990444290000044
其中succ(i)表示子任务vi的后继任务组成的集合,Cii′表示子任务vi和vi′的通信时间;按降序顺序对所有子任务的rank(i)值进行排序,即rank(i)值大的子任务优先卸载。
7.根据权利要求1所述的一种移动边缘计算中的用户计算任务卸载方法,其特征在于:步骤6所述关键路径的寻找方法,包括如下步骤:
步骤6a,定义
Figure FDA0002990444290000045
以及
Figure FDA0002990444290000046
其中ranku(i)表示从入口节点计算子任务vi的升秩值,rankd(i)表示从出口节点计算子任务vi的降秩值,succ(i)表示子任务vi的后继任务组成的集合,pred(i)表示子任务vi的前驱任务组成的集合;
步骤6b,计算任务关系图中所有子任务的ranku(i)和rankd(i)值,根据ranku(i)+rankd(i)找到关键路径上的子任务节点。
8.根据权利要求1所述的一种移动边缘计算中的用户计算任务卸载方法,其特征在于:步骤7任务卸载与任务关系图更新策略,包括如下步骤:
步骤7a,首先选取当前任务关系图中具有最大rank(i)值的子任务,判断其前驱节点是否关键路径上的子任务节点,并且若满足任务复制卸载条件,即要满足不等式AFT(i,j)>AFT(i,j)′,其中AFT(i,j)表示子任务vi卸载到边缘服务器sj上计算执行所需的时间,AFT(i,j)′表示将前驱节点复制卸载后,计算执行子任务vi所需的时间;
步骤7b,若条件不成立,则在能耗约束下,根据最小的AFT(i,j)将当前子任务vi卸载到对应的边缘服务器sj上,并在此边缘服务器上计算执行;删除其前驱子任务节点,更新任务关系图,保留该子任务的计算结果,同时计算子任务开始执行时间AST(i,j),子任务完成时间AFT(i,j),以及卸载决策向量a;
步骤7c,若条件成立,首先在能耗约束下根据AFT(i,j)选择边缘服务器,然后将当前子任务的前驱子任务节点,关键路径上的节点的内容复制到当前子任务选择的服务器中,与当前子任务的内容一并计算执行;删除其前驱子任务节点,更新任务关系图,保留该子任务的计算结果,同时更新AST(i,j),AFT(i,j)和卸载决策向量a。
9.根据权利要求1所述的一种移动边缘计算中的用户计算任务卸载方法,其特征在于:步骤8所述计算最终完成时间,包括如下步骤:
步骤8a,计算得到子任务最早开始执行时间:
Figure FDA0002990444290000051
其中i和i′是子任务的标号,j和j′是边缘服务器的标号,avail{i,j}是边缘服务器或本地设备sj准备好执行任务的最早时间,即边缘服务器sj空闲,并且空闲时隙足够长以插入子任务i以供执行的最早时间;
Figure FDA0002990444290000061
是子任务vi和vi′的在不同服务器上的数据交换时间,当j=j′时,
Figure FDA0002990444290000062
步骤8b,计算子任务最终完成时间:AFT(i,j)=min(ti,j+AST(i,j));重复步骤7和步骤8,直到卸载完所有任务即可求得最终完成时间,对应的最佳卸载方案保存在向量a中。
CN202110314191.9A 2021-03-24 2021-03-24 一种移动边缘计算中的用户计算任务卸载方法 Active CN113220356B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110314191.9A CN113220356B (zh) 2021-03-24 2021-03-24 一种移动边缘计算中的用户计算任务卸载方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110314191.9A CN113220356B (zh) 2021-03-24 2021-03-24 一种移动边缘计算中的用户计算任务卸载方法

Publications (2)

Publication Number Publication Date
CN113220356A true CN113220356A (zh) 2021-08-06
CN113220356B CN113220356B (zh) 2023-06-30

Family

ID=77083926

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110314191.9A Active CN113220356B (zh) 2021-03-24 2021-03-24 一种移动边缘计算中的用户计算任务卸载方法

Country Status (1)

Country Link
CN (1) CN113220356B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114116050A (zh) * 2021-11-16 2022-03-01 天津市英贝特航天科技有限公司 一种边缘计算的选择性卸载方法及系统
CN114125863A (zh) * 2022-01-25 2022-03-01 南京智能信通科技发展有限公司 一种基于部分重叠信道的频谱和运算资源联合优化方法
CN115033373A (zh) * 2022-03-08 2022-09-09 西安电子科技大学 一种移动边缘计算网络中逻辑依赖性任务的调度卸载方法
KR20230032754A (ko) * 2021-08-31 2023-03-07 연세대학교 산학협력단 Mec 기반 무선 네트워크의 태스크 오프로딩 장치 및 방법
CN116521345A (zh) * 2023-05-18 2023-08-01 重庆邮电大学空间通信研究院 一种基于任务依赖关系的联合调度和卸载方法
CN116983617A (zh) * 2023-09-25 2023-11-03 深圳云天畅想信息科技有限公司 跨集群资源调度方法、计算机装置及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107301500A (zh) * 2017-06-02 2017-10-27 北京工业大学 一种基于关键路径任务前瞻的工作流调度方法
CN112380008A (zh) * 2020-11-12 2021-02-19 天津理工大学 一种面向移动边缘计算应用的多用户细粒度任务卸载调度方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107301500A (zh) * 2017-06-02 2017-10-27 北京工业大学 一种基于关键路径任务前瞻的工作流调度方法
CN112380008A (zh) * 2020-11-12 2021-02-19 天津理工大学 一种面向移动边缘计算应用的多用户细粒度任务卸载调度方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
韩云鹏: "边缘计算中面向异构密集无线网络的高效任务卸载策略研究", 《知网》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230032754A (ko) * 2021-08-31 2023-03-07 연세대학교 산학협력단 Mec 기반 무선 네트워크의 태스크 오프로딩 장치 및 방법
KR102562732B1 (ko) 2021-08-31 2023-08-01 연세대학교 산학협력단 Mec 기반 무선 네트워크의 태스크 오프로딩 장치 및 방법
CN114116050A (zh) * 2021-11-16 2022-03-01 天津市英贝特航天科技有限公司 一种边缘计算的选择性卸载方法及系统
CN114125863A (zh) * 2022-01-25 2022-03-01 南京智能信通科技发展有限公司 一种基于部分重叠信道的频谱和运算资源联合优化方法
CN115033373A (zh) * 2022-03-08 2022-09-09 西安电子科技大学 一种移动边缘计算网络中逻辑依赖性任务的调度卸载方法
CN116521345A (zh) * 2023-05-18 2023-08-01 重庆邮电大学空间通信研究院 一种基于任务依赖关系的联合调度和卸载方法
CN116521345B (zh) * 2023-05-18 2024-04-05 深圳点链科技有限公司 一种基于任务依赖关系的联合调度和卸载方法
CN116983617A (zh) * 2023-09-25 2023-11-03 深圳云天畅想信息科技有限公司 跨集群资源调度方法、计算机装置及存储介质
CN116983617B (zh) * 2023-09-25 2024-01-05 深圳云天畅想信息科技有限公司 跨集群资源调度方法、计算机装置及存储介质

Also Published As

Publication number Publication date
CN113220356B (zh) 2023-06-30

Similar Documents

Publication Publication Date Title
CN113220356A (zh) 一种移动边缘计算中的用户计算任务卸载方法
Chen et al. Energy-efficient task offloading and resource allocation via deep reinforcement learning for augmented reality in mobile edge networks
CN111756812B (zh) 一种能耗感知的边云协同动态卸载调度方法
CN113242568B (zh) 一种不确定网络环境中的任务卸载和资源分配方法
CN109561148B (zh) 边缘计算网络中基于有向无环图的分布式任务调度方法
Kuang et al. Offloading decision methods for multiple users with structured tasks in edge computing for smart cities
CN112512056B (zh) 一种移动边缘计算网络中多目标优化的计算卸载方法
CN112988345B (zh) 一种基于移动边缘计算的依赖型任务卸载方法及装置
CN110096362B (zh) 一种基于边缘服务器协作的多任务卸载方法
CN112181655A (zh) 一种移动边缘计算中基于混合遗传算法的计算卸载方法
CN111988787B (zh) 一种任务的网络接入和服务放置位置选择方法及系统
CN113626104B (zh) 边云架构下基于深度强化学习的多目标优化卸载策略
CN111711962A (zh) 一种移动边缘计算系统子任务协同调度方法
CN111565380A (zh) 车联网中基于noma-mec混合卸载方法
CN113867843A (zh) 一种基于深度强化学习的移动边缘计算任务卸载方法
Jiang et al. Research on new edge computing network architecture and task offloading strategy for Internet of Things
Chen et al. Joint optimization of task offloading and resource allocation via deep reinforcement learning for augmented reality in mobile edge network
Gao et al. Com-DDPG: A multiagent reinforcement learning-based offloading strategy for mobile edge computing
CN113741999B (zh) 一种基于移动边缘计算的面向依赖型任务卸载方法及装置
CN117579701A (zh) 一种移动边缘网络计算卸载方法及系统
CN111148155A (zh) 一种基于移动边缘计算的任务卸载方法
CN114980216B (zh) 基于移动边缘计算的依赖型任务卸载系统及方法
Li Optimization of task offloading problem based on simulated annealing algorithm in MEC
CN114615705B (zh) 一种基于5g网络下单用户资源分配策略方法
Wang et al. PSOGT: PSO and game theoretic based task allocation in mobile edge computing

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
GR01 Patent grant
GR01 Patent grant