多任务处理方法、系统以及设备与流程

文档序号:41467397发布日期:2025-03-28 18:11阅读:24来源:国知局
多任务处理方法、系统以及设备与流程

本发明涉及一种多任务处理方法、系统以及设备,属于计算机辅助驾驶。


背景技术:

1、在计算机辅助驾驶系统中,软件运行的帧率和延时是影响系统性能、稳定性和用户体验的关键因素。当前先进的自动驾驶软件普遍使用事件或消息驱动方法配合少量定周期调度线程,驱动数百乃至上千模块进行计算,这些模块通常用于处理不同的算法。由于采用自由公平调度策略,部分耗时长的线程会被反复打断,导致出现帧率与延迟的大幅波动。此外,在多核处理器环境下,现有的调度策略无法有效地均衡cpu核心的负载,导致某些核心过载,而其他核心资源未得到充分利用,从而影响系统响应速度的提高。

2、在现有技术中,存在基于优先级的调度算法及静态资源分配策略。基于优先级的调度算法通过提高关键任务的优先级来减少延时,但优先级调度未考虑任务之间的依赖关系,可能导致高优先级任务在执行过程中频繁切换,增加系统开销。静态资源分配策略通过在系统设计阶段预先分配资源,确定每个线程使用的cpu核心,以减少线程切换和调度开销,但由于缺乏动态调整能力,难以应对复杂的自动驾驶任务场景中多变的任务需求和负载情况。

3、因此,现有的解决方案在优化计算机辅助驾驶软件的运行帧率方面存在诸多局限性,难以满足复杂计算机辅助驾驶系统对高性能和高稳定性的要求。


技术实现思路

1、针对现有技术的不足,本发明提供一种多任务处理方法、系统以及设备,将任务的依赖关系、优先级以及任务的执行时间,纳入到动态的资源分配和调度策略设计中,不仅能够提高软件运行帧率,减少任务之间的等待时间,还能够适应不同任务负载的变化,提高整体性能和稳定性。

2、根据本发明的第一方面,提供一种多任务处理方法,包括:

3、根据任务依赖关系,生成任务执行的拓扑序;

4、基于历史执行数据,获取各个任务的预测执行时间,所述历史执行数据包括任务执行时间、任务关联输入以及系统负载;

5、根据所述任务依赖关系、任务类型以及所述预测执行时间,为每个任务分配优先级,确定任务执行顺序;

6、基于所述任务依赖关系、所述优先级以及所述预测执行时间,生成资源分配及调度策略,所述资源分配及调度策略包括任务和线程、线程和cpu的绑定策略。

7、根据一个实施例,所述的多任务处理方法还包括:

8、根据实时采集的任务执行时间、任务关联输入以及系统负载,调整任务的所述优先级及资源分配,更新所述资源分配及调度策略。

9、根据一个实施例,所述根据任务依赖关系,生成任务执行的拓扑序,包括:

10、根据任务描述文件为每个任务创建节点,根据关系描述文件添加有向边,生成有向无环图,所述任务描述文件包括任务之间传递的消息及其类型,所述关系描述文件包括任务发送和接收的消息之间的关系;

11、使用图遍历算法检测所述有向无环图是否存在环路,如果存在,则抛出异常并记录错误信息,否则生成所述拓扑序。

12、根据一个实施例,所述基于历史执行数据,获取各个任务的预测执行时间,包括:

13、获取历史执行时间、任务关联输入以及任务执行时刻的系统负载;

14、调用统计方法计算平均执行时间、标准差和执行时间的波动,获取所述预测执行时间;对于执行时间波动超过预设阈值的任务,调用机器学习预测模型获取所述预测执行时间。

15、根据一个实施例,所述调用机器学习预测模型获取所述预测执行时间,包括:

16、采集影响任务执行时间的相关数据,所述相关数据包括cpu负载、内存使用情况和任务关联输入;

17、从所述相关数据中选择与任务执行时间相关的特征;

18、使用决策树建模,获取所述预测执行时间;

19、分析所述特征对预测结果的影响,确定对任务执行时间波动影响最大的一个或多个特征。

20、根据一个实施例,所述根据任务依赖关系、任务类型以及所述预测执行时间,为每个任务分配优先级,包括:

21、基于任务执行的拓扑序,根据任务依赖关系确定初始优先级;

22、在满足依赖关系的前提下,根据任务类型及所述预测执行时间调整所述初始优先级,生成所述优先级。

23、根据一个实施例,所述基于所述任务依赖关系、所述优先级以及所述预测执行时间,生成资源分配及调度策略,包括:

24、获取cpu核心数以及每个cpu核心的状态,所述状态包括cpu的当前负载;

25、将特定任务绑定到独立的cpu核心上,所述特定任务为高优先级、执行时间长且对其他任务的执行时间影响大的任务;

26、根据所述任务依赖关系以及所述预测执行时间,将可以并行执行的任务分配到不同的cpu核心上,将必须按顺序执行的任务安排在同一个cpu核心上执行;

27、将剩余的每个独立任务分配到一个负载最低的cpu核心上,生成资源分配及调度策略。

28、根据本发明的第二方面,提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时执行本发明第一方面所述的多任务处理方法。

29、根据本发明的第三方面,提供一种多任务处理设备,包括存储器和处理器,所述存储器用于存储计算机指令,所述处理器用于从所述存储器中调用所述计算机指令,以执行如本发明第一方面中任一项所述的多任务处理方法。

30、根据本发明的第四方面,提供一种多任务处理系统,包括:访问层单元、分析层单元以及基础设施层单元;所述访问层单元包括输入模块和输出模块;所述分析层单元包括任务关联解析模块、任务分析模块、资源分配模块以及调度优化模块;所述基础设施层单元包括数据存储模块及硬件设备模块;

31、所述输入模块,用于输入描述任务之间依赖关系的文件以及采集的实测数据;

32、所述输出模块,用于输出资源分配及调度策略描述文件;

33、所述任务关联解析模块,用于根据任务依赖关系,生成任务执行的拓扑序;

34、所述任务分析模块,用于基于历史执行数据,获取各个任务的预测执行时间,所述历史执行数据包括任务执行时间、任务关联输入以及系统负载;

35、所述资源分配模块,用于根据所述任务依赖关系、任务类型以及所述预测执行时间,为每个任务分配优先级,确定任务执行顺序,然后基于所述任务依赖关系、所述优先级以及所述预测执行时间,生成资源分配及调度策略,所述资源分配及调度策略包括任务和线程、线程和cpu的绑定策略;

36、所述调度优化模块,用于根据实时采集的任务执行时间、任务关联输入以及系统负载,调整任务的所述优先级及资源分配,更新所述资源分配及调度策略;

37、所述数据存储模块,用于存储输入数据、输出数据以及运行数据;

38、所述硬件设备模块,用于提供系统运行的物理基础。

39、本发明基于任务的依赖关系、任务的类型以及任务的预测执行时间,确定任务的优先级级以及执行顺序,然后将任务依赖关系、优先级以及任务的执行时间纳入到动态的资源分配和调度策略方案中,不仅能够提高软件运行帧率,减少任务之间的等待时间,还能够适应不同任务负载的变化,提高整体性能和稳定性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1