智能汽车操作系统的任务调度方法技术方案

技术编号:39640921 阅读:6 留言:0更新日期:2023-12-09 11:07
本说明书公开了一种智能汽车操作系统的任务调度方法

【技术实现步骤摘要】
智能汽车操作系统的任务调度方法、装置、设备及介质


[0001]本说明书涉及操作系统
,尤其涉及一种智能汽车操作系统的任务调度方法

装置

设备及介质


技术介绍

[0002]自动驾驶系统作为智能汽车操作系统的子系统,环境信息获取和智能决策控制等驾驶任务是其关键环节,具有极强的执行确定性要求

但在实际产品开发过程中受到硬件资源的限制,驾驶任务通常运行在高负载场景之下,由于内存
、CPU
等资源竞争等问题导致自动驾驶任务的运行出现不可避免的抖动,甚至出现任务执行超时,任务执行帧率下降等异常情况,从而导致自动驾驶系统无法按预期工作,极端情况甚至会带来车辆行驶安全的风险

[0003]目前该部分能力通常由中间件进行支持,通过提供接口或配置文件支持自动驾驶任务的开发者对任务执行线程的调度策略进行配置,从而实现自动驾驶系统的关键任务能够优先获得系统资源,降低其执行抖动

然而,目前的中间件产品通常只提供了接口或配置能力对任务的调度策略进行配置,通过不断迭代调整获取满足确定性需求的调度策略

调试难度较高,其实际效果很大程度依赖开发者的经验

因此,无法保证自动驾驶任务的运行确定性


技术实现思路

[0004]本说明书实施例提供了一种智能汽车操作系统的任务调度方法

装置

设备及介质,用以解决现有技术对自动驾驶任务的调度策略的配置方式无法保证自动驾驶任务的运行确定性的技术问题

[0005]第一方面,本说明书实施例提供了一种智能汽车操作系统的任务调度方法,包括:获取自动驾驶系统的
M
个任务依赖链条,每个所述任务依赖链条上包括存在依赖关系的多个驾驶任务,所述自动驾驶系统为所述智能汽车操作系统的子系统,
M
为大于1的整数;通过编排工具对所述
M
个任务依赖链条上驾驶任务的调度策略进行静态编排,得到策略描述配置文件,所述策略描述配置文件用于描述所述自动驾驶系统中驾驶任务的调度策略;在所述自动驾驶系统的运行阶段,根据所述策略描述配置文件调度所述自动驾驶系统中驾驶任务,以使所述自动驾驶系统中驾驶任务按照预先静态编排的调度策略执行

[0006]可选地,所述通过编排工具对所述
M
个任务依赖链条上驾驶任务的调度策略进行静态编排,得到策略描述配置文件,包括通过所述编排工具执行的如下步骤:根据所述
M
个任务依赖链条上每个驾驶任务的最坏执行时间和执行周期,对所述
M
个任务依赖链条上的驾驶任务进行分组为
N
个任务组,
N
为大于1的整数;根据所述
N
个任务组中每个任务组的第一最坏执行时间总时长和第一参考周期,将所述
N
个任务组分别编排到对应的
CPU
内核;根据编排结果生成并输出所述策略描述配置文件

[0007]可选地,所述根据所述
M
个任务依赖链条上每个驾驶任务的最坏执行时间和执行
周期,对所述
M
个任务依赖链条上的驾驶任务进行分组为
N
个任务组,包括:从所述
M
个任务依赖链条获取当前待编排的目标驾驶任务;根据所述目标驾驶任务的最坏执行时间和执行周期,将所述目标驾驶任务编排到一个任务组,以使该任务组的第一最坏执行时间总时长不超过该任务组的第一参考周期

[0008]可选地,所述根据所述目标驾驶任务的最坏执行时间和执行周期,将所述目标驾驶任务编排到一个任务组,以使该任务组的第一最坏执行时间总时长不超过该任务组的第一参考周期,包括:确定当前任务组内已有驾驶任务和所述目标驾驶任务的第一最坏执行时间总时长;根据当前任务组内已有驾驶任务和所述目标驾驶任务中每个驾驶任务的执行周期,确定所述当前任务组的第一参考周期;如果所述当前任务组的第一最坏执行时间总时长不大于所述当前任务组的第一参考周期,将所述目标驾驶任务编排到所述当前任务组;如果所述当前任务组的第一最坏执行时间总时长大于所述当前任务组的第一参考周期,完成向所述当前任务组的驾驶任务编排,并将所述目标驾驶任务编排到新开的任务组

[0009]可选地,在所述完成向所述当前任务组的驾驶任务编排之后,还包括:如果所述当前任务组中包含融合节点任务,获取与所述当前任务组包含相同融合节点任务的参照任务组;比对所述当前任务组的第一参考周期与所述参照任务组的第一参考周期,确定出目标任务组,所述目标任务组为所述当前任务组与所述参照任务组中第一参考周期较大的任务组;删除所述目标任务组中所述融合节点任务

