一种车载边缘计算中针对时延优化的推理任务调度方法

文档序号:26641518发布日期:2021-09-15 00:28阅读:142来源:国知局
一种车载边缘计算中针对时延优化的推理任务调度方法

1.本发明涉及并行和分布式高性能计算领域的推理任务调度策略技术,尤其涉及一种车载边缘计算中针对时延优化的推理任务调度方法。


背景技术:

2.车联网作为5g场景下的关键应用场景,已然成为研究热点领域,未来发展前景毋庸置疑。其衍生的自动驾驶技术不仅可提高驾驶过程中的安全性,而且有利于解决城市中愈发严重的交通效率低下、车道拥塞等难题。然而,自动驾驶领域的探索也带来了执行时间要求更短等严峻的性能挑战。此前,对于自动驾驶而言,大多研究集中于如何将车辆驾驶过程中的交通状况识别等具体功能设计成推理任务。研究者较少关心自动驾驶的推理任务应被如何调度,往往任务仅由车辆自身执行,不可避免地产生高延迟情况。在车联网环境下引入移动边缘计算(mobile edge computing,mec)可将车载终端中数据量庞大的实时任务卸载到路边单元 (road side unit,rsu)配置的mec服务器,有效缓解车辆终端算力低下、存储资源匮乏等困境;与此同时,在边缘环境中对推理任务进行合理地调度可有效降低任务的执行时间,满足低延迟的约束。然而,不同的场景下任务结构不全相同,且边缘节点也存在性能差异,这使得如何设计合理的调度策略成为研究难题。
3.为解决边缘环境中任务如何进行调度的难题,国内外进行了大量研究:启发式算法目前在任务调度问题与协同任务方向应用广泛,基本原型如粒子群优化(pso),蚁群算法(aca),遗传算法(ga)等。这类方法可在约束条件下寻找到符合条件的可行解,但由于无法预计可行解与最优解之间的偏差,收敛速度较慢,在预计回合往往陷入局部最优解,较难满足低时延任务要求。因此近年来,部分研究者致力于利用强化学习思想解决边缘卸载问题,通过不断矫正可行解与更优解的偏差,不仅可以加快收敛速度,而且探索力较强,这些研究为车载边缘计算下的推理任务调度问题提供了新的解决方式。
4.单实时任务是多任务协同调度的基本单元。在过往学者研究中,车载边缘计算中的多车任务协同调度研究成果颇丰,然而关于具有数据依赖的单车推理任务调度研究仍存在薄弱。面对车载边缘计算中针对时延优化的推理任务调度问题,目前的研究工作在单车推理任务层面尚未形成一个完整有效的解决方案。


技术实现要素:

5.本发明的目的在于提供一种车载边缘计算中针对时延优化的推理任务调度方法,考虑不同时间片下智能车辆产生的推理任务结构差异以及车辆所处环境下边缘节点的动态变化情况,结合边缘计算,以优化车载推理任务执行时延。本发明具体考虑不同时间片中智能车辆产生的推理任务的拓扑结构差异以及边缘环境中边缘节点对调度处理时延的影响,有效降低车载边缘计算中推理任务的完成时间。
6.本发明采用的技术方案是:
7.一种车载边缘计算中针对时延优化的推理任务调度方法,其包括以下步骤:
8.步骤1,初始化恒定存储空间容量的经验池、随机权重为θ的动作

价值函数q
θ
(s
t
,a
t
)和对应的target

q
θ
(s
t
,a
t
),确定回合上限数和每回合迭代数;
9.步骤2,将动作状态s
t
还原为初始状态;
10.步骤3,以ε的概率选择历史奖励值最大的动作a
t
=argmaxq(s
t
,a,θ);或者在没有历史奖励值最大的动作时随机选择动作a
t
11.步骤4,执行动作a
t
得到下一个状态s
t+1
并计算奖励值t
all
为执行动作a
t
的完成时间;
12.步骤5,将(s
t
,s
t+1
,re
t
,a
t
)存入经验池,并下一个状态s
t+1
赋值给动作状态s
t

