移动边缘计算中基于相关性的优化任务卸载调度方法转让专利

申请号 : CN202110526175.6

文献号 : CN113296842B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 屈毓锛吴帆陈贵海

申请人 : 上海交通大学

摘要 :

一种移动边缘计算中基于相关性的优化任务卸载调度方法,利用不同计算任务之间具有相关性,通过基于相关性的优化任务调度卸载方法,将具有相关性的任务卸载到同一边缘服务器进行执行,能够使得所有任务总处理时延最小化。本发明整体解决了现有技术的未利用移动边缘计算中计算任务具有相关性的特性,使得未将具有相关性的多个计算任务卸载到同一边缘服务器执行,进而导致所有计算任务的总处理时延较大。

权利要求 :

1.一种移动边缘计算中的优化任务卸载调度方法,其特征在于,包括:步骤1)将不考虑相关性的任务卸载调度问题建模成关于任务卸载调度变量和计算资源分配变量的最小的优化问题,然后将该优化问题简化为只关于任务卸载调度变量的单变量优化问题,并进一步转化为关于服务部署变量的集合函数优化问题后,通过辅助算法得到任务卸载调度的初始值;

步骤2)将考虑相关性的任务迁移卸载调度问题建模成关于任务卸载调度变量和计算资源分配变量的最小的优化问题,然后根据任务卸载调度的初始值通过CoTask算法得到优化任务卸载调度策略;

所述的CoTask算法,具体步骤包括:

0 0

1)根据 计算F ,其中:Z 为辅助算法计算得到的任务卸载调度方案;

0 0

2)初始化Z和F为Z和F,取L为G(Z,F),即总时延;

3)初始化变量j1=1,当j1≤M‑1时,重复步骤4到步骤16,否则跳到步骤17;

4)初始化变量j2=j1+1,当j2≤M时,重复步骤5到步骤15,否则跳到步骤16;

5)令集合Γ1和集合Γ2分别为在任务卸载策略Z下被卸载到边缘节点j1和j2的任务集合;

6)当集合Γ1和集合Γ2都不为空集,则继续进行步骤5,否则跳到步骤15;

7)列举集合Γ1中的元素为 列举集合Γ2中的元素为

8)初始化变量k1=1,当k1≤|Γ1|时,重复步骤9到步骤14,否则跳到步骤15;

9)初始化变量k2=1,当k2≤|Γ2|时,重复步骤10到步骤13,否则跳到步骤14;

10)当任务 和集合 中的某个任务有相关性或者任务 和集合 中的任一任务有相关性,则令Z’=Z,并且在Z’中令

11)根据 计算F′,并计算L′=G(Z′,F′);

12)当L′<L,则令Z=Z’,F=F’,L=L′;

13)更新k2=k2+1;

14)更新k1=k1+1;

15)更新j2=j2+1;

16)更新j1=j1+1;

17)返回算法结果Z和F,根据Z和F的值来进行任务卸载和计算资源分配;

所述的关于任务卸载调度变量和计算资源分配变量的最小的优化问题是指:优化目标:总时延

限制条件: 其中:i为任务的序号,N为所有任务的集合,j为边缘节点的序号,M为所有边缘节点的集合,zij表示是否将任务i卸载到边缘节点j的标识变量:zij=1为将任务i卸载到边缘节点j,zij=0为不卸载,即,zij代表了任务卸载的方案,fij为将边缘节点j分配给任务i的计算资源的比例,di为将任务i的输入数据大小,Bj为边缘节点j的频谱带宽,ηij为任务i所在的用户与边缘节点j之间的信噪比,wi为任务i的工作负载,Cj为边缘节点j的计算速度;

所述的简化是指:只关于任务卸载变量的单变量优化问题,具体为:优化目标:总时延

限制条件:

所述的集合函数优化问题是指:通过构建任务卸载调度集合S和任务卸载调度变量zij之间的关系,即:S={(i,j)|zij=1,i∈N,j∈M},将目标函数为H(S),再将对变量zij的约束转化为对集合S的约束 其中:1(i,j)∈S为指示函数,当(i,j)∈S成立时函数值为1,否则为0;约束 为拟阵约束,为τ,取函数

