CN114212096B - 自动驾驶车辆控制延时处理方法及装置 - Google Patents
自动驾驶车辆控制延时处理方法及装置 Download PDFInfo
- Publication number
- CN114212096B CN114212096B CN202210159731.5A CN202210159731A CN114212096B CN 114212096 B CN114212096 B CN 114212096B CN 202210159731 A CN202210159731 A CN 202210159731A CN 114212096 B CN114212096 B CN 114212096B
- Authority
- CN
- China
- Prior art keywords
- priority
- thread
- preset
- current thread
- current
- 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.)
- Active
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W50/02—Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
- B60W50/029—Adapting to failures or work around with other constraints, e.g. circumvention by avoiding use of failed parts
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W50/02—Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
- B60W50/029—Adapting to failures or work around with other constraints, e.g. circumvention by avoiding use of failed parts
- B60W2050/0297—Control Giving priority to different actuators or systems
Landscapes
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Human Computer Interaction (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及自动驾驶技术领域,提供一种自动驾驶车辆控制延时处理方法及装置,其中方法包括:监控预设功能节点中的线程是否出现延时,其中线程有预置优先级范围;若当前线程出现延时且当前线程为第一优先级,则调整优先级为大于第一优先级的第二优先级;若当前线程出现延时且当前线程为第三优先级,则在判断当前线程未绑定在对应的处理器内核上时,将当前线程绑定至与其对应的处理器的内核上,其中第三优先级为当前线程的预置优先级范围内的最大值。用以解决通过增加处理器数量的方式来增强处理速度和提高计算能力,而导致的成本提高的缺陷,实现在不增加处理器数量的前提下,合理利用处理器资源,增强数据处理速度和提高计算能力的效果。
Description
技术领域
本发明涉及自动驾驶技术领域,尤其涉及一种自动驾驶车辆控制延时处理方法及装置。
背景技术
自动驾驶控制系统是一个复杂的控制系统,涉及到高精地图、感知、决策、规划、控制等模块,该系统的运行需要处理器具有快速的数据处理及计算能力。
当自动驾驶车辆的处理器在处理速度或处理能力不足时,会导致程序运行堵塞、卡顿,而当程序堵塞、卡顿时则会出现自动驾驶车辆控制失效,进而影响自动驾驶的安全性。
现有技术中为增强处理速度、提高计算能力往往通过增加处理器数量的方式实现,但是增加处理器会导致成本提高,而若不增加处理器,程序运行期间出现堵塞、卡顿的情况的发生频率又将持续增加。
发明内容
本发明提供一种自动驾驶车辆控制延时处理方法及装置,用以解决现有技术中通过增加处理器数量的方式来增强处理速度和提高计算能力,而导致的成本提高的缺陷,实现在不增加处理器数量的前提下,合理利用处理器资源,增强数据处理速度和提高计算能力的效果。
本发明提供一种自动驾驶车辆控制延时处理方法,包括:
监控预设功能节点中的线程是否出现延时,其中所述预设功能节点中至少包括一个线程,所述线程有预置优先级范围;
若监控到所述预设功能节点中的当前线程出现延时且所述当前线程为第一优先级,则调整所述当前线程的优先级为第二优先级,其中所述第一优先级和所述第二优先级均在当前线程的预置优先级范围内,且所述第二优先级大于所述第一优先级;
若监控到所述预设功能节点中的当前线程出现延时且所述当前线程为第三优先级,则在判断所述当前线程未绑定在与其对应的处理器内核上的情况下,将所述当前线程绑定至所述与其对应的处理器的内核上,其中所述第三优先级大于所述第二优先级,且所述第三优先级为当前线程的预置优先级范围内的最大值。
根据本发明所述的自动驾驶车辆控制延时处理方法,还包括:
在判断所述当前线程已绑定在与其对应的处理器的内核上的情况下,通过报警响应。
根据本发明所述的自动驾驶车辆控制延时处理方法,所述监控预设功能节点中的线程是否出现延时,包括:
获取所述预设功能节点中的各线程的运行参数;
基于所述运行参数,判断所述线程是否出现延时。
根据本发明所述的自动驾驶车辆控制延时处理方法,所述获取所述预设功能节点中的各线程的运行参数,包括:
分别获取所述预设功能节点中的各线程的运行周期和运行时长;
所述运行周期为所述线程从本次运行完成时刻到下次运行完成时刻间的时长;
所述运行时长为所述线程从回调开始到回调结束间的时长。
根据本发明所述的自动驾驶车辆控制延时处理方法,所述基于所述运行参数,判断所述线程是否出现延时,包括:
判断所述运行周期是否大于设定的运行周期阈值;
在所述运行周期大于设定的所述运行周期阈值时,判定所述线程出现延时。
根据本发明所述的自动驾驶车辆控制延时处理方法,所述基于所述运行参数,判断所述线程是否出现延时,包括:
判断所述运行时长是否大于设定的运行时长阈值;
在所述运行时长大于设定的所述运行时长阈值时,判定所述线程出现延时。
根据本发明所述的自动驾驶车辆控制延时处理方法,在初始运行时,所述预设功能节点中的线程的优先级设定为所述线程的预置优先级范围内的最小值。
根据本发明所述的自动驾驶车辆控制延时处理方法,所述预设功能节点中的线程的预置优先级范围基于为所述预设功能节点预先设定的优先级范围划分。
根据本发明所述的自动驾驶车辆控制延时处理方法,当所述预设功能节点中包括多个线程,且所述处理器为多核处理器时,为属于同一所述预设功能节点中的线程预先分配的处理器的内核相同。
本发明提供的自动驾驶车辆控制延时处理方法及装置,一方面,通过上调发生延时的线程的优先级,使得所述线程在下次运行时,因为优先级的提高而具有较之所述线程未调整优先级时,以及所有线程中相对更多的线程具有更高的优先级,使得能够为所述线程匹配更多的处理资源,实现在不增加处理器的情况下,处理器资源更为合理的利用,进而降低线程延时的几率。
另一方面,通过为线程预置优先级范围,然后在预置优先级范围内调整线程的优先级,能够实现根据需求而灵活设置优先级范围,尤其是可以对车辆行驶的关键线程预置设置较高的优先级范围,进而有效解决因处理器处理能力不足导致的关键线程运行延时,即降低车辆因程序运行问题出现自动驾驶车辆控制失效的问题,提高了车辆行驶的安全性。
再一方面,当出现延时的线程的当前优先级已经达到为所述线程预置的优先级范围内的最大值时,通过将所述线程绑定至为所述线程预先分配的处理器内核上,一方面避免了线程每次运行时重复获取缓存数据的麻烦,进而从提高线程运行效率的角度达到减少线程延时的目的,另一方面,通过将优先级已经在预置优先级范围内最高值的线程先绑定至固定的处理器内核上,不仅避免了各线程间资源的相互挤占,也避免了较低优先级的线程挤占其他优先级更高的线程的资源,进而进一步提高了处理器资源分配的合理性。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的自动驾驶车辆控制延时处理方法的流程示意图之一;
图2是本发明提供的自动驾驶车辆控制延时处理方法的流程示意图之二;
图3本发明提供的自动驾驶车辆控制延时处理装置的结构示意图;
图4是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面先对本发明实施例所涉及的名词进行解释,以便于本发明所述方案的理解:
自动驾驶车辆:是自动驾驶的被控对象,响应处理器发出的控制指令。
处理器:作为自动驾驶各控制模块程序运行的电子介质,所述控制器可为单核处理器,也可为多核处理器。所述控制器具有支持设置程序运行优先级的功能,且支持多线程处理。目前自动驾驶的处理器一般都具备优先级设置功能和多线程处理能力。
功能节点:为自动驾驶控制模块对应的运行程序。举例说明:自动驾驶控制系统包括:感知、决策、规划、控制等模块,每一模块可对应一个功能节点,也可对应为多个功能节点。
线程:为操作系统能够进行运算调度的最小单位;功能节点的运行程序通过一个或多个线程实现。
多线程是指从软件或者硬件上实现多个线程并发执行的技术。
下面结合图1和图2描述本发明的一种自动驾驶车辆控制延时处理方法,该方法由控制器或者其中的软件和/或硬件的组合执行,如图1所示,所述方法包括以下步骤:
101、监控预设功能节点中的线程是否出现延时,其中所述预设功能节点中至少包括一个线程,所述线程有预置优先级范围;
具体地,在本发明实施例所述的自动驾驶车辆控制延时处理方法中,是以线程为单位进行处理器在程序运行时是否卡顿的,因而,各个线程是否延时是分别独立判断的。
更具体地,当所述预设功能节点中包括不止一个线程时,各线程的预置优先级范围,可以根据不同用户的需求而灵活设置,作为比较普遍或较为合理的设置方式,为依据各线程对车辆行驶的关键程度进行预置。例如,自动驾驶车辆只有在定位准确时,感知、控制,以及路径规划等才可正常工作,基于此,可以将关于定位的线程的优先级范围设置的高于其他线程的优先级。
102、若监控到所述预设功能节点中的当前线程出现延时且所述当前线程为第一优先级,则调整所述当前线程的优先级为第二优先级,其中所述第一优先级和所述第二优先级均在当前线程的预置优先级范围内,且所述第二优先级大于所述第一优先级;
具体地,通过为预设功能节点中的线程预置优先级范围,然后在监控到当前线程出现延时且所述当前线程为第一优先级时,调整所述当前线程的优先级为大于所述第一优先级的第二优先级,即在当前线程的预置优先级范围内调整当前线程的优先级,不仅能够实现根据需求而灵活设置优先级范围,还能够实现对车辆行驶的关键线程通过预置较高的优先级范围,进而有效解决因处理器处理能力不足导致的关键线程运行延时,即降低车辆因程序运行问题出现自动驾驶车辆控制失效的问题,提高了车辆行驶的安全性。
103、若监控到所述预设功能节点中的当前线程出现延时且所述当前线程为第三优先级,则在判断所述当前线程未绑定在与其对应的处理器内核上的情况下,将所述当前线程绑定至所述与其对应的处理器的内核上,其中所述第三优先级大于所述第二优先级,且所述第三优先级为当前线程的预置优先级范围内的最大值。
可以理解的是,针对多核处理器,各线程在初始运行时,是由处理器进行实时分配的,即哪个处理器核上有资源,即将线程分配至哪个处理器核上运行,同时,线程每次运行均需要调用数据。因而,当判定线程发生延时时,说明处理器为所述线程分配的处理器核在所述线程运行时并不能提供足够的资源,所以需要更为合理的分配处理器资源来避免线程在下次运行时仍旧发生延时。
具体地,当监控到当前线程发生延时时,通过将当前线程的优先级由第一优先级调整至第二优先级,能够使得在所述线程下次运行时,处理器能够将资源优先分配给当前线程,进而达到降低所述当前线程在后续运行时,仍发生延时的概率的效果,然而,当当前线程的优先级已经达到第三优先级,即所述当前线程的预置优先级范围内的最大值时,所述当前线程的优先级已经没有了向上调整的空间,此时,在判定所述当前线程未绑定在与其对应的处理器的内核上时,通过将当前线程绑定至为所述线程预先分配的处理器的内核上,能够使得当前线程在后续运行时均在所述处理器内核上,而可以理解的是,如果线程每次均在同一处理器内核上运行,是能够避免线程每次运行时重复获取缓存数据的麻烦的,进而从提高线程运行效率的角度达到了减少线程延时的目的。
更具体地,因为处理器执行的是按照优先级为线程分配资源的处理规则,所以优先级越低的线程会越可能更容易,也越早出现延时,因而,通过将优先级已经达到第三优先级,且未绑定在与其对应的处理器内核上的线程先绑定至固定的处理器内核上,等同于将处理器的资源进行了分配,不仅避免了各线程间资源的相互挤占,也避免了较低优先级的线程挤占其他优先级更高的线程的资源,进而进一步提高了处理器资源分配的合理性。
作为本发明的一种实施例,所述的自动驾驶车辆控制延时处理方法中,还包括:
在判断所述当前线程已绑定在与其对应的处理器的内核上的情况下,通过报警响应。
具体地,当出现延时的当前线程的优先级已经调整至了所述当前线程的预置优先级范围内的最大值,且所述当前线程也已经在为所述线程预先分配的处理器内核上运行,而所述当前线程在运行时仍旧发生延时,则能够说明所述当前线程所运行在的处理器的运行能力不足,此时通过报警响应,能够提醒相关人员针对处理器能力及时作出处理,以提高车辆的安全性。
作为本发明的一种实施例,所述监控预设功能节点中的线程是否出现延时,包括:
获取所述预设功能节点中的各线程的运行参数;
基于所述运行参数,判断所述线程是否出现延时。
具体地,在程序运行后,各线程开始执行,此时,通过不断获取所述预设功能节点中的线程的运行参数,能够实现对线程是否延时的监控。
作为本发明的一种实施例,所述获取所述预设功能节点中的各线程的运行参数,包括:
分别获取所述预设功能节点中的各线程的运行周期和运行时长;
所述运行周期为所述线程从本次运行完成时刻到下次运行完成时刻间的时长;
所述运行时长为所述线程从回调开始到回调结束间的时长。
具体地,通过获取线程运行的运行周期和运行时长,均能判断线程运行是否发生延时。
作为本发明的一种实施例,所述基于所述运行参数,判断所述线程是否出现延时,包括:
判断所述运行周期是否大于设定的运行周期阈值;
在所述运行周期大于设定的所述运行周期阈值时,判定所述线程出现延时。
具体地,当同一线程当前的运行周期较之前运行时的运行周期明显用时更长时,可以判断线程在当前运行时出现了延时,因而,通过合理设置运行周期阈值,能够对各线程是否延时进行判断。
作为本发明的一种实施例,所述基于所述运行参数,判断所述线程是否出现延时,包括:
判断所述运行时长是否大于设定的运行时长阈值;
在所述运行时长大于设定的所述运行时长阈值时,判定所述线程出现延时。
具体地,当同一线程当前的运行时长较之之前运行的运行时长明显边长时,可以判断线程在当前运行时出现了延时,因而,通过合理设置运行时长阈值,能够对各线程是否延时进行判断。
更具体地,当针对线程是否发生延时,基于运行周期和运行时长双重判断时,能够进一步提高对线程是否延时判断的准确性。
作为本发明的一种实施例,在初始运行时,所述预设功能节点中的线程的优先级设定为所述线程的预置优先级范围内的最小值。
具体地,通过在初始运行时,将线程的优先级设定为所述线程的预设优先级范围内的最小值,能够为线程在发生延时,留有更多的优先级调整空间,以便于进一步合理处理器的资源分配。
作为本发明的一种实施例,所述预设功能节点中的线程的预置优先级范围基于为所述预设功能节点预先设定的优先级范围划分。
可以理解的是,预设功能节点对应自动驾驶车辆各个模块,因而,同属于同一预设功能节点的线程间的关联性具有更强的关联性,基于不同控制模块对于自动驾驶车辆控制的关键性,对各预设功能节点的优先级范围的划分更为方便,基于此,将线程的预设优先级范围基于为所述线程所属的预设功能节点预先设定的优先级范围划分,使得对各线程的优先级范围分配更为合理。
具体地,以示例的方式说明各线程优先级范围的划分方式,首先,规划各预设功能节点,假设预设功能节点1优先级高于预设功能节点2,预设功能节点2优先级高于预设功能节点3(优先级高低评定以实际实施经验等人为评定,例如:依据各预设功能节点对应的控制模块相对于自动驾驶车辆控制的关键程度),以优先级数值越大,代表优先级越高为例,则可设定预设功能节点1可供设置的优先级范围为80-99;预设功能节点2可供设置的优先级范围为60-79;预设功能节点3可供设置优先级范围40-59。
然后规划各预设功能节点中的线程的优先级范围:以将单个预设功能节点中的程序按功能或按模块分为不同的线程为例;假设预设功能节点1中按重要程度将分为三个线程:线程1、线程2、线程3;而线程1的优先级高于线程2,线程2的优先级高于线程3;则将三个线程按优先级再次划分为预设功能节点1设定的优先级范围80-99:如将线程1设定范围为92至99;线程2设定范围为86至91;线程3设定范围为80-85。
可以理解的是,上述对预设功能节点以及线程的优先权范围设定的具体数值仅是示例性的,上述优先级范围可根据实际情况改变和调整。
作为本发明的一种实施例,当所述预设功能节点中包括多个线程,且所述处理器为多核处理器时,为属于同一所述预设功能节点中的线程预先分配的处理器的内核相同。
具体地,基于同属于同一预设功能节点的线程的关联性更强,将关联性更强的线程预先分配给相同的处理器内核,能够使得处理器资源分配更为合理。
综上,如图2所示,本发明上述实施例所述的自动驾驶车辆控制延时处理方法的总体运行流程,包括以下步骤:
201、程序开始;
202、获取线程的运行参数;
203、判断线程是否出现延时;若是,进入步骤204;若否,返回步骤202;
204、判断线程的优先级是否达到预设优先级范围内的最大值;若是,进入步骤205;若否,进入步骤208;
205、判断线程是否绑定至预先设定的处理器内核上;若是,进入步骤206;若否,进入步骤207;
206、输出报警;
207、将线程绑定至预先设定的处理器内核上,并返回步骤202;
208、将线程的优先级由第一优先级调整至第二优先级,并返回步骤202。
具体地,以自动驾驶车辆中的定位、控制两个节点举例说明:
首先,考虑到自动驾驶车辆只有在定位准确时,感知,控制,规划等才能正常工作,因此将定位所对应的预设功能节点设为最高优先级,优先级设定范围80-99,并假设定位按一个线程实现,则线程的优先级为80-99。
其次,考虑到控制所对应的预设功能节点直接发送命令给车辆,安全等级较高,因而将控制所对应的预设功能节点设为第二优先级,该预设功能节点优先级设定范围为60-79,并假设该预设功能节点分为三个线程:一是消息接收线程、二是算法处理线程,三是消息发布线程;则设定线程优先级范围:例:算法处理线程优先级最高,设定优先级范围为72-79;消息发布线程第二高,设定范围为66-71;消息接收线程优先级最低,设定范围为60-65。
再次,假设处理器为两核,则设定定位对应的预设功能节点的线程对应处理器1核;控制对应的预设功能节点的线程对应2核。
最后,即可按照图2所示的流程进行各线程是否延时的判断和处理。
下面结合图3对本发明提供的一种自动驾驶车辆控制延时处理装置进行描述,下文描述的自动驾驶车辆控制延时处理装置与上文描述的一种自动驾驶车辆控制延时处理方法可相互对应参照。
如图3所示,该装置包括:线程监控模块310和线程处理模块320;其中,
所述线程监控模块310用于监控预设功能节点中的线程是否出现延时,其中所述预设功能节点中至少包括一个线程,所述线程有预置优先级范围;
所述线程处理模块320用于在监控到所述预设功能节点中的当前线程出现延时且所述当前线程为第一优先级,则调整所述当前线程的优先级为第二优先级,其中所述第一优先级和所述第二优先级均在当前线程的预置优先级范围内,且所述第二优先级大于所述第一优先级;
以及,在监控到所述预设功能节点中的当前线程出现延时且所述当前线程为第三优先级,则在判断所述当前线程未绑定在与其对应的处理器内核上的情况下,将所述当前线程绑定至所述与其对应的处理器的内核上,其中所述第三优先级大于所述第二优先级,且所述第三优先级为当前线程的预置优先级范围内的最大值。
本发明实施例所述的自动驾驶车辆控制延时处理装置,通过上调发生延时的线程的优先级,使得所述线程在下次运行时,因为优先级的提高而具有较之所述线程未调整优先级时,以及所有线程中相对更多的线程具有更高的优先级,使得能够为所述线程匹配更多的处理资源,实现在不增加处理器的情况下,处理器资源更为合理的利用,进而降低线程延时的几率。
通过为线程预置优先级范围,然后在预置优先级范围内调整线程的优先级,能够实现根据需求而灵活设置优先级范围,尤其是可以对车辆行驶的关键线程预置设置较高的优先级范围,进而有效解决因处理器处理能力不足导致的关键线程运行延时,即降低车辆因程序运行问题出现自动驾驶车辆控制失效的问题,提高了车辆行驶的安全性。
同时,当出现延时的线程的当前优先级已经达到为所述线程预置的优先级范围内的最大值时,通过将所述线程绑定至为所述线程预先分配的处理器内核上,一方面避免了线程每次运行时重复获取缓存数据的麻烦,进而从提高线程运行效率的角度达到减少线程延时的目的,另一方面,通过将优先级已经在预置优先级范围内最高值的线程先绑定至固定的处理器内核上,不仅避免了各线程间资源的相互挤占,也避免了较低优先级的线程挤占其他优先级更高的线程的资源,进而进一步提高了处理器资源分配的合理性。
优选的,所述的自动驾驶车辆控制延时处理装置中,还包括警报模块;
所述警报模块在所述线程处理模块判断所述当前线程已绑定在与其对应的处理器的内核上的情况下,通过报警响应。
优选的,所述线程监控模块用于在所述预设功能节点中包括多个线程时,按照各线程的预置优先级范围判断每个线程的优先级。
优选的,所述线程监控模块包括获取单元和判断单元;
所述获取单元用于获取所述预设功能节点中的各线程的运行参数;
所述判断单元用于基于所述运行参数,判断所述线程是否出现延时。
优选的,所述获取单元具体用于分别获取所述预设功能节点中的各线程的运行周期和运行时长;
所述运行周期为所述线程从本次运行完成时刻到下次运行完成时刻间的时长;
所述运行时长为所述线程从回调开始到回调结束间的时长。
优选的,所述判断单元具体用于判断所述运行周期是否大于设定的运行周期阈值;并在所述运行周期大于设定的所述运行周期阈值时,判定所述线程出现延时。
优选的,所述判断单元更具体用于判断所述运行时长是否大于设定的运行时长阈值;并在所述运行时长大于设定的所述运行时长阈值时,判定所述线程出现延时。
优选的,在初始运行时,所述线程监控模块监控的所述预设功能节点中的线程的优先级设定为所述线程的预置优先级范围内的最小值。
优选的,所述线程监控模块监控的所述预设功能节点中的线程的预置优先级范围基于为所述预设功能节点预先设定的优先级范围划分。
优选的,当所述线程监控模块监控的所述预设功能节点中包括多个线程,且所述处理器为多核处理器时,为属于同一所述预设功能节点中的线程预先分配的处理器的内核相同。
图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)410、通信接口(Communications Interface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑指令,以执行一种自动驾驶车辆控制延时处理方法,该方法包括:监控预设功能节点中的线程是否出现延时,其中所述预设功能节点中至少包括一个线程,所述线程有预置优先级范围;若监控到所述预设功能节点中的当前线程出现延时且所述当前线程为第一优先级,则调整所述当前线程的优先级为第二优先级,其中所述第一优先级和所述第二优先级均在当前线程的预置优先级范围内,且所述第二优先级大于所述第一优先级;若监控到所述预设功能节点中的当前线程出现延时且所述当前线程为第三优先级,则在判断所述当前线程未绑定在与其对应的处理器内核上的情况下,将所述当前线程绑定至所述与其对应的处理器的内核上,其中所述第三优先级大于所述第二优先级,且所述第三优先级为当前线程的预置优先级范围内的最大值。
此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的一种自动驾驶车辆控制延时处理方法,该方法包括:监控预设功能节点中的线程是否出现延时,其中所述预设功能节点中至少包括一个线程,所述线程有预置优先级范围;若监控到所述预设功能节点中的当前线程出现延时且所述当前线程为第一优先级,则调整所述当前线程的优先级为第二优先级,其中所述第一优先级和所述第二优先级均在当前线程的预置优先级范围内,且所述第二优先级大于所述第一优先级;若监控到所述预设功能节点中的当前线程出现延时且所述当前线程为第三优先级,则在判断所述当前线程未绑定在与其对应的处理器内核上的情况下,将所述当前线程绑定至所述与其对应的处理器的内核上,其中所述第三优先级大于所述第二优先级,且所述第三优先级为当前线程的预置优先级范围内的最大值。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的一种自动驾驶车辆控制延时处理方法,该方法包括:监控预设功能节点中的线程是否出现延时,其中所述预设功能节点中至少包括一个线程,所述线程有预置优先级范围;若监控到所述预设功能节点中的当前线程出现延时且所述当前线程为第一优先级,则调整所述当前线程的优先级为第二优先级,其中所述第一优先级和所述第二优先级均在当前线程的预置优先级范围内,且所述第二优先级大于所述第一优先级;若监控到所述预设功能节点中的当前线程出现延时且所述当前线程为第三优先级,则在判断所述当前线程未绑定在与其对应的处理器内核上的情况下,将所述当前线程绑定至所述与其对应的处理器的内核上,其中所述第三优先级大于所述第二优先级,且所述第三优先级为当前线程的预置优先级范围内的最大值。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种自动驾驶车辆控制延时处理方法,其特征在于,包括:
监控预设功能节点中的线程是否出现延时,其中所述预设功能节点中至少包括一个线程,所述线程有预置优先级范围;
若监控到所述预设功能节点中的当前线程出现延时且所述当前线程为第一优先级,则调整所述当前线程的优先级为第二优先级,其中所述第一优先级和所述第二优先级均在当前线程的预置优先级范围内,且所述第二优先级大于所述第一优先级;
若监控到所述预设功能节点中的当前线程出现延时且所述当前线程为第三优先级,则在判断所述当前线程未绑定在与其对应的处理器内核上的情况下,将所述当前线程绑定至所述与其对应的处理器的内核上,其中所述第三优先级大于所述第二优先级,且所述第三优先级为当前线程的预置优先级范围内的最大值。
2.根据权利要求1所述的自动驾驶车辆控制延时处理方法,其特征在于,还包括:
在判断所述当前线程已绑定在与其对应的处理器的内核上的情况下,通过报警响应。
3.根据权利要求1所述的自动驾驶车辆控制延时处理方法,其特征在于,所述监控预设功能节点中的线程是否出现延时,包括:
获取所述预设功能节点中的各线程的运行参数;
基于所述运行参数,判断所述线程是否出现延时。
4.根据权利要求3所述的自动驾驶车辆控制延时处理方法,其特征在于,所述获取所述预设功能节点中的各线程的运行参数,包括:
分别获取所述预设功能节点中的各线程的运行周期和运行时长;
所述运行周期为所述线程从本次运行完成时刻到下次运行完成时刻间的时长;
所述运行时长为所述线程从回调开始到回调结束间的时长。
5.根据权利要求4所述的自动驾驶车辆控制延时处理方法,其特征在于,所述基于所述运行参数,判断所述线程是否出现延时,包括:
判断所述运行周期是否大于设定的运行周期阈值;
在所述运行周期大于设定的所述运行周期阈值时,判定所述线程出现延时。
6.根据权利要求4或5所述的自动驾驶车辆控制延时处理方法,其特征在于,所述基于所述运行参数,判断所述线程是否出现延时,包括:
判断所述运行时长是否大于设定的运行时长阈值;
在所述运行时长大于设定的所述运行时长阈值时,判定所述线程出现延时。
7.根据权利要求1所述的自动驾驶车辆控制延时处理方法,其特征在于,在初始运行时,所述预设功能节点中的线程的优先级设定为所述线程的预置优先级范围内的最小值。
8.根据权利要求7所述的自动驾驶车辆控制延时处理方法,其特征在于,所述预设功能节点中的线程的预置优先级范围基于为所述预设功能节点预先设定的优先级范围划分。
9.根据权利要求8所述的自动驾驶车辆控制延时处理方法,其特征在于,当所述预设功能节点中包括多个线程,且所述处理器为多核处理器时,为属于同一所述预设功能节点中的线程预先分配的处理器的内核相同。
10.一种自动驾驶车辆控制延时处理装置,其特征在于,包括:
线程监控模块,用于监控预设功能节点中的线程是否出现延时,其中所述预设功能节点中至少包括一个线程,所述线程有预置优先级范围;
线程处理模块,用于在监控到所述预设功能节点中的当前线程出现延时且所述当前线程为第一优先级,则调整所述当前线程的优先级为第二优先级,其中所述第一优先级和所述第二优先级均在当前线程的预置优先级范围内,且所述第二优先级大于所述第一优先级;以及
在监控到所述预设功能节点中的当前线程出现延时且所述当前线程为第三优先级,则在判断所述当前线程未绑定在与其对应的处理器内核上的情况下,将所述当前线程绑定至所述与其对应的处理器的内核上,其中所述第三优先级大于所述第二优先级,且所述第三优先级为当前线程的预置优先级范围内的最大值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210159731.5A CN114212096B (zh) | 2022-02-22 | 2022-02-22 | 自动驾驶车辆控制延时处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210159731.5A CN114212096B (zh) | 2022-02-22 | 2022-02-22 | 自动驾驶车辆控制延时处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114212096A CN114212096A (zh) | 2022-03-22 |
CN114212096B true CN114212096B (zh) | 2022-04-22 |
Family
ID=80709154
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210159731.5A Active CN114212096B (zh) | 2022-02-22 | 2022-02-22 | 自动驾驶车辆控制延时处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114212096B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1627264A (zh) * | 2003-07-24 | 2005-06-15 | 国际商业机器公司 | 延迟的优先级增强的系统和方法 |
CN110502320A (zh) * | 2018-05-18 | 2019-11-26 | 杭州海康威视数字技术股份有限公司 | 线程优先级调整方法、装置、电子设备及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7065766B2 (en) * | 2002-07-11 | 2006-06-20 | International Business Machines Corporation | Apparatus and method for load balancing of fixed priority threads in a multiple run queue environment |
DE102007051803A1 (de) * | 2007-10-30 | 2009-05-07 | Infineon Technologies Ag | Verfahren und Vorrichtung zur Datenverarbeitung |
US8006003B2 (en) * | 2008-02-29 | 2011-08-23 | International Business Machines Corporation | Apparatus, system, and method for enqueue prioritization |
-
2022
- 2022-02-22 CN CN202210159731.5A patent/CN114212096B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1627264A (zh) * | 2003-07-24 | 2005-06-15 | 国际商业机器公司 | 延迟的优先级增强的系统和方法 |
CN110502320A (zh) * | 2018-05-18 | 2019-11-26 | 杭州海康威视数字技术股份有限公司 | 线程优先级调整方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114212096A (zh) | 2022-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3335120B1 (en) | Method and system for resource scheduling | |
CN108334396B (zh) | 一种数据处理方法和装置、资源组的创建方法和装置 | |
CN112783659B (zh) | 一种资源分配方法、装置、计算机设备及存储介质 | |
CN111104227B (zh) | 一种K8s平台的资源控制方法、装置及相关组件 | |
EP3376381A1 (en) | Resource management method and system, and computer storage medium | |
CN113032102B (zh) | 资源重调度方法、装置、设备和介质 | |
CN114968601B (zh) | 一种按比例预留资源的ai训练作业的调度方法和调度系统 | |
KR20220002547A (ko) | 태스크 스케줄링 방법과 장치 | |
EP4372558A1 (en) | Task scheduling processing method, apparatus, electronic device, and storage medium | |
CN115658311A (zh) | 一种资源的调度方法、装置、设备和介质 | |
CN115964153A (zh) | 一种异步任务处理方法、装置、设备以及存储介质 | |
CN114968567A (zh) | 用于分配计算节点的计算资源的方法、装置和介质 | |
CN114212096B (zh) | 自动驾驶车辆控制延时处理方法及装置 | |
CN112506648B (zh) | 一种虚拟网络功能实例的流量无状态迁移方法及电子设备 | |
CN109871266A (zh) | 任务延时处理方法、装置、计算机装置及存储介质 | |
CN111338803B (zh) | 一种线程处理方法和装置 | |
CN112068960A (zh) | 一种cpu资源分配方法、装置、存储介质及设备 | |
CN109922120B (zh) | 提高dns可用性的方法及终端 | |
CN111158896A (zh) | 一种分布式进程调度方法及系统 | |
CN114706663A (zh) | 一种计算资源调度方法、介质及计算设备 | |
CN112181640A (zh) | 一种任务处理方法及装置 | |
CN114116203A (zh) | 一种资源调用控制方法、资源调用控制装置及存储介质 | |
WO2023122891A1 (zh) | 任务调度方法及多核处理器系统 | |
CN112559142B (zh) | 容器的控制方法、装置、边缘计算系统、介质及设备 | |
CN116775402A (zh) | VxWorks下计算机资源利用情况监测方法及装置 |
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 |