边缘环境面向时延优化的自动驾驶推理任务工作流调度方法技术

技术编号:24707395 阅读:36 留言:0更新日期:2020-06-30 23:53
本发明专利技术公开边缘环境面向时延优化的自动驾驶推理任务工作流调度方法,考虑不同时间片中自动驾驶车辆产生的推理任务的差异以及边缘环境中边缘节点的动态变化情况,结合边缘计算,优化科学工作流传输时延。该方法考虑不同时间片中自动驾驶车辆产生的推理任务的差异以及边缘环境中边缘节点对调度处理时延的影响;通过引入Metropolis准则,平衡算法的探索与开发。有效降低边缘环境下的自动驾驶推理任务调度时延。

【技术实现步骤摘要】
边缘环境面向时延优化的自动驾驶推理任务工作流调度方法
本专利技术属于并行和分布式高性能计算领域的自动驾驶推理任务工作流调度方法,具体涉及一种边缘环境下考虑不同时间片中自动驾驶车辆产生的推理任务的差异以及边缘环境中边缘节点的动态变化情况面向时延优化的自动驾驶推理任务工作流调度方法。
技术介绍
随着全球车辆保有量的上升,交通安全、道路拥堵以及环境污染等问题随之而来。自动驾驶技术的发展为这些问题提供一种全新的解决方案。高度自动化的车辆驾驶不仅能提高驾驶的便利性以及舒适性,而且能够极大降低由人为错误操作导致的车祸事故,提高行车的安全性,改善道路系统的整体交通效率,缓解交通拥堵,极大地提高燃油效率,减少车辆尾气排放造成的环境污染。当自动驾驶汽车感知系统检测到当前路况信息时,需要在极短的毫秒级时间内通过汽车推理系统对感知系统传递来的路况信息进行处理,使汽车传动系统做出变速、转向、换挡等响应动作。由于单辆汽车车载设备计算处理能力较弱,如何选择合理的调度平台,在毫秒级容忍时间的限制下优化车辆推理任务调度时延,是目前研究重点要解决的问题。在自动驾驶推理任务的研究中,一方面,大多数研究关注于自动驾驶推理任务的路况识别推理及分析,较少涉及推理任务的分解调度问题,并且推理任务调度通常在车载处理器上处理,存在着推理任务调度处理高时延的问题,不能很好的满足自动驾驶推理任务对安全性与实时性的要求;另一方面,由于自动驾驶推理任务与协同设计任务及工作流间具有结构相似性,因此可以将协同设计任务与工作流调度的研究方案应用至自动驾驶推理任务调度问题中。目前的研究中多数采用启发式算法来解决协同设计任务与工作流调度问题,如蚁群算法、粒子群算法、遗传算法等,虽然这些算法提供了不错的解决方案,但收敛速度慢,易陷入局部最优解中,不能很好满足推理任务低延时的要求,近年来,研究中尝试将强化学习算法运用至协同设计任务与工作流调度中,通过与不确定的环境进行互动,进行探索学习,反向校正现实值和预测值的偏差,算法收敛速度较快,这些研究为自动驾驶推理任务调度问题提供了新的解决方式,虽然推理任务与协同设计任务及工作流结构上相似,但是自动驾驶产生的推理任务需要满足实时系统的低时延要求,因此需要设计合适的调度方法和算法来满足自动驾驶推理任务的调度要求。边缘计算通过位于终端设备与云数据中心之间具有计算以及存储资源的边缘设备,将计算任务卸载至用户边缘执行,以便计算任务在数据源附近进行处理,这将产生更短的响应时间。在边缘环境下进行自动驾驶推理任务的分解与调度,可以很好地满足推理任务对低时延的要求,以产生良好的实时处理效果。因此,针对边缘环境下面向时延优化的自动驾驶推理任务工作流调度方法问题,目前研究工作尚未形成一个完整有效的解决方案。
技术实现思路
本专利技术的目的在于提供一种考虑不同时间片中自动驾驶车辆产生的推理任务的差异以及边缘环境中边缘节点的动态变化情况,结合边缘计算,提出一种基于工作流最佳调度方法的强化学习算法,目的是优化科学工作流传输时延。该方法考虑不同时间片中自动驾驶车辆产生的推理任务的差异以及边缘环境中边缘节点对调度处理时延的影响;通过引入Metropolis准则,平衡算法的探索与开发。有效降低边缘环境下的自动驾驶推理任务调度时延。本专利技术采用的技术方案是:边缘环境面向时延优化的自动驾驶推理任务工作流调度方法,其包括以下步骤:步骤1,获取回合上限数、每回合迭代数、初始状态和初始温度;步骤2,随机选取动作,初始状态执行动作,经过多次迭代,使初始状态满足可行解条件,变为可行解;步骤3,根据Metropolis准则选择动作,该动作转移的状态必须为可行解状态;步骤4,执行动作并转移状态;步骤5,由最佳调度算法求得转移后状态的完成时间,并以(1/完成时间)作为即时奖励;步骤6,根据<当前状态,选择动作,即时奖励,转移后状态>四元组信息进行价值函数的更新,步骤7,对当前温度进行降温处理;步骤8,判断迭代次数是否大于每回合迭代数;是则,执行步骤9;否则,迭代次数加1并执行步骤3;步骤9,判断回合次数是否大于回合上限数;是则,结束;否则,回合次数加1并执行步骤2。进一步地,步骤5具体包括以下步骤:步骤5-1,获取入度数组及节点队列数据,并将直接前驱节点集合设为步骤5-2,根据子任务间的时序约束关系计算各节点的入度;步骤5-3,将入度为0的节点归入节点队列,并设置当前深度为1、已遍历的节点数为0以及当前层的节点数为当前队列大小;步骤5-4,判断节点队列是否为空,是则,执行步骤5-8;否则,执行步骤5-5;步骤5-5,节点队列的队首节点出队,设置其深度为当前深度,已遍历的节点数加1,步骤5-6,遍历对应节点的各个子任务,步骤5-7,判断已遍历的节点数是否等于当前层的节点数;是则,将当前深度置为0、已遍历的节点数置为0以及当前层的节点数置为当前队列大小并执行步骤5-8;否则,执行步骤5-5;步骤5-8,由为边缘节点分配子任务,步骤5-9,同一边缘节点中子任务按任务深度值升序排序;步骤5-10,初始化完成列表Done_List为子任务剩余执行时间为平均执行时间,当前时间CurrentTime=0;步骤5-11,判断完成列表的元素是否小于子任务数;是则,执行步骤5-12;否则执行步骤5-16,步骤5-12,为每个边缘节点确定要执行的子任务,该子任务要足其直接前驱集合为Done_List子集;步骤5-13,在当前执行的子任务中找出最少执行时间,所有子任务剩余执行时间减去最少执行时间,步骤5-14,判断相减后的剩余执行时间为0,是则,将该任务加入完成列表Done_List;否则,执行步骤5-15;步骤5-15,当前时间加该最少执行时间作为新的当前时间并执行步骤5-11;步骤5-16,获取并返回当前时间CurrentTime。进一步地,步骤5-6具体包括以下步骤:步骤5-6-1,获取当前节点的子任务数,并设初始化任务i为0;步骤5-6-2,判断是否存在出队节点至任务i的有向边;是则,将出队节点加入i的直接前驱集合,且当前任务i的入度减1并执行步骤5-6-3;否则,执行步骤5-6-4;步骤5-6-3,判断任务i的入度是否为0;是则,将任务i加入节点队列;步骤5-6-4,当前任务i加1,并判断i的值是否大于当前节点的子任务数;是则,结束遍历;否则,执行步骤5-6-2。进一步地,步骤5-2的入度计算的具体步骤如下:步骤5-2-1,遍历所有子任务间的时序约束关系(Gi中的有向边集合);步骤5-2-2,如果存在子任务u到子任务v间的有向边,则子任务v的入度加一。进一步地,步骤6中价值函数的更新公式如下:Q(s,a)=Q(s,a)+α[r+γmaxa'Q(s',a')-Q(s,a)](9)其中α为学习本文档来自技高网
...

【技术保护点】
1.边缘环境面向时延优化的自动驾驶推理任务工作流调度方法,其特征在于:其包括以下步骤:/n步骤1,获取回合上限数、每回合迭代数、初始状态和初始温度;/n步骤2,随机选取动作,初始状态执行动作,经过多次迭代,使初始状态满足可行解条件,变为可行解;/n步骤3,根据Metropolis准则选择动作,该动作转移的状态必须为可行解状态;/n步骤4,执行动作并转移状态;/n步骤5,由最佳调度算法求得转移后状态的完成时间,并以(1/完成时间)作为即时奖励;/n步骤6,根据<当前状态,选择动作,即时奖励,转移后状态>四元组信息进行价值函数的更新,/n步骤7,对当前温度进行降温处理;/n步骤8,判断迭代次数是否大于每回合迭代数;是则,执行步骤9;否则,迭代次数加1并执行步骤3;/n步骤9,判断回合次数是否大于回合上限数;是则,结束;否则,回合次数加1并执行步骤2。/n

【技术特征摘要】
1.边缘环境面向时延优化的自动驾驶推理任务工作流调度方法,其特征在于:其包括以下步骤:
步骤1,获取回合上限数、每回合迭代数、初始状态和初始温度;
步骤2,随机选取动作,初始状态执行动作,经过多次迭代,使初始状态满足可行解条件,变为可行解;
步骤3,根据Metropolis准则选择动作,该动作转移的状态必须为可行解状态;
步骤4,执行动作并转移状态;
步骤5,由最佳调度算法求得转移后状态的完成时间,并以(1/完成时间)作为即时奖励;
步骤6,根据<当前状态,选择动作,即时奖励,转移后状态>四元组信息进行价值函数的更新,
步骤7,对当前温度进行降温处理;
步骤8,判断迭代次数是否大于每回合迭代数;是则,执行步骤9;否则,迭代次数加1并执行步骤3;
步骤9,判断回合次数是否大于回合上限数;是则,结束;否则,回合次数加1并执行步骤2。


2.根据权利要求1所述的边缘环境面向时延优化的自动驾驶推理任务工作流调度方法,其特征在于:步骤5具体包括以下步骤:
步骤5-1,获取入度数组及节点队列数据,并将直接前驱节点集合设为
步骤5-2,根据子任务间的时序约束关系计算各节点的入度;
步骤5-3,将入度为0的节点归入节点队列,并设置当前深度为1、已遍历的节点数为0以及当前层的节点数为当前队列大小;
步骤5-4,判断节点队列是否为空,是则,执行步骤5-8;否则,执行步骤5-5;
步骤5-5,节点队列的队首节点出队,设置其深度为当前深度,已遍历的节点数加1,
步骤5-6,遍历对应节点的各个子任务,
步骤5-7,判断已遍历的节点数是否等于当前层的节点数;是则,将当前深度置为0、已遍历的节点数置为0以及当前层的节点数置为当前队列大小并执行步骤5-8;否则,执行步骤5-5;
步骤5-8,由Ami×si为边缘节点分配子任务,
步骤5-9,同一边缘节点中子任务按任务深度值升序排序;
步骤5-10,初始化完成列表Done_List为子任务剩余执行时间为平均执行时间,当前时间CurrentTime=0;
步骤5-11,判断完成列表的元素是否小于子任务数;是则,执行步骤5-12;否则执行步骤5-16,
步骤5-12,为每个边缘节点确定要执行的子任务,...

【专利技术属性】
技术研发人员:林兵林凯黄志高卢宇
申请(专利权)人:福建师范大学
类型:发明
国别省市:福建;35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1