CN110413397A - 一种面向自动驾驶的任务调度方法 - Google Patents

一种面向自动驾驶的任务调度方法 Download PDF

Info

Publication number
CN110413397A
CN110413397A CN201910701979.8A CN201910701979A CN110413397A CN 110413397 A CN110413397 A CN 110413397A CN 201910701979 A CN201910701979 A CN 201910701979A CN 110413397 A CN110413397 A CN 110413397A
Authority
CN
China
Prior art keywords
task
list
automatic pilot
scheduling
task list
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910701979.8A
Other languages
English (en)
Other versions
CN110413397B (zh
Inventor
付文亮
张放
李晓飞
张德兆
王肖
霍舒豪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Idriverplus Technologies Co Ltd
Original Assignee
Beijing Idriverplus Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Idriverplus Technologies Co Ltd filed Critical Beijing Idriverplus Technologies Co Ltd
Priority to CN201910701979.8A priority Critical patent/CN110413397B/zh
Publication of CN110413397A publication Critical patent/CN110413397A/zh
Application granted granted Critical
Publication of CN110413397B publication Critical patent/CN110413397B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Traffic Control Systems (AREA)

Abstract

本发明实施例涉及一种面向自动驾驶的任务调度方法,包括:获取任务集合,任务具有任务功能属性标签、任务类型标签和触发类型标签;并根据任务功能属性标签、任务类型标签和触发类型标签对任务集合中的任务进行三次分类,最终得到非关键任务列表、驱动任务列表和自动驾驶关键任务列表、时间触发型自动驾驶关键任务列表和事件触发型自动驾驶关键任务列表;对CPU的逻辑处理核心进行隔离分区,得到的每个分区用于执行一个类型的任务;基于分类列表,在每个分区中,采用相应的调度策略,通过逻辑处理核心对所述任务执行任务调度。

Description

一种面向自动驾驶的任务调度方法
技术领域
本发明涉及信息技术领域,尤其涉及一种面向自动驾驶的任务调度方法。
背景技术
随着信息技术与汽车制造技术的深度融合与快速发展,自动驾驶领域技术层出不穷,拓展了算法能力边界的同时带来软件复杂度的极大提升。目前现有软件系统通常包含上百个任务线程、与自动驾驶相关的任务线程多达数十个,这些任务线程具有计算复杂度高、存储消耗大、通信频繁等特点,如果不能合理约束,可能导致任务恶性竞争计算资源、系统计算效率低、反应延迟过高、甚至影响行车安全等问题。
为了保证自动驾驶软件系统反应时间可控,主流的实时操作系统、汽车电子软件提供商提出约束任务执行时间的方法。然而,这些方法要求自动驾驶系统开发人员必须能够提供自动驾驶软件系统中各个任务的优先级和执行逻辑。面对上百个任务及其相互之间的复杂依赖,自动驾驶系统开发人员很难提出一套方法来保证自动驾驶系统稳定可控。
针对上述自动驾驶开发人员面对的困难,目前,主流方案通过优化系统调用时间、提供各类型针对实时性优化的调度算法等形式确保合理的软件反应时间。上述方法均为普适性方法,不是专门为自动驾驶软件系统设计。此外,两种方法针对不同环节进行优化,并非互斥关系。
优化系统调用时间主要指现有实时操作系统针对内核进行优化,对中断处理、信号量响应、用户态与内核态切换等系统操作的时间进行约束。该方法属于针对操作系统基础支撑机制的改善方法,可以间接确保自动驾驶软件系统响应时间的稳定性。
针对实时性优化的调度算法包括抢占式和预分配式调度两种。
抢占式主要指通过对任务优先级、CPU时间片大小、CPU时间片分配原则等进行配置来分配CPU资源的调度方法。基于抢占式调度方法主要有:实时调度策略先到先服务(first in first out scheduling,SCHED_FIFO)、实时调度策略时间片轮转(round robinscheduling,SCHED_RR)、最早截止时间优先(Earliest Deadline First,EDF)及其他衍生算法。SCHED_FIFO为同优先级任务先到先服务,直到本任务执行结束或主动中断,队列中的下个任务才会执行,高优先级会中断低优先级任务执行;SCHED_RR为实时调度策略,与SCHED_FIFO类似,区别在于对于同优先级的任务,各个任务会轮流运行一定的时间片;EDF其将待执行任务队列按照截止日期进行排序,执行截止日期最近的任务。抢占式任务调度方法属于间接式CPU时隙分配方法,用户可以大致决定在某种情况下哪些任务可以被优先执行。在计算资源不充裕的情况下,抢占式可以保证高优先级任务优先完成。
预分配式的调度方法指对每个任务的执行起始时间、结束时间进行排布的调度方法。由于预先分配CPU时隙,该方法避免了由于抢占CPU导致的任务切换,可以保证各个任务的执行。通常情况下,用户需要对任务进行分析,并将这些任务的计划执行时间进行排列,组成一个任务执行周期。预分配式调度方法要求为每个任务指定运行时长;如果任务运行时间不定,则需要为其指定最大运行时间。预分配式调度方式要求计算资源必须足够充裕。
从CPU计算效率来看,抢占式调度方式CPU计算效率较高;预分配式调度方式CPU计算效率较低;从计算确定性来看,抢占式调度方式任务计算时间确定性低;预分配式调度方式任务计算时间确定性高。上述方法仅从CPU分配的角度出发,没有考虑自动驾驶软件系统的特点。
目前,尚未有针对自动驾驶软件系统的任务调度方法发布。
发明内容
本发明的目的针对现有技术的缺陷,提供一种面向自动驾驶的任务调度方法,用于保证系统反应时间,以使系统流畅运行,从而保证各任务的实时性和完整性。
本发明实施例提供了一种面向自动驾驶的任务调度方法,所述任务调度方法包括:
获取任务集合;所述任务集合包括多个任务,所述任务具有任务功能属性标签、任务类型标签和触发类型标签;
根据所述任务功能属性标签,对所述任务集合中的多个任务进行一次分类,得到关键任务列表和非关键任务列表;所述非关键任务列表中包括多个非关键任务,所述关键任务列表中包括多个关键任务;
根据所述任务类型标签对所述关键任务列表中的多个任务进行二次分类,得到驱动任务列表和自动驾驶关键任务列表;
根据所述触发类型标签对所述自动驾驶关键任务列表中的多个任务进行三次分类,得到时间触发型自动驾驶关键任务列表和事件触发型自动驾驶关键任务列表;
对CPU的逻辑处理核心进行隔离分区,得到的每个分区用于执行一个类型的任务;
基于所述非关键任务列表、驱动任务列表和事件触发型自动驾驶关键任务列表中任务的任务量对每个分区确定逻辑处理核心的数量;
在所述每个分区中,采用相应的调度策略,通过所述逻辑处理核心对所述任务执行任务调度。
优选的,所述基于所述非关键任务列表、驱动任务列表和事件触发型自动驾驶关键任务列表中任务的任务量对每个分区确定逻辑处理核心的数量包括:
对所述非关键任务列表中的多个任务、驱动任务列表中的多个任务和事件触发型自动驾驶关键任务列表中的多个任务进行任务执行时间的时间测量,确定各任务的执行时间;
根据所述执行时间确定所述非关键任务列表、驱动任务列表和事件触发型自动驾驶关键任务列表中任务的总执行时间;
根据所述各任务列表的总执行时间确定相应分区的逻辑处理核心的数量。
进一步优选的,所述逻辑处理核心的使用率低于设定阈值。
优选的,所述方法还包括:确定用以执行所述时间触发型自动驾驶关键任务列表中任务的相应分区的逻辑处理核心的数量为1。
优选的,所述在所述每个分区中,采用相应的调度策略,通过所述逻辑处理核心对所述任务执行任务调度具体为:
对非关键任务列表中的多个任务,采用分时调度策略(other scheduling,sched_other)调度策略,执行任务调度。
优选的,所述在所述每个分区中,采用相应的调度策略,通过所述逻辑处理核心对所述任务执行任务调度具体为:
对驱动任务列表中的多个任务,采用sched_other调度策略,执行任务调度。
优选的,所述在所述每个分区中,采用相应的调度策略,通过所述逻辑处理核心对所述任务执行任务调度具体为:
对事件触发型自动驾驶关键任务列表的多个任务,采用sched_rr调度策略,执行任务调度。
优选的,所述在所述每个分区中,采用相应的调度策略,通过所述逻辑处理核心对所述任务执行任务调度具体为:
对时间触发型自动驾驶关键任务列表的多个任务,采用sched_fifo调度策略,执行任务调度。
本发明实施例提供的一种面向自动驾驶的任务调度方法,提供了一种全新的自动驾驶任务调度算法,用于优化系统调度时间的方法,通过优化软件基本操作来降低任务执行过程中的延时,保证了自动驾驶核心任务按照逻辑顺序执行,保证实时性任务在约束的时间内完成,并根据任务计算特点和自动驾驶各个任务的执行逻辑实现了处理器时间片预分配,保证了系统反应时间的同时达到较高的CUP使用效率。本发明不仅保证了系统反应时间,还解决了预分配调度算法与自动驾驶软件系统的适配问题。
附图说明
图1为本发明实施例提供的面向自动驾驶的任务调度方法的方法流程图。
具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
本发明的方法,可以用于自动驾驶领域,以保证自动驾驶系统反应时间,以使自动驾驶系统流畅运行,从而保证各自动驾驶系统中任务的实时性和完整性。
图1为本发明实施例提供的一种面向自动驾驶的任务调度方法流程图,结合图1所示,下面对本发明提供的一种面向自动驾驶的任务调度方法进行说明。
步骤110,获取任务集合;
具体的,任务集合包括多个任务,任务具有任务功能属性标签、任务类型标签和触发类型标签;
例如,任务可以为命令下达、向后台报告状态、空中下载技术(Over-the-AirTechnology,OTA)升级、激光雷达检测、惯性测量单元(Inertial Measurement Unit,IMU)检测、摄像头检测、预测、路径规划、巡迹、换道、转向、鸣笛等任务。其中每个任务具有功能属性标签,任务类型标签和触发类型标签。
功能属性标签是用于标识任务的关键程度类型,为关键任务还是非关键任务;
任务类型标签是用于标识任务的任务类型的,按照任务标签可以分为驱动任务和自动驾驶关键任务;
触发类型标签是用于标识任务的触发类型的,按照触发类型标签可以区分任务为时间触发还是事件触发。
步骤120,根据任务功能属性标签,对任务集合中的多个任务进行一次分类,得到关键任务列表和非关键任务列表;
具体的,非关键任务列表中包括多个非关键任务,关键任务列表中包括多个关键任务;
一般情况下,关键任务指与自动驾驶功能直接相关的任务,主要指以感知、定位、决策和控制为核心的任务;非关键任务指与自动驾驶功能间接相关、操作系统相关任务,主要指OTA升级、任务管理、调试等任务。
例如,系统对包含命令下达、向后台报告状态、OTA、激光雷达检测、IMU、摄像头检测、预测、路径规划、巡迹、换道、转向、鸣笛等任务的任务集合进行一次分类,在本发明的一个具体实例中,将激光雷达检测、IMU、摄像头检测、预测、路径规划、巡迹、换道、转向、鸣笛为关键任务,加入关键任务列表;命令下达、向后台报告状态、OTA为非关键任务,加入非关键任务列表中。
步骤130,根据任务类型标签对关键任务列表中的多个任务进行二次分类,得到驱动任务列表和自动驾驶关键任务列表;
一般情况下,驱动任务指传感器的通信任务,用于接收来自传感器的数据,具有周期性;自动驾驶关键任务指自动驾驶算法直接相关的任务。
例如:对关键任务列表中的激光雷达检测、IMU、摄像头检测、预测、路径规划、巡迹、换道、转向、鸣笛进行二次分类、激光雷达检测、IMU、摄像头检测为驱动任务,加入驱动任务列表中;预测、路径规划、巡迹、换道、转向、鸣笛为自动驾驶关键任务,加入自动驾驶关键任务列表中。
步骤140,根据触发类型标签对自动驾驶关键任务列表中的多个任务进行三次分类,得到时间触发型自动驾驶关键任务列表和事件触发型自动驾驶关键任务列表;
其中,时间触发型自动驾驶关键任务指固定时间、固定顺序依次执行的任务,该类型任务直接决定了自动驾驶软件系统反应时间,需要强实时性保障;事件触发型自动驾驶关键任务指根据判断条件可能会执行的任务,其时间敏感性相对较低。
例如:对包含预测、路径规划、巡迹、换道、转向、鸣笛路径规划、巡迹、换道、转向、鸣笛的自动驾驶关键任务列表进行分类,预测、路径规划、巡迹为时间触发型自动驾驶关键任务,加入时间触发型自动驾驶关键任务列表中;换道、转向、鸣笛为事件触发型自动驾驶关键任务,加入事件触发型自动驾驶关键任务列表中。
步骤150,对CPU的逻辑处理核心进行隔离分区,得到的每个分区用于执行一个类型的任务;
对CPU的逻辑处理核心进行隔离分区可以针对不同类型任务任务实现采用的调度策略与资源分配策略。
例如,将CPU的逻辑处理核心进行隔离分区,分为四个区,指定在第一分区执行非关键任务列表中的任务;指定在第二分区执行驱动任务列表中的任务;指定在第三分区执行事件触发型自动驾驶关键任务列表中的任务,指定在第四分区执行时间触发型自动驾驶关键任务列表中的任务。
步骤160,基于非关键任务列表、驱动任务列表和事件触发型自动驾驶关键任务列表中任务的任务量对每个分区确定逻辑处理核心的数量;
具体的,确定用以执行时间触发型自动驾驶关键任务列表中任务的相应分区的逻辑处理核心的数量为1。
而基于非关键任务列表、驱动任务列表和事件触发型自动驾驶关键任务列表中任务的任务量对每个分区确定逻辑处理核心的数量包括:
对非关键任务列表中的多个任务、驱动任务列表中的多个任务和事件触发型自动驾驶关键任务列表中的多个任务进行任务执行时间的时间测量,确定各任务的执行时间;
根据执行时间确定非关键任务列表、驱动任务列表和事件触发型自动驾驶关键任务列表中任务的总执行时间;
根据各任务列表的总执行时间确定相应分区的逻辑处理核心的数量,逻辑处理核心的使用率低于设定阈值。
在本发明的一个例子中,CPU的逻辑核心的数量为T,T为CPU逻辑核心的总数量,T的值为大于等于CPU物理核心的数量的正整数,T是否与CPU物理核心的数量相等,取决于虚拟机配置策略。
本发明实施例指定的第四分区执行时间触发型自动驾驶关键任务列表中任务,由于第四分区执行的是时间触发型自动驾驶关键任务,为了保证时间触发型自动驾驶关键任务能够按照逻辑顺序依次执行,所以限定第四分区的逻辑核心的数量P=1。
对上述非关键任务列表中、驱动任务列表和事件触发型自动驾驶关键任务列表的各列表中的各个任务进行任务执行时间的测量,可以通过各任务执行前后的时间戳来确定每个任务的执行时间,对各列表中的各任务的执行时间进行相加得到各列表中的任务总执行时间,再按照上述三个任务列表中任务的总执行时间确定相应分区的逻辑处理核心的数量分别为N,M,K。其中,N,M,K为大于等于1的正整数,并且N+M+K+P=T。
在本发明具体实例中,可以是对各任务列表中的命令下达、向后台报告状态、OTA、激光雷达检测、IMU、摄像头检测、换道、转向、鸣笛任务进行执行时间测量,得到各任务的执行时间;
将命令下达、向后台报告状态、OTA的执行时间相加,就得到了非关键任务列表中任务的总执行时间,指定非关键任务在第一分区中执行,第一分区的逻辑核心数量为N。为了保证所有非关键任务列表中的各任务正常执行,要求保障每个逻辑核心的使用率不高于设定阈值,例如80%,可以基于这一要求确定N的具体取值数量。
将激光雷达检测、IMU、摄像头检测的执行时间相加,得到驱动任务列表中任务的总执行时间,指定驱动任务在第二分区中执行,第二分区的逻辑核心的数量为M。为了保证所有驱动任务列表中的各任务正常执行,要求保障每个逻辑核心的使用率不高于设定阈值,例如80%,可以基于这一要求确定M的具体取值数量。
将换道、转向、鸣笛的执行时间相加,就得到了事件触发性自动驾驶关键任务列表中任务的总执行时间,指定事件触发性自动驾驶关键任务在第三分区中执行,第三分区的逻辑核心的数量为K。为了保证所有事件触发性自动驾驶关键任务列表中的各任务正常执行,要求保障每个逻辑核心的使用率不高于设定阈值,例如80%,可以基于这一要求确定K的具体取值数量。
步骤170,在每个分区中,采用相应的调度策略,通过逻辑处理核心对任务执行任务调度。
优选的,对事件触发型自动驾驶关键任务列表的多个任务,采用sched_rr调度策略,执行任务调度。
具体的,在第三分区中,采用sched_rr调度策略,执行事件触发型自动驾驶关键任务中的各任务,该策略允许任务通过抢占策略获得计算资源,保证每个任务都可以获得一定计算时间。
优选的,对时间触发型自动驾驶关键任务列表的多个任务,采用sched_fifo调度策略,执行任务调度。
具体的,在第四分区中,采用sched_fifo调度策略、将时间触发型自动驾驶关键任务按照自动驾驶逻辑排布。例如,依次执行感知、决策、控制主线程。该策略主要为了保证核心任务得到足够的CPU时间并能够按照逻辑顺序执行。为了保证任务执行的周期性,需要为第四个分区设计固定时间预算的任务排布表,并始终按照排布表进行任务调度。通过排布表,系统可以严格约束每个任务的起始计算时间和最大结束计算时间。任务排布需要保证该分区的每个处理核使用率不高于80%。
优选的,对非关键任务列表中的多个任务,采用sched_other调度策略,执行任务调度。
具体的,在第一分区中,采用sched_other调度策略,执行非关键任务列表中的多个任务,与内核操作相关的任务优先级高于其他任务优先级。该分区处理核心数量为N,N为保证所有非关键任务正常执行的基础上,每个核心的使用率不高于80%。此外,针对每个计算核心的所有任务的执行时间进行统计,合理分配处理器时间。
优选的,对驱动任务列表中的多个任务,采用sched_other调度策略,执行任务调度。
具体的,在第二分区中,采用sched_other调度策略,执行驱动任务列表中的各任务,该策略主要考虑各个传感器各自按照自身频率工作,从整体工作强度看具有均匀分布特性。第二个分区的处理核心数M为保证驱动任务正常工作基础上每个处理核心的使用率不高于80%。此外,针对每个计算核心的所有任务的执行时间进行统计,合理分配处理器时间。
本发明实施例提供的一种面向自动驾驶的任务调度方法,提供了一种全新的自动驾驶任务调度算法,其将任务集合中的任务按照不同类型进行分类,并根据分类数量对CPU逻辑核心数进行隔离成相应数量的分区,并指定在各分区中采用不同调度策略执行相应分类的中的各任务。此方法对于将任务集合中的任务选用不同调度算法进行调度执行提供方便,是一种用于优化系统调度时间的方法,通过优化自动驾驶系统来降低任务执行过程中的延时,保证了自动驾驶核心任务按照逻辑顺序执行,保证实时性任务在约束的时间内完成,并根据任务计算特点和自动驾驶各个任务的执行逻辑实现了处理器时间片预分配,保证了系统反应时间的同时达到较高的CUP使用效率。本发明不仅保证了系统反应时间,还解决了预分配调度算法与自动驾驶软件系统的适配问题。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种面向自动驾驶的任务调度方法,其特征在于,所述任务调度方法包括:
获取任务集合;所述任务集合包括多个任务,所述任务具有任务功能属性标签、任务类型标签和触发类型标签;
根据所述任务功能属性标签,对所述任务集合中的多个任务进行一次分类,得到关键任务列表和非关键任务列表;所述非关键任务列表中包括多个非关键任务,所述关键任务列表中包括多个关键任务;
根据所述任务类型标签对所述关键任务列表中的多个任务进行二次分类,得到驱动任务列表和自动驾驶关键任务列表;
根据所述触发类型标签对所述自动驾驶关键任务列表中的多个任务进行三次分类,得到时间触发型自动驾驶关键任务列表和事件触发型自动驾驶关键任务列表;
对CPU的逻辑处理核心进行隔离分区,得到的每个分区用于执行一个类型的任务;
基于所述非关键任务列表、驱动任务列表和事件触发型自动驾驶关键任务列表中任务的任务量对每个分区确定逻辑处理核心的数量;
在所述每个分区中,采用相应的调度策略,通过所述逻辑处理核心对所述任务执行任务调度。
2.根据权利要求1所述的任务调度方法,其特征在于,所述基于所述非关键任务列表、驱动任务列表和事件触发型自动驾驶关键任务列表中任务的任务量对每个分区确定逻辑处理核心的数量包括:
对所述非关键任务列表中的多个任务、驱动任务列表中的多个任务和事件触发型自动驾驶关键任务列表中的多个任务进行任务执行时间的时间测量,确定各任务的执行时间;
根据所述执行时间确定所述非关键任务列表、驱动任务列表和事件触发型自动驾驶关键任务列表中任务的总执行时间;
根据所述各任务列表的总执行时间确定相应分区的逻辑处理核心的数量。
3.根据权利要求2所述的任务调度方法,其特征在于,所述逻辑处理核心的使用率低于设定阈值。
4.根据权利要求1或2所述的任务调度方法,其特征在于,所述方法还包括:确定用以执行所述时间触发型自动驾驶关键任务列表中任务的相应分区的逻辑处理核心的数量为1。
5.根据权利要求1所述的任务调度方法,其特征在于,所述在所述每个分区中,采用相应的调度策略,通过所述逻辑处理核心对所述任务执行任务调度具体为:
对非关键任务列表中的多个任务,采用sched_other调度策略,执行任务调度。
6.根据权利要求1所述的任务调度方法,其特征在于,所述在所述每个分区中,采用相应的调度策略,通过所述逻辑处理核心对所述任务执行任务调度具体为:
对驱动任务列表中的多个任务,采用sched_other调度策略,执行任务调度。
7.根据权利要求1所述的任务调度方法,其特征在于,所述在所述每个分区中,采用相应的调度策略,通过所述逻辑处理核心对所述任务执行任务调度具体为:
对事件触发型自动驾驶关键任务列表的多个任务,采用sched_rr调度策略,执行任务调度。
8.根据权利要求1所述的任务调度方法,其特征在于,所述在所述每个分区中,采用相应的调度策略,通过所述逻辑处理核心对所述任务执行任务调度具体为:
对时间触发型自动驾驶关键任务列表的多个任务,采用sched_fifo调度策略,执行任务调度。
CN201910701979.8A 2019-07-31 2019-07-31 一种面向自动驾驶的任务调度方法 Active CN110413397B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910701979.8A CN110413397B (zh) 2019-07-31 2019-07-31 一种面向自动驾驶的任务调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910701979.8A CN110413397B (zh) 2019-07-31 2019-07-31 一种面向自动驾驶的任务调度方法

Publications (2)

Publication Number Publication Date
CN110413397A true CN110413397A (zh) 2019-11-05
CN110413397B CN110413397B (zh) 2021-09-10

Family

ID=68364866

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910701979.8A Active CN110413397B (zh) 2019-07-31 2019-07-31 一种面向自动驾驶的任务调度方法

Country Status (1)

Country Link
CN (1) CN110413397B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116069504A (zh) * 2023-01-28 2023-05-05 广汽埃安新能源汽车股份有限公司 自动驾驶仿真中多核处理器的调度方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120079408A1 (en) * 2010-09-24 2012-03-29 Visibility, Biz. Inc. Systems and methods for generating a swimlane timeline for task data visualization
CN105373425A (zh) * 2015-10-28 2016-03-02 浪潮(北京)电子信息产业有限公司 一种嵌入式Linux系统性能优化的方法及装置
CN105868222A (zh) * 2015-09-17 2016-08-17 乐视网信息技术(北京)股份有限公司 一种任务调度方法及装置
CN108549583A (zh) * 2018-04-17 2018-09-18 成都致云科技有限公司 大数据处理方法、装置、服务器及可读存储介质
CN109144691A (zh) * 2018-07-13 2019-01-04 哈尔滨工程大学 一种面向多核处理器的任务调度分配方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120079408A1 (en) * 2010-09-24 2012-03-29 Visibility, Biz. Inc. Systems and methods for generating a swimlane timeline for task data visualization
CN105868222A (zh) * 2015-09-17 2016-08-17 乐视网信息技术(北京)股份有限公司 一种任务调度方法及装置
CN105373425A (zh) * 2015-10-28 2016-03-02 浪潮(北京)电子信息产业有限公司 一种嵌入式Linux系统性能优化的方法及装置
CN108549583A (zh) * 2018-04-17 2018-09-18 成都致云科技有限公司 大数据处理方法、装置、服务器及可读存储介质
CN109144691A (zh) * 2018-07-13 2019-01-04 哈尔滨工程大学 一种面向多核处理器的任务调度分配方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116069504A (zh) * 2023-01-28 2023-05-05 广汽埃安新能源汽车股份有限公司 自动驾驶仿真中多核处理器的调度方法及装置
CN116069504B (zh) * 2023-01-28 2023-11-10 广汽埃安新能源汽车股份有限公司 自动驾驶仿真中多核处理器的调度方法及装置

Also Published As

Publication number Publication date
CN110413397B (zh) 2021-09-10

Similar Documents

Publication Publication Date Title
US11567795B2 (en) Minimizing impact of migrating virtual services
US20210200587A1 (en) Resource scheduling method and apparatus
EP2742426B1 (en) Network-aware coordination of virtual machine migrations in enterprise data centers and clouds
WO2020181813A1 (zh) 一种基于数据处理的任务调度方法及相关设备
US20170180220A1 (en) Techniques to Generate Workload Performance Fingerprints for Cloud Infrastructure Elements
US20230376346A1 (en) Techniques for container scheduling in a virtual environment
CN105022668B (zh) 一种作业调度方法及系统
CN112099975B (zh) 一种消息处理方法及系统、存储介质
WO2020172852A1 (en) Computing resource scheduling method, scheduler, internet of things system, and computer readable medium
CN112799817A (zh) 一种微服务资源调度系统和方法
CN106062716B (zh) 在单任务系统中实现多任务的方法、装置及单任务系统
CN104239154A (zh) 一种Hadoop集群中的作业调度方法和作业调度器
CN102541642A (zh) 一种增强实时性能的任务管理方法
KR20210084620A (ko) 프로세서에서의 여유시간 인식, 동적 우선순위 변경
CN105373425A (zh) 一种嵌入式Linux系统性能优化的方法及装置
CN115309519A (zh) 基于时间触发机制的确定性任务调度编排方法、系统和存储介质
Russo et al. Towards qos-aware function composition scheduling in apache openwhisk
CN113391911B (zh) 一种大数据资源动态调度方法、装置和设备
CN110413397A (zh) 一种面向自动驾驶的任务调度方法
CN114675956A (zh) 一种基于Kubernetes集群之间Pod配置及调度的方法
US20170024245A1 (en) Workload-aware shared processing of map-reduce jobs
WO2019029721A1 (zh) 任务的调度方法、装置、设备及存储介质
CN108845870B (zh) 一种基于pWCET整形的概率性实时任务调度方法
Lumpp et al. Enabling Kubernetes orchestration of mixed-criticality software for autonomous mobile robots
CN110928649A (zh) 资源调度的方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: B4-006, maker Plaza, 338 East Street, Huilongguan town, Changping District, Beijing 100096

Patentee after: Beijing Idriverplus Technology Co.,Ltd.

Address before: B4-006, maker Plaza, 338 East Street, Huilongguan town, Changping District, Beijing 100096

Patentee before: Beijing Idriverplus Technology Co.,Ltd.