13.步骤6,经验池中随机抽样(s
j
,s
j+1
,re
j
,a
j
),根据误差函数反向传播更新参数θ,误差函数的表达式如下:
[0014][0015]
其中α
k
,γ分别表示学习速率、折扣因子,s'为第k次迭代中执行a
t
动作后的状态,a'表示状态s'下奖励值最大的动作,re
k
表示迭代过程中累积的奖励值;
[0016]
步骤7,判断s
t+1
是否满足终止状态时,是则结束本轮迭代并执行步骤9;否则,执行步骤8;
[0017]
步骤8,判断迭代次数是否大于每回合迭代数;是则,执行步骤9;否则,迭代次数加1 并执行步骤3;
[0018]
步骤9,判断回合次数是否大于回合上限数;是则,结束;否则,回合次数加1并执行步骤2。
[0019]
进一步地,步骤4的执行动作a
t
的完成时间t
all
的计算步骤如下:
[0020]
步骤4

1,设置数组i、子任务队列q,并将子任务的前驱节点集合r为
[0021]
步骤4

2,根据子任务间的时序约束关系g
i
设置数组i(i);
[0022]
步骤4

3,将数组i(i)=0,即无直接前驱任务的第i个子任务加入队列q,初始已遍历的子任务数u=0,并设置当前层中子任务数量k等于当前队列大小;
[0023]
步骤4

4,判断节点队列是否为空,是则,执行步骤4

8;否则,执行步骤4

5;
[0024]
步骤4

5,第i个子任务出队并标记为子任务v,已遍历的子任务数u加1,
[0025]
步骤4

6,获取所有子任务的前驱集合,用于制定子任务的执行顺序,步骤4

6具体包括以下步骤:
[0026]
步骤4
‑6‑
1,获取子任务总数z
i
,并设初始化任务i为0;
[0027]
步骤4
‑6‑
2,判断是否存在子任务v和任务i的有向边;是则,将子任务v及前驱集合r(v) 加入r(i),且任务i的直接前驱数量i(i)减1并执行步骤4
‑6‑
3;否则,执行步骤4
‑6‑
4;
[0028]
步骤4
‑6‑
3,判断i(i)是否为0;是则,将任务i加入队列q;
[0029]
步骤4
‑6‑
4,当前任务i加1,并判断i的值是否大于当前子任务数u的子任务数z
i
;是则,结束遍历;否则,执行步骤4
‑6‑
2;
[0030]
步骤4

7,判断已遍历的子任务数u是否等于当前层的子任务数k;是则,将子任务数u 置为0、当前层的子任务数k置为当前队列大小并执行步骤4

8;否则,执行步骤4

5;
[0031]
步骤4

8,根据子任务与边缘节点的分布关系矩阵将子任务分配给边缘节点,
[0032]
步骤4

9,同边缘节点的子任务按照前驱任务是否完成的约束条件顺序进行,
[0033]
步骤4

10,初始化子任务完成列表o为用子任务与边缘节点之间的平均传输时间矩阵设置子任务y的剩余执行时间,设置当前运行时间h=0;
[0034]
步骤4

11,判断完成列表的元素是否小于子任务总数z
i
(即判断按照分配策略进行子任务是否可完全完成,是则让节点开始执行,不是则继续分配);是则,执行步骤4

12;否则执行步骤4

16,
[0035]
步骤4

12,为每个边缘节点确定要执行的子任务,该子任务要满足其直接前驱集合为完成列表o的子集;
[0036]
步骤4

13,在当前执行的子任务中找出最少执行时间w,所有子任务剩余执行时间减去最少执行时间y(i)

=w,
[0037]
步骤4

14,判断相减后的剩余执行时间是否为0,是则,将该任务加入子任务完成列表o;否则,执行步骤4

