Resource scheduling method, device and equipment for intelligent driving task

CN122884704APending Publication Date: 2026-10-09BEIJING AUTOMOBILE RES GENERAL INST
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202611294195.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-08-25
Publication Date
2026-10-09

AI Technical Summary

Technical Problem

[0003]本申请提供一种智能驾驶任务的资源调度方法、装置及设备,以解决相关技术中资源调度存在高负荷任务抖动大、静态调度适配性差等问题

Benefits of technology

[0009]根据上述技术手段,本申请实施例按照任务优先级完成任务排序,依托排序结果确定统一调度次序,再结合各任务匹配好的目标时间窗口生成标准化调度表,能够保证高优先级智能驾驶任务优先排布执行时段,规范全部任务的执行时序,减少高优先级任务被挤占的情况,降低任务间资源冲突带来的时序波动。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122884704A_ABST
    Figure CN122884704A_ABST
Patent Text Reader

Abstract

The application relates to the technical field of intelligent driving, in particular to a resource scheduling method, device and equipment for an intelligent driving task, the method comprising the following steps: obtaining a task list of a vehicle, the task list comprising at least one intelligent driving task; assigning a target time window to the at least one intelligent driving task based on a target execution time and a priority of each intelligent driving task in the task list; generating a scheduling table based on the priority and the target time window of the intelligent driving task in the task list; and scheduling the computing resource of the intelligent driving task based on the scheduling table, wherein, in the scheduling process, the scheduling table is adjusted based on the task jitter time of the task list and the actual load rate of the computing resource. Thus, the problems of large task jitter of high-load resources, poor adaptability of static scheduling and the like in the related art are solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of intelligent driving technology, and in particular to a resource scheduling method, apparatus and equipment for intelligent driving tasks. Background Technology

[0002] In related technologies, the intelligent driving domain adopts a centralized single-core task scheduling method, which easily leads to preemption conflicts when multiple tasks share computing resources. When the vehicle is under high load, the actual execution sequence of tasks will deviate from the expected one, and the timing deviation of chained tasks will continue to accumulate, causing overall system latency fluctuations. Fixed scheduling sequence cannot adapt to the dynamic load of the vehicle. After the occurrence of sudden computing tasks, the critical control tasks of the whole vehicle are prone to execution delays, and the overall computing power allocation and operational stability are insufficient. Summary of the Invention

[0003] This application provides a resource scheduling method, apparatus, and device for intelligent driving tasks to solve problems such as large jitter in high-load tasks and poor adaptability of static scheduling in related technologies.

[0004] The first aspect of this application provides a resource scheduling method for intelligent driving tasks, comprising the following steps: obtaining a task list of a vehicle, the task list including at least one intelligent driving task; allocating a target time window to the at least one intelligent driving task based on the target execution time and priority of each intelligent driving task in the task list; generating a scheduling table based on the priority and target time window of the intelligent driving tasks in the task list; scheduling the computing resources of the intelligent driving tasks based on the scheduling table; and adjusting the scheduling table based on the task jitter time of the task list and the actual load rate of the computing resources during the scheduling process.

[0005] Based on the aforementioned technical means, this application embodiment combines the target execution time and priority allocation target time window of each intelligent driving task to generate a standardized scheduling table to divide the execution time period of each task, constrain the task execution sequence, and reduce resource contention conflicts caused by multiple tasks sharing computing power; at the same time, during the task scheduling and operation phase, two types of operation data are collected in real time: task jitter time and actual load rate of computing resources. Based on the real-time operation data, the scheduling table is dynamically optimized and adjusted to adapt to the continuously changing computing load during vehicle operation, continuously reduce the task timing deviation phenomenon, ensure the stable operation of various intelligent driving tasks, and improve the balance of onboard computing resource allocation.

[0006] Optionally, based on the target execution time and task priority of each intelligent driving task in the task list, a target time window is assigned to at least one intelligent driving task, including: assigning multiple candidate time windows based on the dependency relationship of the task chain in the task list; sorting each intelligent driving task according to priority to obtain a task sorting result; and matching the target time window to the intelligent driving task from the multiple candidate time windows based on the task sorting result and the target execution time.

[0007] Based on the above technical means, the embodiments of this application first define candidate time windows by combining task chain dependencies, then sort tasks according to task priorities, and finally match the target time window with the sorting results and the target execution time of the task. This can fit the upstream and downstream running logic of the task, and high-priority tasks are matched with the appropriate time slots first, avoiding the disorder of the task chain running sequence. From the time sequence planning level, it reduces the competition for computing resources between different tasks and reduces the deviation of task running sequence.

[0008] Optionally, a scheduling table is generated based on the priority and target time window of the intelligent driving tasks in the task list, including: sorting each intelligent driving task according to priority to obtain a task sorting result; determining the scheduling order of each intelligent driving task according to the sorting result; and generating a scheduling table according to the scheduling order and the target time window corresponding to the intelligent driving task.

