DE-102025145863-A1 - STANDARDIZED FRAMEWORK FOR VEHICLE MANAGEMENT TASKS
Abstract
Embodiments include a method for managing the execution of real-time tasks in a multi-core processor system. The method includes instantiating a plurality of task instances, each associated with a task-specific configuration. The method further includes executing one or more workers through each task instance according to a predefined execution phase. The method also includes calling a task profiling call associated with each task instance to record task-level performance data during execution, and calling an intra-task profiling call associated with each worker to record intra-task performance data within each execution phase. The method further includes synchronizing the task-level and intra-task performance data through a global configuration to provide consistent profiling of the task instances running on the cores.
Inventors
- Suhaib Hasan
- Nicolas Diken
Assignees
- RIVIAN IP HOLDINGS, LLC
Dates
- Publication Date
- 20260513
- Application Date
- 20251107
- Priority Date
- 20241108
Claims (20)
- A computer-implemented method for managing the execution of real-time tasks in a multi-core processor system, comprising: Instantiating a plurality of task instances by task management services running on the respective cores of the multi-core processor system; Executing one or more workers from a plurality of workers associated with the plurality of task instances by each task instance; Calling a task profiling callback associated with each task instance by the task management service to record task-level performance data during the execution of the one or more workers; Calling an intra-task profiling callback by the task management service associated with each worker of the task instance to record intra-task performance data within each execution phase; and synchronizing task-level performance data and intra-task performance data through a global configuration that task management services can access to provide unified profiling of task instances running on the cores.
- Procedure according to Claim 1 , where each task instance is associated with a task-specific configuration that includes a parameter set for a real-time operating system (RTOS), common task identifiers, and the multitude of workers.
- Procedure according to Claim 1 , where calling the task profiling callback includes: recording a start time and a stop time for each execution segment of the task instance; and calculating an execution duration for real-time scheduling analysis.
- Procedure according to Claim 1 , wherein the execution of one or more workers takes place according to a predefined execution phase, including a pre-initialization phase, an initialization phase and a continuous phase, and wherein calling the intra-task profiling call includes: monitoring the execution time of each worker within the continuous phase; and detecting any deviation in the execution time of a worker relative to a predefined segment in real time.
- Procedure according to Claim 1 , where synchronizing task-level performance data and intra-task performance data includes: aggregating the recorded task-level performance data and intra-task performance data from the multitude of task management services into a global task instance object maintained in the global configuration.
- Procedure according to Claim 1 , furthermore comprehensively: dynamically adjusting a planning algorithm parameter in response to task-level performance data and intra-task performance data, whereby the planning algorithm parameter can be accessed via a global configuration callback interface.
- Procedure according to Claim 1 , wherein the intra-task profiling callback further records latency, jitter and CPU utilization metrics at the worker level, and wherein the task profiling callback further records the work cycle at the task level and the context switch latency.
- Procedure according to Claim 1 , furthermore comprehensively: Generating a performance report that indicates the execution time of the tasks per core and the performance within the task phase for each task instance based on the synchronized performance data at the task level and the intra-task performance data, whereby the performance report is used to adjust the task priority or the core allocation within the multi-core processing system.
- A multi-core processing system comprising: a plurality of processing cores; a real-time operating system (RTOS) running on each of the plurality of processing cores; and a task management service run by the RTOS on each processing core, the task management service being configured to: instantiate a plurality of task instances associated with a plurality of workers; invoke a task profiling callback to record task-level performance data for each task instance; invoke an intra-task profiling callback to record worker-level performance data; and synchronize the recorded task-level performance data and the worker-level performance data for all task instances across the multitude of processing cores across a global configuration that includes global callbacks and global task status information.
- Multi-core processing system according to Claim 9 , where each task instance is associated with a task-specific configuration that includes a parameter set for a real-time operating system (RTOS), common task identifiers, and the multitude of workers.
- Multi-core processing system according to Claim 9 , wherein the global configuration further includes: a global task instance that maintains aggregated task-level profiling data and intra-task performance data from the multitude of processing cores; and a callback structure comprising a callback for a scheduling algorithm, a callback for task profiling, and a callback for intra-task profiling.
- Multi-core processing system according to Claim 9 , whereby the task management service dynamically changes RTOS scheduling parameters in response to the analysis of recorded task-level and worker-level performance data to balance the workload across the multitude of processing cores.
- Multi-core processing system according to Claim 9 , wherein the execution of one or more workers takes place according to a predefined execution phase, including a pre-initialization phase, an initialization phase and a continuous phase, and wherein the intra-task profiling callback measures the time, latency and number of executions of the workers in the continuous phase and the task profiling callback measures the total task duration and CPU utilization per frame interval.
- Multi-core processing system according to Claim 9 , where each task management service maintains a context object that links task-specific configurations and task instances, and the global configuration synchronizes the context objects between the multitude of processing cores.
- Multi-core processing system according to Claim 9 , where the global configuration outputs a synchronized profiling report that identifies the time deviation per core, the worker-level latency, and the jitter during task execution.
- Non-transitory, machine-readable medium that stores instructions which, when executed by one or more processors of a multi-core processing system, cause the one or more processors to perform a procedure comprising: Instantiating a plurality of task instances; Executing one or more workers from a plurality of workers associated with the plurality of task instances; Invoking a task profiling callback associated with each task instance to record task-level performance data during the execution of the one or more workers; Invoking an intra-task profiling callback associated with each worker of the task instance to record intra-task performance data within each execution phase; and Synchronizing the task-level performance data and the intra-task performance data through a global configuration to provide consistent profiling of the task instances running on all processing cores.
- Non-transitory computer-readable medium according to Claim 16 , where each task instance is associated with a task-specific configuration, comprising a parameter set of a real-time operating system (RTOS), common task identifiers, and the multitude of workers.
- Non-transitory computer-readable medium according to Claim 16 , where calling the task profiling callback includes: recording a start time and a stop time for each execution segment of the task instance; and calculating an execution duration for real-time scheduling analysis.
- Non-transitory computer-readable medium according to Claim 16 , wherein the execution of one or more workers takes place according to a predefined execution phase, including a pre-initialization phase, an initialization phase and a continuous phase, and wherein calling the intra-task profiling callback includes: monitoring the execution time of each worker within the continuous phase; and detecting any deviation in the execution time of a worker relative to a predefined segment in real time.
- Non-transitory computer-readable medium according to Claim 16 , where the synchronization of task-level performance data and intra-task performance data results in the following This includes: aggregating recorded task-level performance data and intra-task performance data from the multitude of task management services into a global task instance object maintained in the global configuration.
Description
CROSS-REFERENCE TO RELATED REGISTRATIONS This application claims the benefit of the simultaneously pending preliminary US patent application with serial number 63/718,493 , filed on November 8, 2024. The above-mentioned related patent application is hereby incorporated in its entirety by reference. BRIEF DESCRIPTION OF THE DRAWINGS 1A illustrates an exemplary vehicle according to specific embodiments.1B illustrates a vehicle chassis according to certain embodiments.2A is a schematic block diagram of components of a vehicle according to specific embodiments.2B is a schematic block diagram of alternative components of a vehicle according to specific embodiments.3 is a schematic block diagram illustrating an asymmetric multicore processing system (AMP) of a vehicle according to certain embodiments.4 is a schematic diagram that illustrates a data flow in an AMP according to certain embodiments.5 is a method for managing tasks within an AMP system according to certain embodiments illustrated. DETAILED DESCRIPTION In embedded applications such as vehicle systems, certain tasks are time-critical and require predictable processing with low latency to maintain safe and reliable operation of the vehicle systems. Real-time operating systems (RTOS) can be used to enable more deterministic task execution and can run with minimal latency even on less powerful cores. In some cases, the RTOS can run on less powerful cores of an AMP system, while more powerful cores handle computationally intensive tasks. The implementations described here refer to a standardized framework that provides task management to improve the conformity of RTOS tasks with scheduling algorithms. This facilitates the creation and execution of RTOS tasks and can also support improved logging and enforcement. In this way, the standardized framework enables the deterministic execution of embedded applications, thereby improving the predictability with which time-critical tasks are executed. 1A This illustrates an example vehicle 100. As in 1A As can be seen, the vehicle 100 has several external cameras 102 and one or more front displays 104. Each of these external cameras 102 can capture a particular view or perspective of the exterior of the vehicle 100. The images or videos captured by the external cameras 102 can then be displayed on one or more displays in the vehicle 100, for example, the one or more front displays 104, for viewing by a driver. How 1B As can be seen, the vehicle 100 can include a chassis 106, which includes a frame 108 that provides a primary structural element of the vehicle 100. The frame 108 can be formed from one or more beams or other structural elements, or it can be integrated into the body of the vehicle (i.e., a unibody construction). In embodiments where the vehicle 100 is a battery electric vehicle (BEV) or possibly a hybrid vehicle, a large battery 110 is mounted on the chassis 106 and can occupy a considerable area within the frame 108 (e.g., at least 80 percent of it). For example, the battery 110 can store between 100 and 200 kilowatt-hours (kWh). The battery 110 can be a lithium-ion battery or another type of rechargeable battery. The battery can essentially have a planar shape. The power of the battery 110 can be supplied to one or more drive units 112. Each drive unit 112 can consist of an electric motor and possibly a reduction gear. In some embodiments, there is a single drive unit 112 that drives either the front wheels or the rear wheels of the vehicle 100. In another embodiment, there are two drive units 112, each driving either the front wheels or the rear wheels of the vehicle 100. In yet another embodiment there are four drive units 112, each drive unit 112 driving one of the four wheels of the vehicle 100. The drive units 112 can be powered by one or more power electronics units 114 from the battery 110. The power electronics 114 can include inverters configured to convert direct current (DC) from the battery 110 into alternating current (AC), which is supplied to the motors of the drive units 112. The drive units 112 are connected to two or more hubs 116, to which wheels can be mounted. Each hub 116 incorporates a corresponding brake 118, such as the illustrated disc brakes. The drive units 112 or other components may also enable regenerative braking. Each hub 116 is further connected to the frame 108 via a suspension 120. The suspension 120 may include metal or air springs for shock absorption. The suspension 120 may be designed as a pneumatic or hydraulic suspension, allowing the ride height of the chassis 106 relative to a support surface to be adjusted. The suspension 120 may include a damper, the damper's characteristics being either fixed or electronically adjustable. In the embodiment of 1B In the following discussion, vehicle 100 is a battery-powered electric vehicle. However, the systems and procedures described herein can be used for any type of vehicle, including internal combustion engine (ICE