15;
[0038]
步骤4

15,当前时间加该最少执行时间作为新的当前时间,即h+=w,并执行步骤4

11;
[0039]
步骤4

16,获取并返回当前时间h。
[0040]
进一步地,步骤4中子任务与边缘节点的分布关系矩阵和子任务与边缘节点之间的平均传输时间矩阵表达式如下:
[0041][0042][0043]
其中,如式(2)所示,b
x,y
=1表示将子任务分配到节点相反当b
x,y
=0时表示节点未分配子任务式(3)所示,表示子任务与边缘节点之间的平均传输时间,由子任务的任务数据量大小与边缘节点间的传输速率决定,在分配时保持稳定。
[0044]
进一步地,步骤4

9中当同边缘节点的子任务按照前驱任务均完成时,则按照子任务优先级大小从高到低顺序进行排序。
[0045]
进一步地,子任务优先级大小计算步骤如下:
[0046]
步骤4
‑9‑
1,按照三标度法原则式(9),对子任务α种因素进行重要性排序,构建优先关系矩阵p。
[0047][0048]
其中s
i
,s
j
分别表示指标p
i
,p
j
的相对重要性程度,本发明参与评价的指标有子任务自身计算复杂度、任务数据量和对应的可容忍时延;
[0049]
步骤4
‑9‑
2,根据优先关系矩阵p构建模糊一致矩阵r:
[0050]
r=(r
i,j
)
α*α
,r
i,j
=r
i,k

r
j,k
+0.5
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(10)
[0051]
a)对优先关系矩阵p按行求和得r
i

[0052][0053]
b)r
i
通过式(12)进行变换,得到模糊一致矩阵r:
[0054][0055]
步骤4
‑9‑
3,对模糊一致矩阵r行求和、归一化,得出指标α对于各个子任务的指标权重w
i

[0056][0057]
步骤4
‑9‑
4,利用隶属度函数式(14)对子任务自身因素进行归一化处理
[0058][0059]
步骤4
‑9‑
5,以归一化的数据为基础,计算对应子任务z
i
的信息熵δ
i

[0060][0061]
步骤4
‑9‑
6,计算子任务z
i
的偏差指数g
i
式,利用g
i
对子任务n
i
的指标权重w
i
进行修正得出w
i*

[0062][0063]
步骤4
‑9‑
7,将子任务自身数据按照w
i*
加权求和得出优先级大小。
[0064]
本发明采用以上技术方案,提出针对推理任务的优先级判断方法,有利于高效利用边缘节点从而缩短任务执行时间;为避免传统解决np

hard问题的启发式算法的早熟收敛问题,设计基于dqn算法的调度算法,利于探索复杂边缘环境下的更优调度策略。本发明保证车载推理任务在可容忍时间内被调度执行完成的情况下,优化边缘环境下的推理任务调度时延。
附图说明
[0065]
以下结合附图和具体实施方式对本发明做进一步详细说明;
[0066]
图1不同时间片的边缘节点与推理任务情况示意图;
[0067]
图2推理任务模型示意图;
[0068]
图3具体时间片的边缘环境与推理任务流程示意图;
[0069]
图4推理任务的执行过程示意图;
[0070]
图5执行时间的计算过程示意图。
具体实施方式
[0071]
为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图对本技术实施例中的技术方案进行清楚、完整地描述。
[0072]
如图1至5之一所示,本发明公开了一种车载边缘计算中针对时延优化的推理任务调度方法,其包括以下步骤:
[0073]
步骤1,初始化恒定存储空间容量的经验池、随机权重为θ的动作

价值函数q
θ
(s
t
,a
t
)和对应的target

