一种任务调度方法、系统、电子设备及存储介质与流程
- 国知局
- 2024-07-31 23:20:10
本发明涉及智能驾驶,尤其涉及一种任务调度方法、系统、计算机程序产品、电子设备及存储介质。
背景技术:
1、随着智能驾驶技术的发展,越来越多的传感器被用在智能驾驶系统上。一方面,越来越多的传感器信号需要抽象和处理,使得智能座舱控制器soc芯片的算力资源日益紧张。另一方面,随着产业竞争格局的加剧,对soc芯片降本增效的要求日益突出。因此,更好的规划soc芯片的算力资源以及减少算力资源的无效消耗成为了一个重要的研究课题。
2、目前,大部分智能驾驶算法采用dds的数据共享模式和autosar ap定义的em/sm管理策略,且各算法资源需根据场景和功能进行硬切换或软切换。这种调度模式下,周期型任务占据主流。
3、然而,周期型任务需要周期被唤醒和工作,且调度周期对数据不敏感,占用较多的cpu资源,导致整体算力的有效利用率较低。
4、因此,亟需一种新的任务调度方法,可有效节省soc算力损耗,提高资源有效利用率,达到降本增效的目的。
技术实现思路
1、本发明实施例所要解决的技术问题在于,提供一种任务调度方法、系统、计算机程序产品、电子设备及存储介质,能够有效节省soc算力损耗,提高资源有效利用率,达到降本增效的目的。
2、为了解决上述技术问题,本发明实施例提供了一种任务调度方法,所述方法包括以下步骤:
3、确定空闲cpu核及其平均负载;
4、若检测到空闲cpu核总数大于等于预设任务调度列表中的待调度任务总数,则根据各空闲cpu核的平均负载,并结合各待调度任务的数据权重,给各待调度任务分配空闲cpu核;其中,各待调度任务的数据权重是由各自所含数据流的预设权重值进行累加得到的;所述数据流是由关键数据流和/或多个一般数据流组成。
5、其中,所述若检测到空闲cpu核总数大于等于预设任务调度列表中的待调度任务总数,则根据各空闲cpu核的平均负载,并结合各待调度任务的数据权重,给各待调度任务分配空闲cpu核的具体步骤包括:
6、从任务调度列表中确定当前待调度任务,并获取预存有当前所有空闲cpu核的资源分配表;
7、根据当前待调度任务的数据权重,并结合所述资源分配表中当前所有空闲cpu核的平均负载,计算出当前待调度任务分别对应于当前所有空闲cpu核的第一优选值;
8、在所述资源分配表中,提取所计算第一优选值为最大的空闲cpu核分配给当前待调度任务并进一步删除,且待确定所述资源分配表中被提取的空闲cpu核完成删除后,更新所述资源分配表。
9、其中,通过公式s1=(100-t)*a+w*(1-a),计算出第一优选值s1;其中,
10、t为所述资源分配表中单个空闲cpu核的平均负载,其取值位于(0,100)之间;a为第一权衡系数,且其为位于[0,1]之间的一个常量;w为当前待调度任务的数据权重。
11、其中,所述方法进一步包括:
12、若检测到所述空闲cpu核总数小于所述任务调度列表中的待调度任务总数,则根据各空闲cpu核的平均负载,并结合各待调度任务的数据权重,给与所述空闲cpu核总数等量的待调度任务分配空闲cpu核;以及
13、待检测有新空闲cpu核时,结合所述任务调度列表中剩余的各待调度任务的数据权重及其等待时长,从剩余的各待调度任务中选其一分配有所检测的新空闲cpu核;其中,所述剩余的各待调度任务为所述任务调度列表中未被分配有空闲cpu核的待调度任务。
14、其中,所述待检测有新空闲cpu核时,结合所述任务调度列表中剩余的各待调度任务的数据权重及其等待时长,从剩余的各待调度任务中选其一分配有所检测的新空闲cpu核的具体步骤包括:
15、根据所述任务调度列表中剩余的各待调度任务的数据权重及其等待时长,计算出剩余的各待调度任务的第二优选值,并从剩余的各待调度任务中,选取第二优选值为最大的待调度任务分配有所检测的新空闲cpu核。
16、其中,通过公式s2=p*b+m*(1-b),计算出第二优选值s2;其中,
17、p为所述任务调度列表中剩余的某个待调度任务的等待时长;b为第二权衡系数,且其为位于[0,1]之间的一个常量;m为剩余的某个待调度任务的数据权重。
18、本发明实施例还提供了一种任务调度系统,包括:
19、空闲cpu核确认单元,用于确定空闲cpu核及其平均负载;
20、第一任务调度单元,用于若检测到空闲cpu核总数大于等于预设任务调度列表中的待调度任务总数,则根据各空闲cpu核的平均负载,并结合各待调度任务的数据权重,给各待调度任务分配空闲cpu核;其中,各待调度任务的数据权重是由各自所含数据流的预设权重值进行累加得到的;所述数据流是由关键数据流和/或多个一般数据流组成。
21、本发明实施例又提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现前述的任务调度方法
22、本发明实施例又提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现前述的任务调度方法。
23、本发明实施例又提供了一种的存储介质,存储有计算机可执行指令,所述计算机可执行指令在由计算机处理器执行时用于执行前述的任务调度方法。
24、实施本发明实施例,具有如下有益效果:
25、本发明的任务调度使用动态调度策略,实现闲时关注cpu平均负载均衡以及忙时关注任务等待时长的双重调度策略,从而能够有效节省soc算力损耗,提高资源有效利用率,达到降本增效的目的。
技术特征:1.一种任务调度方法,其特征在于,所述方法包括以下步骤:
2.如权利要求1所述的任务调度方法,其特征在于,所述若检测到空闲cpu核总数大于等于预设任务调度列表中的待调度任务总数,则根据各空闲cpu核的平均负载,并结合各待调度任务的数据权重,给各待调度任务分配空闲cpu核的具体步骤包括:
3.如权利要求2所述的任务调度方法,其特征在于,通过公式s1=(100-t)*a+w*(1-a),计算出第一优选值s1;其中,
4.如权利要求3所述的任务调度方法,其特征在于,所述方法进一步包括:
5.如权利要求4所述的任务调度方法,其特征在于,所述待检测有新空闲cpu核时,结合所述任务调度列表中剩余的各待调度任务的数据权重及其等待时长,从剩余的各待调度任务中选其一分配有所检测的新空闲cpu核的具体步骤包括:
6.如权利要求5所述的任务调度方法,其特征在于,通过公式s2=p*b+m*(1-b),计算出第二优选值s2;其中,
7.一种任务调度系统,其特征在于,包括:
8.一种计算机程序产品,包括计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时实现如权利要求1~6中任一项所述的任务调度方法。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~6中任一项所述的任务调度方法。
10.一种存储介质,其特征在于,存储有计算机可执行指令,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1~6中任一项所述的任务调度方法。
技术总结本发明提供一种任务调度方法,包括确定空闲CPU核及其平均负载;若检测到空闲CPU核总数大于等于预设任务调度列表中的待调度任务总数,则根据各空闲CPU核的平均负载,并结合各待调度任务的数据权重,给各待调度任务分配空闲CPU核;其中,各待调度任务的数据权重是由各自所含数据流的预设权重值进行累加得到的;数据流是由关键数据流和/或多个一般数据流组成。实施本发明,能够有效节省SOC算力损耗,提高资源有效利用率,达到降本增效的目的。技术研发人员:王茂斌,余方敏,马逸行,张志德受保护的技术使用者:广州汽车集团股份有限公司技术研发日:技术公布日:2024/7/29本文地址:https://www.jishuxx.com/zhuanli/20240730/197052.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。