[0009] Based on the above technical means, the embodiments of this application sort tasks according to task priority, determine a unified scheduling order based on the sorting results, and generate a standardized scheduling table by combining the target time windows matched for each task. This can ensure that high-priority intelligent driving tasks are scheduled to be executed first, standardize the execution sequence of all tasks, reduce the situation where high-priority tasks are squeezed out, and reduce the timing fluctuations caused by resource conflicts between tasks.

[0010] Optionally, before scheduling computing resources for intelligent driving tasks based on the scheduling table, the method further includes: obtaining the target execution time and target time window for each intelligent driving task in the scheduling table; determining the predicted load rate of computing resources based on the target execution time and target time window, and using the predicted load rate not exceeding a first load threshold, a pre-set overtime length, and the timely completion of high-priority tasks as constraints; and optimizing the scheduling table based on the constraints to minimize the number of task switching and jitter.

[0011] Based on the above technical means, the embodiments of this application predict the computational resource load by the target execution time and target time window of each task, optimize the scheduling table with load threshold, fixed overtime, and timely execution of high-priority tasks as constraints, and minimize the number of task switching and jitter as the optimization goal. This avoids the problem of high-load resource contention in advance, reduces the timing loss caused by task switching, suppresses task jitter from the static planning level, and improves the stability of scheduling timing.

[0012] Optionally, the scheduling table is adjusted based on the task jitter time and actual load rate of computing resources in the task list, including: if the task jitter time is greater than a first jitter threshold and the actual load rate is greater than a second load threshold, then the low-priority intelligent driving tasks in the task list are migrated to other computing resources.

[0013] Based on the above technical means, when both task jitter and computing power load exceed the standard, this application embodiment only migrates low-priority intelligent driving tasks to other computing resources, while continuously retaining high-priority driving tasks to run on the original computing power core. This not only diverts excess computing power load and reduces task timing jitter, but also avoids delays in critical driving tasks due to resource migration, ensuring the real-time and stable execution of driving-related tasks.

[0014] Optionally, before adjusting the scheduling table based on the task jitter time and actual load rate of computing resources in the task list, the method further includes: obtaining the task jitter time of the currently executing intelligent driving task in the task list; if the task jitter time is greater than a second jitter threshold, expanding the target time window of the intelligent driving task in the scheduling table, where the second jitter threshold is less than a first jitter threshold; and updating the target time window of other intelligent driving tasks based on the expanded target time window.

[0015] Based on the above technical means, the embodiments of this application collect the jitter duration of the running task in real time. When the jitter reaches a lower second jitter threshold, the time window of the corresponding task is expanded first, and the time slots of other tasks are updated simultaneously. In the case of mild jitter scenarios where the load has not reached the migration standard, the task execution duration is compensated in time, the continuous accumulation of jitter is curbed in advance, the frequency of subsequent triggering of cross-core migration of tasks is reduced, and the execution sequence of each intelligent driving task is maintained smoothly.

[0016] Optionally, before the target time window of the intelligent driving task in the extended schedule table, the method further includes: calculating a second jitter threshold based on the priority and the target time window.

[0017] Based on the above technical means, the embodiments of this application combine task priority and the allocated target time window to adaptively calculate the second jitter threshold, so that tasks of different importance and different execution durations are matched with differentiated jitter judgment criteria, avoiding the over-expansion of low-priority tasks or untimely compensation of critical task time slots caused by a uniform threshold, and finely controlling the triggering conditions of mild jitter.

[0018] Optionally, the task jitter time in the task list is the sum of the task jitter times for all intelligent driving tasks.

[0019] Based on the above technical means, the embodiments of this application use the sum of the jitter duration of all intelligent driving tasks as the overall jitter evaluation basis, which can fully reflect the cumulative effect of task chain jitter, avoid the problem of one-sided judgment of single task indicators, accurately identify the system delay problem caused by the superposition of chain task timing deviations, and improve the comprehensiveness of scheduling adjustment trigger judgment.

[0020] A second aspect of this application provides a resource scheduling device for intelligent driving tasks, comprising: an acquisition module for acquiring a task list of a vehicle, the task list including at least one intelligent driving task; a generation module for allocating a target time window to the at least one intelligent driving task based on the target execution time and priority of each intelligent driving task in the task list, and generating a scheduling table based on the priority of the intelligent driving tasks in the task list and the target time window; and an adjustment module for scheduling the computing resources of the intelligent driving tasks based on the scheduling table, and adjusting the scheduling table based on the task jitter time of the task list and the actual load rate of the computing resources during the scheduling process.

[0021] Optionally, the generation module is further configured to: allocate multiple candidate time windows based on the dependency relationships of the task chains in the task list; sort each intelligent driving task according to priority to obtain a task sorting result; and match a target time window to the intelligent driving task from the multiple candidate time windows based on the task sorting result and the target execution time.

[0022] Optionally, the generation module is further configured to: sort each intelligent driving task according to priority to obtain a task sorting result; determine the scheduling order of each intelligent driving task according to the sorting result; and generate a scheduling table according to the scheduling order and the target time window corresponding to the intelligent driving task.