q
θ
(s
t
,a
t
),确定回合上限数和每回合迭代数;
[0074]
步骤2,将动作状态s
t
还原为初始状态;
[0075]
步骤3,以ε的概率选择历史奖励值最大的动作a
t
=argmaxq(s
t
,a,θ);或者在没有历史奖励值最大的动作时随机选择动作a
t
[0076]
步骤4,执行动作a
t
得到下一个状态s
t+1
并计算奖励值t
all
为执行动作a
t
的完成时间;
[0077]
步骤5,将(s
t
,s
t+1
,re
t
,a
t
)存入经验池,并下一个状态s
t+1
赋值给动作状态s
t

[0078]
步骤6,经验池中随机抽样(s
j
,s
j+1
,re
j
,a
j
),根据误差函数反向传播更新参数θ,误差函数的表达式如下:
[0079][0080]
其中α
k
,γ分别表示学习速率、折扣因子,s'为第k次迭代中执行a
t
动作后的状态,a'表示状态s'下奖励值最大的动作,re
k
表示迭代过程中累积的奖励值;
[0081]
步骤7,判断s
t+1
是否满足终止状态时,是则结束本轮迭代并执行步骤9;否则,执行步骤8;
[0082]
步骤8,判断迭代次数是否大于每回合迭代数;是则,执行步骤9;否则,迭代次数加1 并执行步骤3;
[0083]
步骤9,判断回合次数是否大于回合上限数;是则,结束;否则,回合次数加1并执行步骤2。
[0084]
进一步地,步骤4的执行动作a
t
的完成时间t
all
的计算步骤如下:
[0085]
步骤4

1,设置数组i、子任务队列q,并将子任务的前驱节点集合r为
[0086]
步骤4

2,根据子任务间的时序约束关系g
i
设置数组i(i);
[0087]
步骤4

3,将数组i(i)=0,即无直接前驱任务的第i个子任务加入队列q,初始已遍
历的子任务数u=0,并设置当前层中子任务数量k等于当前队列大小;
[0088]
步骤4

4,判断节点队列是否为空,是则,执行步骤4

8;否则,执行步骤4

5;
[0089]
步骤4

5,第i个子任务出队并标记为子任务v,已遍历的子任务数u加1,
[0090]
步骤4

6,获取所有子任务的前驱集合,用于制定子任务的执行顺序,步骤4

6具体包括以下步骤:
[0091]
步骤4
‑6‑
1,获取子任务总数z
i
,并设初始化任务i为0;
[0092]
步骤4
‑6‑
2,判断是否存在子任务v和任务i的有向边;是则,将子任务v及前驱集合r(v) 加入r(i),且任务i的直接前驱数量i(i)减1并执行步骤4
‑6‑
3;否则,执行步骤4
‑6‑
4;
[0093]
步骤4
‑6‑
3,判断i(i)是否为0;是则,将任务i加入队列q;
[0094]
步骤4
‑6‑
4,当前任务i加1,并判断i的值是否大于当前子任务数u的子任务数z
i
;是则,结束遍历;否则,执行步骤4
‑6‑
2;
[0095]
步骤4

7,判断已遍历的子任务数u是否等于当前层的子任务数k;是则,将子任务数u 置为0、当前层的子任务数k置为当前队列大小并执行步骤4

8;否则,执行步骤4

5;
[0096]
步骤4

8,根据子任务与边缘节点的分布关系矩阵将子任务分配给边缘节点,
[0097]
步骤4

9,同边缘节点的子任务按照前驱任务是否完成的约束条件顺序进行,
[0098]
步骤4

10,初始化子任务完成列表o为用子任务与边缘节点之间的平均传输时间矩阵设置子任务y的剩余执行时间,设置当前运行时间h=0;
[0099]
步骤4

11,判断完成列表的元素是否小于子任务总数z
i
;是则,执行步骤4

12;否则执行步骤4

16,
[0100]
步骤4

12,为每个边缘节点确定要执行的子任务,该子任务要满足其直接前驱集合为完成列表o的子集;
[0101]
步骤4

13,在当前执行的子任务中找出最少执行时间w,所有子任务剩余执行时间减去最少执行时间y(i)