[0010]可选地,所述从所述
M
个任务依赖链条获取当前待编排的目标驾驶任务,包括:将所述
M
个任务依赖链条分别作为待遍历的目标任务依赖链条;遍历所述目标任务依赖链条,将遍历到的驾驶任务依次确定为当前待编排的目标驾驶任务

[0011]可选地,所述根据所述
N
个任务组中每个任务组的第一最坏执行时间总时长和第一参考周期,将所述
M
个任务组分别编排到对应的
CPU
内核,包括:从所述
N
个任务组中获取当前待编排的目标任务组;根据所述目标任务组的第一最坏执行时间总时长和第一参考周期将所述目标任务组编排到一个
CPU
内核,以使该
CPU
内核所需执行任务组的总算力不超过该
CPU
内核的算力上限

[0012]可选地,所述根据所述目标任务组的第一最坏执行时间总时长和第一参考周期将所述目标任务组编排到一个
CPU
内核,以使该
CPU
内核所需执行任务组的总算力不超过该
CPU
内核的算力上限,包括:根据当前
CPU
内核已有任务组和所述目标任务组中每个任务组的第一最坏执行时间总时长,确定当前
CPU
内核对应的第二最坏执行时间总时长;根据当前
CPU
内核已有任务组和所述目标任务组中每个任务组的第一参考周期,确定出当前
CPU
内核对应的第二参考周期;如果所述当前
CPU
内核的第二最坏执行时间总时长不大于当前
CPU
内核对应的第二参考周期,将所述目标任务组编排到所述当前
CPU
内核;如果所述当前
CPU
内核的第二最坏执行时间总时长大于当前
CPU
内核对应的执行,完成向所述当前
CPU
内核的任务组编排,将所述目标任务组编排到一个未被编排任务组的
CPU
内本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种智能汽车操作系统的任务调度方法,其特征在于,包括:获取自动驾驶系统的
M
个任务依赖链条,每个所述任务依赖链条上包括存在依赖关系的多个驾驶任务,所述自动驾驶系统为所述智能汽车操作系统的子系统,
M
为大于1的整数;通过编排工具对所述
M
个任务依赖链条上驾驶任务的调度策略进行静态编排,得到策略描述配置文件,所述策略描述配置文件用于描述所述自动驾驶系统中驾驶任务的调度策略;在所述自动驾驶系统的运行阶段,根据所述策略描述配置文件调度所述自动驾驶系统中驾驶任务,以使所述自动驾驶系统中驾驶任务按照预先静态编排的调度策略执行
。2.
如权利要求1所述的方法,其特征在于,所述通过编排工具对所述
M
个任务依赖链条上驾驶任务的调度策略进行静态编排,得到策略描述配置文件,包括通过所述编排工具执行的如下步骤:根据所述
M
个任务依赖链条上每个驾驶任务的最坏执行时间和执行周期,将所述
M
个任务依赖链条上的驾驶任务进行分组为
N
个任务组,
N
为大于1的整数;根据所述
N
个任务组中每个任务组的第一最坏执行时间总时长和第一参考周期,将所述
N
个任务组分别编排到对应的
CPU
内核;根据编排结果生成并输出所述策略描述配置文件
。3.
如权利要求2所述的方法,其特征在于,所述根据所述
M
个任务依赖链条上每个驾驶任务的最坏执行时间和执行周期,将所述
M
个任务依赖链条上的驾驶任务进行分组为
N
个任务组,包括:从所述
M
个任务依赖链条获取当前待编排的目标驾驶任务;根据所述目标驾驶任务的最坏执行时间和执行周期,将所述目标驾驶任务编排到一个任务组,以使该任务组的第一最坏执行时间总时长不超过该任务组的第一参考周期
。4.
如权利要求3所述的方法,其特征在于,所述根据所述目标驾驶任务的最坏执行时间和执行周期,将所述目标驾驶任务编排到一个任务组,以使该任务组的第一最坏执行时间总时长不超过该任务组的第一参考周期,包括:确定当前任务组内已有驾驶任务和所述目标驾驶任务的第一最坏执行时间总时长;根据当前任务组内已有驾驶任务和所述目标驾驶任务中每个驾驶任务的执行周期,确定所述当前任务组的第一参考周期;如果所述当前任务组的第一最坏执行时间总时长不大于所述当前任务组的第一参考周期,将所述目标驾驶任务编排到所述当前任务组;如果所述当前任务组的第一最坏执行时间总时长大于所述当前任务组的第一参考周期,完成向所述当前任务组的驾驶任务编排,并将所述目标驾驶任务编排到新开的任务组
。5.
如权利要求4所述的方法,其特征在于,在所述完成向所述当前任务组的驾驶任务编排之后,还包括:如果所述当前任务组中包含融合节点任务,获取与所述当前任务组包含相同融合节点任务的参照任务组;比对所述当前任务组的第一参考周期与所述参照任务组的第一...

【专利技术属性】
技术研发人员:徐峰
申请(专利权)人:斑马网络技术有限公司
类型:发明
国别省市:

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

1