[0023] Optionally, it also includes: a switching module, used to obtain the target execution time and target time window of each intelligent driving task in the scheduling table before scheduling computing resources for intelligent driving tasks based on the scheduling table; determine the predicted load rate of computing resources based on the target execution time and target time window, and take the predicted load rate not exceeding a first load threshold, a pre-set overcycle length, and the timely completion of high-priority tasks as constraints; optimize the scheduling table based on the constraints to minimize the number of switching between tasks and jitter.

[0024] Optionally, the adjustment module is further configured to: if the task jitter time is greater than a first jitter threshold and the actual load rate is greater than a second load threshold, then migrate the low-priority intelligent driving tasks in the task list to other computing resources.

[0025] Optionally, it further includes: an update module, used to obtain the task jitter time of the currently executing intelligent driving task in the task list before adjusting the scheduling table based on the task jitter time of the task list and the actual load rate of computing resources; if the task jitter time is greater than a second jitter threshold, then expand the target time window of the intelligent driving task in the scheduling table, where the second jitter threshold is less than a first jitter threshold; and update the target time window of other intelligent driving tasks based on the expanded target time window.

[0026] Optionally, it also includes: a calculation module for calculating a second jitter threshold based on priority and target time window before the target time window of the intelligent driving task in the extended schedule table.

[0027] Optionally, the task jitter time in the task list is the sum of the task jitter times for all intelligent driving tasks.

[0028] A third aspect of this application provides an electronic device, including: a memory, a processor, and a computer program stored in the memory and executable on the processor. The processor executes the program to implement a resource scheduling method for intelligent driving tasks as described in the above embodiments.

[0029] Additional aspects and advantages of this application will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of this application. Attached Figure Description

[0030] The above and / or additional aspects and advantages of this application will become apparent and readily understood from the following description of the embodiments taken in conjunction with the accompanying drawings, wherein: Figure 1 This is a flowchart of a resource scheduling method for an intelligent driving task according to an embodiment of this application; Figure 2 This is a block diagram of a resource scheduling device for intelligent driving tasks according to an embodiment of this application; Figure 3 This is a structural diagram of an electronic device provided according to an embodiment of this application. Detailed Implementation

[0031] The embodiments of this application are described in detail below. Examples of the embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and intended to explain this application, and should not be construed as limiting this application.

[0032] Currently, the intelligent driving domain generally adopts a single-mode task scheduling approach, with task processes mostly concentrated on a single computing core. This technology suffers from several shortcomings in practical applications: First, it is prone to severe task jitter under high load conditions. When CPU (Central Processing Unit) utilization exceeds 70%, task execution time easily deviates from expectations, and jitter accumulates in complex task chain scenarios, causing uncontrollable overall system latency. Second, there is a serious resource contention problem. Multiple tasks share the same computing resources, and the lack of precise task binding strategies leads to resource contention causing disordered task execution order and delays for high-priority tasks. Third, fixed scheduling tables have poor adaptability. Static scheduling tables cannot adapt to dynamically changing loads, and in sudden tasks or abnormal scenarios, critical tasks are prone to timeouts or even skipping execution. In summary, the rigid scheduling methods, coarse resource allocation, and weak dynamic adaptability of related technologies make it difficult to meet the timing stability and reliable task execution requirements of intelligent driving systems under high load operation.

[0033] The resource scheduling method, apparatus, and device for intelligent driving tasks according to embodiments of this application are described below with reference to the accompanying drawings. Addressing the problems of high task jitter and poor adaptability of static scheduling in related technologies mentioned in the background, this application provides a resource scheduling method for intelligent driving tasks. In this method, a task list containing multiple intelligent driving tasks is obtained for the vehicle. A target time window is allocated based on task chain dependencies, task priorities, and target execution times, and a scheduling table is generated accordingly. Simultaneously, during task execution, the scheduling table is optimized in real time by combining the overall task jitter accumulation with the actual load rate of computing resources, through a hierarchical adjustment strategy of dynamically expanding the time window and migrating low-priority tasks across cores. This solves the problems of accumulated task jitter under high load, disordered resource contention, and the inability of static scheduling to adapt to dynamic loads in related technologies, effectively improving the execution timing stability and computing resource utilization of intelligent driving tasks.

[0034] Specifically, Figure 1 This is a flowchart illustrating a resource scheduling method for intelligent driving tasks provided in an embodiment of this application.

[0035] like Figure 1 As shown, the resource scheduling method for this intelligent driving task includes the following steps: In step S101, the vehicle's task list is obtained, which includes at least one intelligent driving task.

[0036] It is understood that the embodiments of this application first collect all intelligent driving tasks that the vehicle is currently waiting to execute, forming a complete task list, which provides an accurate and complete task data foundation for subsequent task timing allocation, resource scheduling and dynamic adjustment, ensuring that the scheduling objects are comprehensive and without omissions.