=w,
[0102]
步骤4

14,判断相减后的剩余执行时间是否为0,是则,将该任务加入子任务完成列表o;否则,执行步骤4

15;
[0103]
步骤4

15,当前时间加该最少执行时间作为新的当前时间,即h+=w,并执行步骤4

11;
[0104]
步骤4

16,获取并返回当前时间h。
[0105]
进一步地,步骤4中子任务与边缘节点的分布关系矩阵和子任务与边缘节点之间的平均传输时间矩阵表达式如下:
[0106]
[0107][0108]
其中,如式(2)所示,b
x,y
=1表示将子任务分配到节点相反当b
x,y
=0时表示节点未分配子任务式(3)所示,表示子任务与边缘节点之间的平均传输时间,由子任务的任务数据量大小与边缘节点间的传输速率决定,在分配时保持稳定。
[0109]
进一步地,步骤4

9中当同边缘节点的子任务按照前驱任务均完成时,则按照子任务优先级大小从高到低顺序进行排序。
[0110]
进一步地,子任务优先级大小计算步骤如下:
[0111]
步骤4
‑9‑
1,按照三标度法原则式(9),对子任务α种因素进行重要性排序,构建优先关系矩阵p。
[0112][0113]
其中s
i
,s
j
分别表示指标p
i
,p
j
的相对重要性程度,本发明参与评价的指标有子任务自身计算复杂度、任务数据量和对应的可容忍时延;
[0114]
步骤4
‑9‑
2,根据优先关系矩阵p构建模糊一致矩阵r:
[0115]
r=(r
i,j
)
α*α
,r
i,j
=r
i,k

r
j,k
+0.5
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(10)
[0116]
a)对优先关系矩阵p按行求和得r
i

[0117][0118]
b)r
i
通过式(12)进行变换,得到模糊一致矩阵r:
[0119][0120]
步骤4
‑9‑
3,对模糊一致矩阵r行求和、归一化,得出指标α对于各个子任务的指标权重w
i

[0121]
步骤4
‑9‑
4,利用隶属度函数式(14)对子任务自身因素进行归一化处理
[0122][0123]
步骤4
‑9‑
5,以归一化的数据为基础,计算对应子任务z
i
的信息熵δ
i

[0124][0125]
步骤4
‑9‑
6,计算子任务z
i
的偏差指数g
i
式,利用g
i
对子任务n
i
的指标权重w
i
进行修正得出w
i*