所述的辅助算法,具体步骤包括:i)初始化集合S1为任意的最大可行任务卸载调度集合,取全集初始化参数ε为大于零的某值,其中:i表示任务的序号,N表示所有任务的集合,j表示边缘节点的序号,M表示所有边缘节点的集合;集合中的元素(i,j)表示将任务i卸载到边缘节点j;

ii)当集合U\S1和集合S1中分别存在元素e和e′使得(S1\{e′})∪{e}是可行解而且时,重复步骤iii,否则跳到步骤iv;

iii)更新S1为(S1\{e′})∪{e};

iv)取 然后令集合S2={u},初始化布尔变量q为true;

v)当布尔变量q为true时,重复步骤vi,vii,viii,否则跳到步骤viii;

vi)令布尔变量q为false;

vii)当在集合S2中存在元素e,使得 则更新集合S2为(S2\{e})并且令布尔变量q为true,其中:|N|表示任务的数量,|M|表示边缘节点的数量;

viii)当在集合(U\S1)\S2中存在元素e而且在集合 中存在元素e′,使得S1∪(S2\{e′})∪{e}∈τ,而且 则更新集合S2为(S2\{e′})∪{e}并且令布尔变量q为true,其中:表示空集,|N|表示任务的数量,|M|表示边缘节点的数量;

ix)在集合U\S2中取两个最大可行集合,分别为B1和B2;

x)在集合S1,S2∪B1和S2∪B2中取使得函数 最大的集合,作为最终结果xi)对于集合 得到对应的任务卸载调度方案;

所述的关于任务卸载调度变量和计算资源分配变量的最小的优化问题是指:优化目标:总时延

限制条件: 其中:i为任务的序号,N为所有任务的集合,j为边缘节点的序号,M为所有边缘节点的集合,zij为是否将任务i卸载到边缘节点j的标识变量:zij=1表示将任务i卸载到边缘节点j,zij=0为不卸载,即zij代表了任务卸载的方案,fij表示将边缘节点j分配给任务i的计算资源的比例,di表示将任务i的输入数据大小,Bj为边缘节点j的频谱带宽,ηij为任务i所在的用户与边缘节点j之间的信噪比,wi为任务i的工作负载,Cj为边缘节点j的计算速度,g(i)为任务i所在的分组,Δwg(i)为分组g(i)中任务共享的工作量大小,记考虑相关性问题Q2的优化目标函数为G(Z,F)。

说明书 :

移动边缘计算中基于相关性的优化任务卸载调度方法

技术领域

[0001] 本发明涉及的是一种网络资源配置领域的技术,具体是一种移动边缘计算中基于相关性的优化任务卸载调度方法。

背景技术

[0002] 现阶段越来越多的新颖移动应用通常需要大量计算资源,对延迟敏感并且耗能高,这对资源受限且能源供应受限的移动设备提出了严峻的挑战。为了直接从网络边缘提
供云服务,最终用户可以将其计算密集型任务卸载到在蜂窝基站或无线接入点上实现的用
于远程执行的边缘服务器,即计算卸载。实际应用时,不同用户的计算任务可能高度相关。
可以利用潜在的任务相关性来增强移动边缘计算应用程序的性能。但现有技术中已经对移
动边缘计算中联合卸载决策和资源分配问题进行了广泛的研究,但其中大多数都没有考虑
多个任务之间的潜在相关性,因此未能抓住此机会来提高延迟性能。

发明内容