[0037] It should be noted that the task list stores a collection of all intelligent driving tasks to be run by the vehicle; intelligent driving tasks are autonomous driving-related computational tasks used by the vehicle for sensor acquisition, environmental modeling, path planning, vehicle control, etc.

[0038] Specifically, the overall scheduling process of this application is divided into two main modules: static optimization scheduling table generation and dynamic load balancing real-time adjustment. Static optimization is used for offline planning of task time slots and computing power allocation, while dynamic optimization is used for adaptive correction of scheduling strategies during vehicle operation.

[0039] In step S102, a target time window is assigned to at least one intelligent driving task based on the target execution time and priority of each intelligent driving task in the task list, and a scheduling table is generated based on the priority and target time window of the intelligent driving tasks in the task list.

[0040] It is understood that, according to the execution time requirements and priority of each intelligent driving task, the embodiments of this application match the target time window for the task and generate a standardized scheduling table in accordance with the priority arrangement rules. This can standardize the execution sequence of each task from the static planning level, give priority to the execution resources of high-priority tasks, and reduce the problem of timing disorder caused by disorderly preemption of multiple tasks.

[0041] It should be noted that: target execution time: the theoretically preset runtime of a single intelligent driving task; target time window: denoted as Slot, a fixed execution time slot allocated to a specified task; priority: a hierarchical identifier that distinguishes the importance and urgency of intelligent driving tasks.

[0042] Specifically, static optimization includes two parts: time binding and priority adjustment, and static resource prediction. Time binding and priority adjustment allocate slots based on task chain dependencies, with high-priority and critical task chains occupying slots exclusively, and low-priority task chains filling idle slots. Static resource prediction uses analysis tools to predict CPU load, limiting resource allocation to 70% of CPU load, optimizing the scheduling table to reduce task switching overhead, and suppressing jitter accumulation. Static resource prediction uses a formula... Calculate single-core load, among which For task execution time, To correspond to the slot duration, an Integer Linear Programming (ILP) table is generated, with the optimization objective being... The constraints include CPU load not exceeding 70%, fixed timeout length, and high-priority tasks being completed on time.

[0043] In this embodiment of the application, a target time window is assigned to at least one intelligent driving task based on the target execution time and task priority of each intelligent driving task in the task list. This includes: allocating multiple candidate time windows based on the dependency relationship of the task chain in the task list; sorting each intelligent driving task according to priority to obtain a task sorting result; and matching a target time window to the intelligent driving task from the multiple candidate time windows based on the task sorting result and the target execution time.

[0044] It is understood that the embodiments of this application first define candidate time windows based on task chain dependencies, then sort tasks according to task priorities, and finally match the target time window with the sorting results and the target execution time of the tasks. This can fit the upstream and downstream running logic of the tasks, and high-priority tasks are matched with the appropriate time slots first, avoiding the disorder of the task chain running sequence. From the perspective of timing planning, it reduces the competition for computing resources between different tasks and reduces the deviation of task running sequence.

[0045] It should be noted that the dependency relationship refers to the logical connection between intelligent driving tasks that are linked sequentially within the same business process and have an execution order; the candidate time window refers to the spare slot time slot that can be allocated to any task during the static planning stage.

[0046] Specifically, when allocating slots, independent slots are prioritized for high-priority tasks or critical task chains to ensure timing stability. Remaining idle slots are filled into low-priority task chains through static analysis, thereby reducing computing power competition and timing conflicts.

[0047] In this embodiment of the application, generating a scheduling table based on the priority and target time window of intelligent driving tasks in the task list includes: sorting each intelligent driving task according to priority to obtain a task sorting result; determining the scheduling order of each intelligent driving task according to the sorting result; and generating a scheduling table according to the scheduling order and the target time window corresponding to the intelligent driving task.

[0048] It is understood that the embodiments of this application sort tasks according to task priority, determine a unified scheduling order based on the sorting results, and generate a standardized scheduling table by combining the target time windows matched for each task. This can ensure that high-priority intelligent driving tasks are scheduled to be executed first, standardize the execution sequence of all tasks, reduce the situation where high-priority tasks are squeezed out, and reduce the timing fluctuations caused by resource conflicts between tasks.

[0049] Specifically, the scheduling table is equipped with a fixed timeout period, with an example timeout length of 100ms, and is divided into four slots: Slot 1 sensor data acquisition 20ms, Slot 2 environment modeling 30ms, Slot 3 path planning 30ms, and Slot 4 vehicle body control 20ms; static analysis allocates computing power cores, with CPU core 1 running the sensor acquisition, environment modeling and path planning task chain, and CPU core 2 running the vehicle body control key task chain.

[0050] In step S103, the computing resources for intelligent driving tasks are scheduled based on the scheduling table. During the scheduling process, the scheduling table is adjusted based on the task jitter time of the task list and the actual load rate of the computing resources.

[0051] It is understood that the embodiments of this application rely on the pre-generated scheduling table to complete the allocation of conventional computing resources, and dynamically correct the scheduling strategy in real time by combining the global task jitter and the actual CPU load status. This achieves a combination of static scheduling baseline and dynamic adaptive optimization, effectively adapts to the dynamic load scenario of the vehicle, suppresses task jitter under high load, and improves the overall scheduling stability.