[0126][0127]
步骤4
‑9‑
7,将子任务自身数据按照w
i*
加权求和得出优先级大小。
[0128]
下面就本发明具体的工作原理做详细的说明:
[0129]
模型定义:在车辆行驶的场景下,自动驾驶等车载应用对实时性要求愈发严格,充分利用边缘节点是有效地减少其执行时间的关键。本发明将复杂应用的推理过程构建为由若干个具依赖性的子任务组成的推理任务。在不同时间片中,随着车辆所处边缘环境的变换,可用的边缘节点数目随之改变,等待调度的推理任务也不尽相同。图1所示为推理任务和边缘节点数目在不同时间片的状态
[0130]
在连续p时间段的场景下,边缘环境在时间i对应表示为其中m
i
为边缘节点数;推理任务在时间i对应表示为d
i
=<g
i
,l
i
,w
i
>,其中g
i
表示推理任务划分成的子任务的关系,l
i
表示实时任务容忍时间,w
i
是子任务权重大小的集合。g
i
可以由如图2所示的可并行的有向无环图g
i
=<n
i
,e
i
>表示,其中为z
i
个子任务的集合;表示子任务的时间相关性,含义是两个子任务和之间存在一个有向边,且必须在开始执行前完成。直接前驱集可以表示为当且仅当任务的所有直接前驱任务都完成时,目标任务才能开始执行。
[0131]
推理任务中,不同子任务的自身计算复杂度、任务数据量与对应的可容忍时延也不尽相同,本发明于实验中将其定义为式(1),式中的a
x,1
,a
x,2
,a
x,3
表示子任务的对应参数。与此同时,对于子任务而言,其与边缘节点的分布关系矩阵如式(2)所示,b
x,y
=1表示将子任务分配到节点相反当b
x,y
=0时表示节点未分配子任务子任务与边缘节点之间的平均传输时间矩阵定义为式(3),其中由子任务的任务数据量大小与边缘节点间的传输速率决定,在分配时保持稳定;子任务分配至不同的边缘节点后执行时间存在差异,将总执行时间设为最大容忍时延,平均执行时间矩阵定义为式(4),其中由子任务的任务复杂度与对应边缘节点中mec的运算能力决定。
[0132]
[0133][0134][0135][0136]
为了较好的利用不同边缘环境中边缘节点的算力,问题模型中规定边缘节点应满足以下处理规则:
[0137]
1)子任务能且仅能由单一边缘节点调度,定义为式(5)。
[0138]
2)所有子任务都分配到相应边缘节点后,边缘节点开始处理任务。
[0139]
3)不同节点上任务可并行处理。
[0140]
4)相同节点上子任务按依赖关系顺序进行,即对应子任务的直接前驱任务是否已完成;若都满足无前驱任务时,按照任务的优先级大小正序执行。
[0141]
5)边缘节点上子任务的容忍时延不大于边缘节点的平均执行时间。
[0142][0143]
边缘节点正常工作时,实时任务的执行时间可以由式(6)表示,其中表示子任务经过策略调度后在边缘节点的总执行时间。
[0144][0145]
当边缘环境仅有一个边缘节点时,即m
i
=1,子任务将完全串行运行,为最差调度结果,完成时间如式(7)。
[0146][0147]
综上所述,本发明讨论的实时任务调度模型可以简单的概括为:车载的实时任务在不同时间段内可以分配为若干个子任务;子任务合理的分配给当前边缘节点处理,并计算实时任务的执行时间。文中提出的调度算法使实时任务在约束前提下执行时间最短,可表示为式(8)。
[0148]
[0149]
如图3所示,推理任务在特定的边缘环境中子任务的分配情况。场景下共有3个边缘节点{f1,f2,f3},划分为5个子任务{n1,n2,n3,n4,n5},存在5条有向边{e
1,2
,e
1,3
,e
2,4
,e
3,4
,e
3,5
}表示子任务依赖性。图4为上述场景的一种可行分配策略,如表1,分配后任务执行时间(表3) 为14ms,包括4ms的传输时间(表2);该场景最差情况下,即串行任务完成时间为15ms、 18ms、18ms;子任务的可容忍时延(表4)满足小于节点中任务执行时间的条件。
[0150]
表1边缘节点

子任务调度策略
[0151][0152]
表2边缘节点的平均任务传输时间
[0153][0154]
表3边缘节点平均任务执行时间
[0155][0156]
表4子任务可容忍时延
[0157][0158]
表5子任务相对权重
[0159][0160]
在自动驾驶汽车运行过程中,路况不断发生变化,感知系统不断将路况信息传递给推理系统,推理系统处理的实时推理任务在不断变化,而这些实时推理任务往往有着不同的约束条件,为了在满足约束条件的前提下,降低调度处理时延,提出一种推理任务调度策略,在该策略下,假设自动驾驶车辆所处的边缘环境为理想状态,即在当前时间片内边缘环境中所有边缘节点都没有宕机的情况,算法适应动态变化的边缘环境及实时推理任务来
计算调度时间。下面分别介绍推理任务完整调度过程中所涉及到的算法:
[0161]
优先级评价:同一节点中,同时满足执行条件的任务可能存在多个,若恰好目标子任务为其他任务的前驱任务,执行顺序将会大大影响总体任务完成时间。为解决此问题,本发明使用模糊层次分析法进行任务权重衡量,然而该方法原型为根据专家的分值评估各个指标权重的大小,存在较强的主观影响;本发明通过引入客观条件(子任务的实时信息),计算信息熵作为指标权重的补充修正条件,可有效解决该缺点。具体实现如下:
[0162]
1)按照三标度法原则式(9),对子任务α种因素进行重要性排序,构建优先关系矩阵p。其中s
i
,s
j
分别表示指标p
i
,p
j
的相对重要性程度,本发明参与评价的指标有子任务自身计算复杂度、任务数据量和对应的可容忍时延。
[0163][0164]
2)根据优先关系矩阵p构建模糊一致矩阵r:
[0165]
r=(r
i,j
)
α*α
,r
i,j
=r
i,k