[0003] 本发明针对现有技术没有考虑移动边缘计算环境中的多个任务之间的潜在相关性,从而没有对任务执行的总时延进行进一步优化的不足,提出一种移动边缘计算中基于
相关性的优化任务卸载调度方法,利用多个任务之间的相关性,使得完成任务的总时延优
化到较低水平以及任务执行的总时延达到最小。
[0004] 本发明是通过以下技术方案实现的:
[0005] 本发明涉及一种移动边缘计算中的优化任务卸载调度方法,包括:
[0006] 步骤1)将不考虑相关性的任务卸载调度问题Q1建模成关于任务卸载调度变量和计算资源分配变量的最小的优化问题,然后将该优化问题简化为只关于任务卸载调度变量
的单变量优化问题,并进一步转化为关于服务部署变量的集合函数优化问题后,通过辅助
算法得到任务卸载调度的初始值;
[0007] 步骤2)将考虑相关性的任务迁移卸载调度问题Q2建模成关于任务卸载调度变量和计算资源分配变量的最小的优化问题,然后根据任务卸载调度的初始值通过CoTask算法
得到优化任务卸载调度策略。
[0008] 所述的关于任务卸载调度变量和计算资源分配变量的最小的优化问题是指:
[0009] 优化目标:总时延
[0010] 限制条件: 其中:i为任务的序号,N为所有任务的集合,j为边缘节点的序号,M为所有边缘节点的集合,zij表示是否将任务i卸载到边缘节点j
的标识变量:zij=1为将任务i卸载到边缘节点j,zij=0为不卸载,即,zij代表了任务卸载的
方案,fij为将边缘节点j分配给任务i的计算资源的比例,di为将任务i的输入数据大小,Bj
为边缘节点j的频谱带宽,ηij为任务i所在的用户与边缘节点j之间的信噪比,wi为任务i的
工作负载,Cj为边缘节点j的计算速度。
[0011] 所述的简化是指:只关于任务卸载变量的单变量优化问题,具体为:
[0012] 优化目标:总时延
[0013] 限制条件:
[0014] 所述的集合函数优化问题是指:通过构建任务卸载调度集合S和任务卸载调度变量zij之间的关系,即:S={(i,j)|zij=1,i∈N,j∈M},将目标函数为H(S),再将对变量zij的
约束 转化为对集合S的约束 其中:1(i,j)∈S
为指示函数,当(i,j)∈S成立时函数值为1,否则为0;约束 为拟阵
约束,为τ,取函数
[0015] 所述的辅助算法,具体步骤包括:
[0016] i)初始化集合S1为任意的最大可行任务卸载调度集合,取全集初始化参数ε为大于零的某值,其中:i表示任务的序号,N表示所有
任务的集合,j表示边缘节点的序号,M表示所有边缘节点的集合。集合中的元素(i,j)表示
将任务i卸载到边缘节点j。
[0017] ii)当集合U\S1和集合S1中分别存在元素e和e′使得(S1\{e′})∪{e}是可行解而且时,重复步骤iii,否则跳到步骤iv。
[0018] iii)更新S1为(S1\{e′})∪{e}。
[0019] iv)取 然后令集合S2={u},初始化布尔变量q为true。
[0020] v)当布尔变量q为true时,重复步骤vi,vii,viii,否则跳到步骤viii。
[0021] vi)令布尔变量q为false。
[0022] vii)当在集合S2中存在元素e,使得 则更新集合S2为(S2\{e})并且令布尔变量q为true,其中:|N|表示任务的数量,|M|表示边缘节点的数量。
[0023] viii)当在集合(U\S1)\S2中存在元素e而且在集合 中存在元素e′,使得S1∪(S2\{ee′})∪{e}∈τ,而且 则更新集合S2为
(S2\{e′})∪{e}并且令布尔变量q为true,其中:表示空集,|N|表示任务的数量,|M|表示
边缘节点的数量。
[0024] ix)在集合U\S2中取两个最大可行集合,分别为B1和B2。
[0025] x)在集合S1,S2∪B1和S2∪B2中取使得函数 最大的集合,作为最终结果
[0026] xi)对于集合 得到对应的任务卸载调度方案。
[0027] 所述的关于任务卸载调度变量和计算资源分配变量的最小的优化问题是指:
[0028] 优化目标:总时延
[0029] 限制条件: 其中:i为任务的序号,N为所有任务的集合,j为边缘节点的序号,M为所有边缘节点的集合,zij为是否将任务i卸载到边缘节点j的
标识变量:zij=1表示将任务i卸载到边缘节点j,zij=0为不卸载,即zij代表了任务卸载的
方案,fij表示将边缘节点j分配给任务i的计算资源的比例,di表示将任务i的输入数据大
小,Bj为边缘节点j的频谱带宽,ηij为任务i所在的用户与边缘节点j之间的信噪比,wi为任
务i的工作负载,Cj为边缘节点j的计算速度,g(i)为任务i所在的分组,Δwg(i)为分组g(i)
中任务共享的工作量大小,记考虑相关性问题Q2的优化目标函数为G(Z,F)。
[0030] 所述的基于相关性的优化任务调度卸载算法(以下简称为CoTask算法),具体步骤包括:
[0031] 1)根据 计算F0,其中:Z0为辅助算法计算得到的任务卸载调度方案;
[0032] 2)初始化Z和F为Z0和F0,取L为G(Z,F),即总时延;
[0033] 3)初始化变量j1=1,当j1≤M‑1时,重复步骤4到步骤16,否则跳到步骤17;
[0034] 4)初始化变量j2=j1+1,当j2≤M时,重复步骤5到步骤15,否则跳到步骤16;
[0035] 5)令集合Γ1和集合Γ2分别为在任务卸载策略Z下被卸载到边缘节点j1和j2的任务集合;
[0036] 6)当集合Γ1和集合Γ2都不为空集,则继续进行步骤5,否则跳到步骤15;
[0037] 7)列举集合Γ1中的元素为 列举集合Γ2中的元素为
[0038] 8)初始化变量k1=1,当k1≤|Γ1|时,重复步骤9到步骤14,否则跳到步骤15;
[0039] 9)初始化变量k2=1,当k2≤|Γ2|时,重复步骤10到步骤13,否则跳到步骤14;
[0040] 10)当任务 和集合 中的某个任务有相关性或者任务 和集合中的任一任务有相关性,则令Z′=Z,并且在Z′中令
[0041] 11)根据 计算F′,并计算L′=G(Z′,F′);
[0042] 12)当L′<L,则令Z=Z′,F=F′,L=L′;
[0043] 13)更新k2=k2+1;
[0044] 14)更新k1=k1+1;
[0045] 15)更新j2=j2+1;
[0046] 16)更新j1=j1+1;
[0047] 17)返回算法结果Z和F。根据Z和F的值来进行任务卸载和计算资源分配。
[0048] 技术效果
[0049] 本发明整体解决了现有技术的未利用移动边缘计算中计算任务具有相关性的特性,使得未将具有相关性的多个计算任务卸载到同一边缘服务器执行,进而导致所有计算
任务的总处理时延较大;
[0050] 与现有技术相比,本发明利用不同计算任务之间具有相关性,通过基于相关性的优化任务调度卸载方法,将具有相关性的任务卸载到同一边缘服务器进行执行,能够使得
所有任务总处理时延最小化。