[0052] It should be noted that the actual load rate is the proportion of computing power occupied by the CPU cores in real time during vehicle operation.

[0053] Specifically, the dynamic optimization module includes dynamic load monitoring, critical task migration, dynamic slot expansion, dynamic migration algorithm, slot expansion strategy, jitter monitoring feedback, and over-cycle real-time adjustment mechanism. Dynamic load monitoring collects task execution time, latency, and jitter metrics in real time, sets a global jitter limit of 10ms, and initiates dynamic adjustment when the metric exceeds the limit. The dynamic migration mechanism detects task jitter and execution deviation in real time, calculates the idle computing power of spare cores, migrates only low-priority tasks to spare cores, and locks critical tasks to the original computing cores. Over-cycle real-time adjustment allows for the reconfigurable cycle length, inserts temporary slots to handle timeout tasks, and dynamically adjusts or raises task priorities based on task deadlines.

[0054] In this embodiment of the application, before scheduling the computing resources of intelligent driving tasks based on the scheduling table, the method further includes: obtaining the target execution time and target time window of each intelligent driving task in the scheduling table; determining the predicted load rate of computing resources based on the target execution time and target time window, and taking the predicted load rate not exceeding a first load threshold, the pre-set overcycle length, and the timely completion of high-priority tasks as constraints; and optimizing the scheduling table based on the constraints to minimize the number of task switching and jitter.

[0055] It is understood that the embodiments of this application predict the computational resource load by using the target execution time and target time window of each task, optimize the scheduling table with load threshold, fixed overtime, and timely execution of high-priority tasks as constraints, and minimize the number of task switching and jitter as the optimization goal. This avoids the problem of high-load resource contention in advance, reduces the timing loss caused by task switching, suppresses task jitter from the static planning level, and improves the stability of scheduling timing.

[0056] It should be noted that the predicted load rate is the proportion of CPU theoretical computing power used in the offline static analysis phase; the first load threshold is the upper limit of the static scheduling plan, with a value of 70%; and the pre-set supercycle length is the fixed total duration of a single complete scheduling cycle.

[0057] Specifically, the static load analysis phase calculates the CPU utilization, memory requirements, and inter-task communication latency of all tasks, using a single-core load formula. Theoretical occupancy is calculated, and the scheduling table is iteratively optimized based on the ILP algorithm to achieve the optimization objective. Constraints are imposed to limit CPU load to no more than 70%, maintain fixed time intervals, and ensure that high-priority tasks are completed on schedule, thereby reducing the timing loss caused by task switching and mitigating the cumulative effect of jitter from the source.

[0058] In this embodiment of the application, the scheduling table is adjusted based on the task jitter time and the actual load rate of computing resources in the task list, including: if the task jitter time is greater than a first jitter threshold and the actual load rate is greater than a second load threshold, then the low-priority intelligent driving tasks in the task list are migrated to other computing resources.

[0059] It is understood that in the embodiments of this application, when both task jitter and computing power load exceed the standard, only low-priority intelligent driving tasks are migrated to other computing resources, while high-priority driving tasks can be continuously retained to run on the original computing power core. This not only diverts excess computing power load and reduces task timing jitter, but also avoids delays in critical driving tasks due to resource migration, ensuring the real-time and stable execution of driving-related tasks.

[0060] It should be noted that the first jitter threshold is the global jitter limit that triggers cross-core task migration; the second load threshold is the single-core CPU load threshold that triggers task migration, with a value of 90%.

[0061] Specifically, the inputs to the dynamic task migration algorithm are the task list T, CPU load L, and jitter threshold. Output the set of tasks to be migrated. The algorithm process involves iterating through all tasks, and when a single task experiences jitter... And single-core load When, substitute into the priority formula Calculate the task priority P, where As a weight for task criticality, Weighted by deadline urgency. Apply a negative weight to resource consumption to filter and assign low-priority tasks. It is then transferred to the spare core, and the scheduling table and computing power allocation relationship are updated synchronously.

[0062] In this embodiment of the application, before adjusting the scheduling table based on the task jitter time of the task list and the actual load rate of computing resources, the method further includes: obtaining the task jitter time of the currently executed intelligent driving task in the task list; if the task jitter time is greater than a second jitter threshold, expanding the target time window of the intelligent driving task in the scheduling table, wherein the second jitter threshold is less than a first jitter threshold; and updating the target time window of other intelligent driving tasks based on the expanded target time window.

[0063] It is understood that the embodiments of this application collect the jitter duration of the running task in real time, and when the jitter reaches a lower second jitter threshold, the time window of the corresponding task is expanded first, and the time slots of other tasks are updated simultaneously. In the case of mild jitter scenarios where the load has not reached the migration standard, the task execution duration is compensated in time, the continuous accumulation of jitter is curbed in advance, the frequency of subsequent triggering of cross-core migration of tasks is reduced, and the execution sequence of each intelligent driving task is maintained smoothly.

