[发明专利]一种任务调度方法、装置、设备和介质有效
申请号: | 201811003390.2 | 申请日: | 2018-08-30 |
公开(公告)号: | CN109117260B | 公开(公告)日: | 2021-01-01 |
发明(设计)人: | 张超;陈卓;姚卫锋;夏黎明;辛建康;邓呈亮 | 申请(专利权)人: | 百度在线网络技术(北京)有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 孟金喆 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 任务 调度 方法 装置 设备 介质 | ||
本发明实施例公开了一种任务调度方法、装置、设备和介质。该方法包括:通过绑定处理器的主线程,从任务队列中获取待执行的处理任务,由绑定的处理器执行所述主线程,以执行该处理任务;获取新触发处理任务;如果所述新触发处理任务的优先级大于或等于主线程当前执行处理任务的优先级,则将所述新触发处理任务分配给备用线程;通过系统内核,从至少一个处理器中调度分配处理器来执行所述备用线程。通过该方法可以实现对各处理任务的合理调度,且兼顾无人车系统的资源成本。
技术领域
本发明实施例涉及计算机任务处理控制技术,尤其涉及一种任务调度方法、装置、设备和介质。
背景技术
无人车系统是目前人工智能的一个重要的应用领域。在无人车系统中,运行着对应不同功能的多个功能模块,各个功能模块由程序实现,可以有或没有配合的硬件设备。典型的功能模块如,驾驶(Driver)模块、感知(Perception)模块和规划(Planning)模块等十几、甚至数十个功能模块。不同的无人车系统,会由于配置的硬件设备不同,或软件功能不同,而设置不同的功能模块。
每个功能模块都有对应的处理任务,当该处理任务实时获取到输入数据或者接收到执行指令时,就需要调度处理器来执行该处理任务。对于现有的多核系统来说,即具有多个处理器的系统,是由系统内核程序来调度处理器的时间片的,可为需执行的处理任务建立线程,而后根据各个线程处理任务的优先级调度分配处理器的时间片来执行。由于无人车系统的处理任务繁多、且复杂,所以需要处理器频繁切换线程。
线程切换前后需要保护和恢复上下文信息,因此频繁切换线程会导致资源的浪费。由于车载硬件本身并行度和执行资源都非常有限,上述这种传统的多线程方案存在线程切换开销过大、任务并行度不足等缺点,严重限制了车载计算的性能和可扩展性。
发明内容
本发明实施例提供一种任务调度方法、装置、设备和介质,以实现对各处理任务的合理调度,且兼顾无人车系统的资源成本。
第一方面,本发明实施例提供了一种任务调度方法,包括:
通过绑定处理器的主线程,从任务队列中获取待执行的处理任务,由绑定的处理器执行所述主线程,以执行该处理任务;
获取新触发处理任务;
如果所述新触发处理任务的优先级大于或等于主线程当前执行处理任务的优先级,则将所述新触发处理任务分配给备用线程;
通过系统内核,从至少一个处理器中调度分配处理器来执行所述备用线程。
第二方面,本发明实施例提供了一种任务调度装置,包括:
处理任务执行模块,用于通过绑定处理器的主线程,从任务队列中获取待执行的处理任务,由绑定的处理器执行所述主线程,以执行该处理任务;
处理任务获取模块,用于获取新触发处理任务;
备用线程分配模块,用于如果所述新触发处理任务的优先级大于或等于主线程当前执行处理任务的优先级,则将所述新触发处理任务分配给备用线程;
备用线程执行模块,用于通过系统内核,从至少一个处理器中调度分配处理器来执行所述备用线程。
第三方面,本发明实施例提供了一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如任意实施例所述的任务调度方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如任意实施例所述的任务调度方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百度在线网络技术(北京)有限公司,未经百度在线网络技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811003390.2/2.html,转载请声明来源钻瓜专利网。