附图说明

[0051] 图1为实施例应用示意图;
[0052] 图2为实施例效果示意图。

具体实施方式

[0053] 如图1所示,为本实施例涉及一种移动边缘计算中的优化任务卸载调度场景,基于一个拥有着50个边缘节点和100个用户的边缘计算网络,每个用户有一个任务需要执行,设
置边缘节点和用户的距离的取值范围为[20,100]m,每个用户的通信功率为100mW,信道增
益模型为3GPP,设置每个边缘节点的带宽为20MHz。每个任务的输入数据大小的取值范围为
[600,900]KB,任务每一比特所需要的计算资源的取值范围是[880,990]cycles/byte。每个
边缘节点的计算能力的取值范围是[10,20]GHz。
[0054] 本实施例具体包括以下步骤:
[0055] 第一步、调研任务i的输入数据大小为di,调研边缘节点j的频谱带宽为Bj,调研任务i所在的用户与边缘节点j之间的信噪比为ηij,调研任务i的工作负载为wi,调研边缘节点
j的计算速度为Cj,调研任务i所在的分组为g(i),调研分组g(i)中任务共享的工作量大小
为Δwg(i)。
[0056] 如图1所示,为解释这一标准的例子,图中有N个边缘节点,M个用户,可以通过无线网络将用户的任务卸载到边缘节点进行处理。
[0057] 第二步、建立关于任务卸载调度变量和计算资源分配变量的不考虑相关性的最小化的优化问题Q1,具体为:
[0058] 优化目标:总时延
[0059] 限制条件: 其中:i表示任务的序号,N表示所有任务的集合,j表示边缘节点的序号,M表示所有边缘节点的集合,zij表示是否将任务i卸载到
边缘节点j的标识变量:zij=1表示将任务i卸载到边缘节点j,zij=0表示不卸载,即,zij代
表了任务卸载的方案,fij表示将边缘节点j分配给任务i的计算资源的比例。
[0060] 第三步、将第二步中的优化问题转化为只关于任务卸载调度的单变量优化问题,可以解得计算资源分配的闭式最优解为 则原问题可以转化为只
关于任务卸载变量的单变量优化问题,具体为:
[0061] 优化目标:总时延
[0062] 限制条件:
[0063] 第四步、将第三步中的优化问题转化为关于任务卸载调度变量的集合函数优化问题,具体包括:
[0064] 构建任务卸载调度集合S和任务卸载调度变量zij之间的关系:S={(i,j)|zij=1,i∈N,j∈M},将目标函数为H(S),再将对变量zij的约束 转化为对集合
S的约束 其中:1(i,j)∈S为指示函数,当(i,j)∈S成立时函数值为
1,否则为0。约束 为拟阵约束,为τ。取函数
[0065] 第五步、通过辅助算法得到任务卸载调度变量的初始解,具体包括:
[0066] 5.1)初始化集合S1为任意的最大可行任务卸载调度集合,取全集初始化参数ε为大于零的某值,其中:i表示任务的序号,N表示所有
任务的集合,j表示边缘节点的序号,M表示所有边缘节点的集合。集合中的元素(i,j)表示
将任务i卸载到边缘节点j。
[0067] 5.2)当集合U\S1和集合S1中分别存在元素e和e′使得(S1\{e′})∪{e}是可行解而且 时,重复步骤5.3,否则跳到步骤5.4。
[0068] 5.3)更新S1为(S1\{e′})∪{e}。
[0069] 5.4)取 然后令集合S2={u},初始化布尔变量q为true。
[0070] 5.5)当布尔变量q为true时,重复步骤5.6、5.7、5.8,否则跳到步骤5.8。
[0071] 5.6)令布尔变量q为false。
[0072] 5.7)当在集合S2中存在元素e,使得 则更新集合S2为(S2\{e})并且令布尔变量q为true,其中:|N|表示任务的数量,|M|表示边缘节点的数量。
[0073] 5.8)当在集合(U\S1)\S2中存在元素e而且在集合 中存在元素e′,使得S1∪(S2\{e′})∪{e}∈τ,而且 则更新集合S2为(S2\
{e′})∪{e}并且令布尔变量q为true,其中:表示空集,|N|表示任务的数量,|M|表示边缘
节点的数量。
[0074] 5.9)在集合U\S2中取两个最大可行集合,分别为B1和B2。
[0075] 5.10)在集合S1,S2∪B1和S2∪B2中取使得函数 最大的集合,作为最终结果
[0076] 5.11)对于集合 得到对应的任务卸载调度变量Z。
[0077] 第六步、构建考虑相关性的关于任务卸载调度变量和计算资源分配变量的最小的优化问题Q2,具体为:
[0078] 优化目标:总时延
[0079] 限制条件: 其中:i表示任务的序号,N表示所有任务的集合,j表示边缘节点的序号,M表示所有边缘节点的集合。zij表示是否将任务i卸载到
边缘节点j的标识变量:zij=1表示将任务i卸载到边缘节点j,zij=0表示不卸载。即,zij代
表了任务卸载的方案。fij表示将边缘节点j分配给任务i的计算资源的比例。记考虑相关性
问题Q2的优化目标函数为G(Z,F)。
[0080] 第七步、通过CoTask算法得到任务卸载调度方案和计算资源分配方案,具体包括:
[0081] 7.1)运行辅助算法,将辅助算法的结果为Z0;
[0082] 7.2)根据 计算F0;
[0083] 7.3)初始化Z和F为Z0和F0,取L为G(Z,F),即总时延;
[0084] 7.4)初始化变量j1=1,当j1≤M‑1时,重复步骤7.5到步骤7.17,否则跳到步骤7.18;
[0085] 7.5)初始化变量j2=j1+1,当j2≤M时,重复步骤7.6到步骤7.16,否则跳到步骤7.17;
[0086] 7.6)令集合Γ1和集合Γ2分别为在任务卸载策略Z下被卸载到边缘节点j1和j2的任务集合;
[0087] 7.7)当集合Γ1和集合Γ2都不为空集,则继续进行步骤7.6,否则跳到步骤7.16;
[0088] 7.8)列举集合Γ1中的元素为 列举集合Γ2中的元素为
[0089] 7.9)初始化变量k1=1,当k1≤|Γ1|时,重复步骤7.10到步骤7.15,否则跳到步骤7.16;
[0090] 7.10)初始化变量k2=1,当k2≤|Γ2|时,重复步骤7.11到步骤7.14,否则跳到步骤7.15;
[0091] 7.11)当任务 和集合 中的某个任务有相关性或者任务 和集合中的某个任务有相关性,则令Z′=Z,并且在Z′中令
[0092] 7.12)根据 计算F′,并计算L′=G(Z′,F′);
[0093] 7.13)当L′<L,则令Z=Z′,F=F′,L=L′;
[0094] 7.14)更新k2=k2+1;
[0095] 7.15)更新k1=k1+1;
[0096] 7.16)更新j2=j2+1;
[0097] 7.17)更新j1=j1+1;
[0098] 7.18)返回算法结果Z和F。根据Z和F的值来进行任务卸载和计算资源分配。
[0099] 经过具体实际实验,本实施例在边缘节点的计算能力分别为10‑20GHz时,通过CoTask算法能够达到的总时延分别为32.9s,30.2s,28.5s,27.3s,26.3s和25.6s。
[0100] 如图2所示,为不同边缘节点的计算能力情况下总时延的示意图。本实施例中一共有五类任务,同一类任务会有共享的工作量。设置不考虑相关性的基础算法(NonCoTask)、
迭代优化算法(SDTO)、启发式算法(hJTORA)、半定松弛‑迭代优化‑序列调整算法(SDR‑AO‑
ST)作为对比项,一共取了6组进行对照,可以看出,在不同的边缘节点的计算能力的情况
下,本发明CoTask算法的性能明显优于其他的对比算法。具体来说,本发明CoTask算法的总
时延相对于不考虑相关性的基础算法、迭代优化算法、启发式算法、半定松弛‑迭代优化‑序
列调整算法分别降低了1652.6ms,3182.3ms,1681.8ms和1752.9ms。
[0101] 本发明使用了具有任务相关性意识的任务卸载调度优化方法来获取移动边缘计算任务卸载调度决策与相应的资源分配方案,其与现有常规技术手段,求解不考虑相关性
的凸优化问题最优解,其次,从上述最优解出发,在将所有具有相关性的任务卸载目的服务
器互换尝试后,如能进一步降低任务总时延,则更新相应的任务卸载调度决策与资源分配
方案,否则,继续进行上述互换尝试,直到所有任务都被轮询到。
[0102] 上述具体实施可由本领域技术人员在不背离本发明原理和宗旨的前提下以不同的方式对其进行局部调整,本发明的保护范围以权利要求书为准且不由上述具体实施所
限,在其范围内的各个实现方案均受本发明之约束。