[0064] Specifically, slot dynamic expansion includes two sets of time slot update calculation logic: one is the basic duration adaptation formula. Update slot duration, where The first is the actual execution time of the task; the second is the calculation formula for the Slot expansion strategy: The core of this strategy is to dynamically adjust the slot duration to ensure complete task execution. The time occupied by the extended task is calculated by adding the theoretical expected execution time of the task to the timing deviation. If the slot extension causes timing conflicts in subsequent tasks, the slot order of ordinary tasks is adjusted first. If the conflict cannot be eliminated, the time extension exceeds the cycle and an additional slot is inserted. In the example scenario, the default slot for the path planning task is 30ms. If jitter causes the execution time to be extended by 12ms, the slot is dynamically extended to 35ms, and the allocation of the rear vehicle control slot is readjusted. After the extension is completed, the time slot arrangement of the entire task chain is updated synchronously.

[0065] In this embodiment of the application, before the target time window of the intelligent driving task in the extended scheduling table, the method further includes: calculating a second jitter threshold based on the priority and the target time window.

[0066] It is understood that the embodiments of this application combine task priority and the allocated target time window to adaptively calculate the second jitter threshold, so that tasks of different importance and different execution durations are matched with differentiated jitter judgment criteria, avoiding the over-expansion of low-priority tasks or untimely compensation of critical task time slots caused by a uniform threshold, and finely controlling the triggering conditions of mild jitter.

[0067] Specifically, the jitter monitoring mechanism distinguishes between two types of differentiated thresholds, with key tasks meeting certain criteria. Normal tasks are satisfied Task jitter exceeding the corresponding threshold is marked as abnormal, triggering slot expansion or task migration for adjustment; Single task jitter definition formula. This represents the deviation between the actual start time and the expected start time of the task.

[0068] In this embodiment of the application, the task jitter time of the task list is the sum of the task jitter times of all intelligent driving tasks.

[0069] It is understood that the embodiments of this application use the sum of the jitter duration of all intelligent driving tasks as the overall jitter evaluation basis, which can fully reflect the cumulative effect of task chain jitter, avoid the problem of one-sided judgment of single task indicators, accurately identify the system delay problem caused by the superposition of chain task timing deviations, and improve the comprehensiveness of scheduling adjustment trigger judgment.

[0070] Specifically, the formula for calculating the cumulative jitter of a multi-task chain is as follows: 'n' represents the total number of tasks in a single task chain. The jitter monitoring module continuously records the execution time of all tasks and the jitter value of a single task. When the cumulative total jitter exceeds the threshold, an early warning is output, and the scheduling table is adjusted and the task execution path is optimized simultaneously. Under actual testing conditions, when the CPU load is 85% high, this solution can control the task jitter within ±5ms, and the system can run continuously and stably for 72 hours. When the path planning task generates a 12ms delay under high load conditions, slot expansion and low-priority task cross-core migration are performed simultaneously, ultimately converging the global jitter to the ±5ms range.

[0071] According to the resource scheduling method for intelligent driving tasks proposed in this application, the target execution time and priority allocation target time window of each intelligent driving task are combined to generate a standardized scheduling table to divide the execution time of each task, constrain the execution sequence of tasks, and reduce resource contention conflicts caused by multiple tasks sharing computing power. At the same time, during the task scheduling and operation phase, two types of operation data are collected in real time: task jitter time and actual load rate of computing resources. Based on the real-time operation data, the scheduling table is dynamically optimized and adjusted to adapt to the continuously changing computing load during vehicle operation, continuously reduce the task timing deviation phenomenon, ensure the stable operation of various intelligent driving tasks, and improve the balance of onboard computing resource allocation.

[0072] Next, with reference to the accompanying drawings, a resource scheduling device for intelligent driving tasks proposed according to embodiments of this application is described.

[0073] Figure 2 This is a block diagram of a resource scheduling device for intelligent driving tasks according to an embodiment of this application.

[0074] like Figure 2 As shown, the resource scheduling device 20 for the intelligent driving task includes: an acquisition module 201, a generation module 202, and an adjustment module 203.

[0075] The acquisition module 201 is used to acquire the vehicle's task list, which includes at least one intelligent driving task; the generation module 202 is used to allocate a target time window to at least one intelligent driving task based on the target execution time and priority of each intelligent driving task in the task list, and generate a scheduling table based on the priority and target time window of the intelligent driving tasks in the task list; the adjustment module 203 is used to schedule the computing resources of the intelligent driving tasks based on the scheduling table, and adjust the scheduling table based on the task jitter time and actual load rate of computing resources in the task list during the scheduling process.

[0076] In this embodiment of the application, the generation module 202 is further configured to: allocate multiple candidate time windows based on the dependency relationship of the task chain in the task list; sort each intelligent driving task according to priority to obtain a task sorting result; and match a target time window to the intelligent driving task from the multiple candidate time windows based on the task sorting result and the target execution time.