r
j,k
+0.5
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(10)
[0166]
a)对优先关系矩阵p按行求和得r
i

[0167][0168]
b)r
i
通过式(12)进行变换,得到模糊一致矩阵r:
[0169][0170]
3)对模糊一致矩阵r行求和、归一化,得出指标α对于各个子任务的指标权重w
i

[0171][0172]
4)利用隶属度函数式(14)对子任务自身因素进行归一化处理
[0173][0174]
5)以归一化的数据为基础,计算对应子任务z
i
的信息熵δ
i

[0175][0176]
6)计算子任务z
i
的偏差指数g
i
式,利用g
i
对子任务n
i
的指标权重w
i
进行修正得出w
i*

[0177]
[0178]
7)将子任务自身数据按照w
i*
加权求和得出优先级大小。
[0179]
调度算法:马尔可夫决策过程(markov decision process)是本发明中强化学习方法的基本模型,根据其性质:即下一个状态的产生只和当前的状态有关,可简化调度策略模型,以下为研究问题的模型特点:
[0180]
1)状态空间:状态空间中的可行解状态数量不是恒定的,随分解后子任务数量改变以及不同时隙中边缘节点分布情况不同,存在动态变化;可行解状态需满足子任务容忍时延以及单任务能且仅能卸载至单一边缘节点。
[0181]
2)动作空间:动作空间内可选动作数等于子任务数z
i
,动作选择表示移动当前状态中的对应子任务到其他边缘节点。
[0182]
3)奖励值:本发明于算法中考虑因素为推理任务完成时间,因此奖励值设为
[0183]
本发明的调度策略基于dqn算法,是基于数值迭代的算法,将深度学习与强化学习相互结合,可在状态与动作空间离散切维数较高情况下将其抽象为函数拟合问题。算法实现如下:
[0184][0185]
其中α
k
,γ分别表示学习速率、折扣因子,s'为第k次迭代中执行a
t
动作后的状态,a'表示状态s'下奖励值最大的动作,re
k
表示迭代过程中累积的奖励值。
[0186]
[0187][0188]
执行算法:在不同的时间段中,实时任务和边缘环境是动态变化的,本发明将变化的情况概括为以下几种:
[0189]
1)边缘环境推理任务拓扑结构与边缘节点数
[0190]
2)不同环境下的子任务的计算复杂度、任务数据量与可容忍时延的变化
[0191]
3)由边缘节点变化导致的子任务传输时间与运行时间改变
[0192]
本发明提出的执行算法可计算边缘环境中的推理任务完成时间,实现如算法2所示,图 5为该算法的执行时间的计算过程:
[0193]
[0194]
[0195][0196]
本发明采用以上技术方案,提出针对推理任务的优先级判断方法,有利于高效利用边缘节点从而缩短任务执行时间;为避免传统解决np

hard问题的启发式算法的早熟收敛问题,设计基于dqn算法的调度算法,利于探索复杂边缘环境下的更优调度策略。本发明保证车载推理任务在可容忍时间内被调度执行完成的情况下,优化边缘环境下的推理任务调度时延。
[0197]
显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。因此,本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1