[0077] In this embodiment of the application, the generation module 202 is further configured to: sort each intelligent driving task according to priority to obtain a task sorting result; determine the scheduling order of each intelligent driving task according to the sorting result; and generate a scheduling table according to the scheduling order and the target time window corresponding to the intelligent driving task.

[0078] In this embodiment of the application, the device 20 further includes a switching module.

[0079] The switching module is used to obtain the target execution time and target time window of each intelligent driving task in the scheduling table before scheduling computing resources for intelligent driving tasks based on the scheduling table; determine the predicted load rate of computing resources based on the target execution time and target time window, and take the predicted load rate not exceeding the first load threshold, the pre-set overcycle length, and the timely completion of high-priority tasks as constraints; optimize the scheduling table based on the constraints to minimize the number of switching between tasks and jitter.

[0080] In this embodiment of the application, the adjustment module 203 is further configured to: if the task jitter time is greater than the first jitter threshold and the actual load rate is greater than the second load threshold, then migrate the low-priority intelligent driving tasks in the task list to other computing resources.

[0081] In this embodiment of the application, the apparatus 20 further includes an update module.

[0082] The update module is used to obtain the task jitter time of the currently executing intelligent driving task in the task list before adjusting the scheduling table based on the task jitter time and the actual load rate of computing resources; if the task jitter time is greater than the second jitter threshold, the target time window of the intelligent driving task in the scheduling table is expanded, and the second jitter threshold is less than the first jitter threshold; the target time window of other intelligent driving tasks is updated based on the expanded target time window.

[0083] In this embodiment of the application, the apparatus 20 further includes a computing module.

[0084] The calculation module is used to calculate the second jitter threshold based on priority and target time window before the target time window of the intelligent driving task in the extended scheduling table.

[0085] In this embodiment of the application, the task jitter time of the task list is the sum of the task jitter times of all intelligent driving tasks.

[0086] It should be noted that the foregoing explanation of the resource scheduling method embodiment for intelligent driving tasks also applies to the resource scheduling device for intelligent driving tasks in this embodiment, and will not be repeated here.

[0087] According to the resource scheduling device for intelligent driving tasks proposed in the embodiments of this application, the target execution time and priority allocation target time window of each intelligent driving task are combined to generate a standardized scheduling table to divide the execution time of each task, constrain the execution sequence of tasks, and reduce resource contention conflicts caused by multiple tasks sharing computing power. At the same time, during the task scheduling and operation phase, two types of operation data are collected in real time: task jitter time and actual load rate of computing resources. Based on the real-time operation data, the scheduling table is dynamically optimized and adjusted to adapt to the continuously changing computing load during vehicle driving, continuously reduce the task timing deviation phenomenon, ensure the stable operation of various intelligent driving tasks, and improve the balance of on-board computing resource allocation.

[0088] Figure 3 A schematic diagram of the structure of an electronic device provided in an embodiment of this application. The electronic device may include: The memory 301, the processor 302, and the computer program stored on the memory 301 and capable of running on the processor 302.

[0089] When the processor 302 executes the program, it implements the resource scheduling method for the intelligent driving task provided in the above embodiments.

[0090] Furthermore, electronic devices also include: Communication interface 303 is used for communication between memory 301 and processor 302.

[0091] The memory 301 is used to store computer programs that can run on the processor 302.

[0092] The memory 301 may include high-speed RAM (Random Access Memory) memory, and may also include non-volatile memory, such as at least one disk storage.

[0093] If the memory 301, processor 302, and communication interface 303 are implemented independently, then the communication interface 303, memory 301, and processor 302 can be interconnected via a bus to complete communication between them. The bus can be an ISA (Industry Standard Architecture) bus, a PCI (Peripheral Component Interconnect) bus, or an EISA (Extended Industry Standard Architecture) bus, etc. The bus can be divided into address bus, data bus, control bus, etc. For ease of representation, Figure 3 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.

[0094] Optionally, in a specific implementation, if the memory 301, processor 302, and communication interface 303 are integrated on a single chip, then the memory 301, processor 302, and communication interface 303 can communicate with each other through an internal interface.

[0095] Processor 302 may be a CPU (Central Processing Unit), an ASIC (Application Specific Integrated Circuit), or one or more integrated circuits configured to implement the embodiments of this application.

[0096] In the description of this specification, the references to terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., refer to specific features, structures, materials, or characteristics described in connection with that embodiment or example, which are included in at least one embodiment or example of this application. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples. Moreover, without contradiction, those skilled in the art can combine and integrate the different embodiments or examples described in this specification, as well as the features of different embodiments or examples.

[0097] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the description of this application, "N" means at least two, such as two, three, etc., unless otherwise explicitly specified.

[0098] Any process or method described in the flowchart or otherwise herein can be understood as representing a module, segment, or portion of code comprising one or N executable instructions for implementing custom logic functions or processes, and the scope of the preferred embodiments of this application includes additional implementations in which functions may be performed not in the order shown or discussed, including substantially simultaneously or in reverse order depending on the functions involved, as should be understood by those skilled in the art to which embodiments of this application pertain.

[0099] It should be understood that various parts of this application can be implemented using hardware, software, firmware, or a combination thereof. In the above embodiments, steps or methods can be implemented using software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, it can be implemented using any of the following techniques known in the art, or a combination thereof: discrete logic circuits having logic gates for implementing logical functions on data signals, application-specific integrated circuits (ASICs) having suitable combinational logic gates, programmable gate arrays (FPGAs), field-programmable gate arrays (FPGAs), etc.

[0100] Those skilled in the art will understand that all or part of the steps of the methods implementing the above embodiments can be implemented by a program instructing related hardware. The program can be stored in a computer-readable storage medium, and when executed, the program includes one or a combination of the steps of the method embodiments.

[0101] Although embodiments of this application have been shown and described above, it is understood that the above embodiments are exemplary and should not be construed as limiting this application. Those skilled in the art can make changes, modifications, substitutions and variations to the above embodiments within the scope of this application.

Claims

1. A resource scheduling method for intelligent driving tasks, characterized in that, Includes the following steps: Obtain the vehicle's task list, which includes at least one intelligent driving task; Based on the target execution time and priority of each intelligent driving task in the task list, a target time window is assigned to at least one of the intelligent driving tasks, and a scheduling table is generated based on the priority of the intelligent driving tasks in the task list and the target time window. The intelligent driving task's computing resources are scheduled based on the scheduling table. During the scheduling process, the scheduling table is adjusted based on the task jitter time of the task list and the actual load rate of the computing resources.

2. The resource scheduling method for intelligent driving tasks according to claim 1, characterized in that, The step of allocating a target time window to at least one of the intelligent driving tasks based on the target execution time and task priority of each intelligent driving task in the task list includes: Multiple candidate time windows are allocated based on the dependencies of the task chains in the task list; The task ranking result is obtained by sorting each intelligent driving task according to the priority. Based on the task ranking results and the target execution time, a target time window is matched to the intelligent driving task from multiple candidate time windows.

3. The resource scheduling method for intelligent driving tasks according to claim 1, characterized in that, The process of generating a scheduling table based on the priority of the intelligent driving tasks in the task list and the target time window includes: The task ranking result is obtained by sorting each intelligent driving task according to the priority. The scheduling order of each intelligent driving task is determined based on the sorting result, and a scheduling table is generated based on the scheduling order and the target time window corresponding to the intelligent driving task.

4. The resource scheduling method for intelligent driving tasks according to claim 1, characterized in that, Before scheduling the computing resources for the intelligent driving task based on the scheduling table, the method further includes: Obtain the target execution time and target time window for each intelligent driving task in the scheduling table; The predicted load rate of the computing resources is determined based on the target execution time and the target time window, with the following constraints: the predicted load rate not exceeding a first load threshold, a pre-set overcycle length, and the timely completion of high-priority tasks. The scheduling table is optimized based on the constraints to minimize the number of task switching and jitter.

5. The resource scheduling method for intelligent driving tasks according to claim 1, characterized in that, Adjusting the scheduling table based on the task jitter time and actual load rate of computing resources in the task list includes: If the task jitter time is greater than the first jitter threshold and the actual load rate is greater than the second load threshold, then the low-priority intelligent driving tasks in the task list will be migrated to other computing resources.

6. The resource scheduling method for intelligent driving tasks according to claim 1, characterized in that, Before adjusting the scheduling table based on the task jitter time and actual load rate of computing resources in the task list, the following steps are also included: Obtain the task jitter time of the currently executing intelligent driving task in the task list; If the task jitter time is greater than the second jitter threshold, then the target time window of the intelligent driving task in the scheduling table is extended, and the second jitter threshold is less than the first jitter threshold. Update the target time window for other intelligent driving tasks based on the expanded target time window.

7. The resource scheduling method for intelligent driving tasks according to claim 6, characterized in that, Before expanding the target time window of the intelligent driving task in the scheduling table, the following is also included: The second jitter threshold is calculated based on the priority and the target time window.

8. The resource scheduling method for intelligent driving tasks according to claim 6, characterized in that, The task jitter time in the task list is the sum of the task jitter times of all intelligent driving tasks.

9. A resource scheduling device for intelligent driving tasks, characterized in that, include: An acquisition module is used to acquire a task list of the vehicle, the task list including at least one intelligent driving task; The generation module is used to allocate a target time window to at least one of the intelligent driving tasks based on the target execution time and priority of each intelligent driving task in the task list, and generate a scheduling table based on the priority of the intelligent driving tasks in the task list and the target time window; The adjustment module is used to schedule the computing resources of the intelligent driving task based on the scheduling table. During the scheduling process, the scheduling table is adjusted based on the task jitter time of the task list and the actual load rate of the computing resources.

10. An electronic device, characterized in that, include: A memory, a processor, and a computer program stored in the memory and executable on the processor, the processor executing the program to implement the resource scheduling method for the intelligent driving task according to any one of claims 1-9.