Multi-Core ECU Scheduling for Non-Overlapping Core Diagnosis
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing scheduling methods for multi-core CPUs in safety-critical systems like vehicle-mounted electronic control devices face challenges in executing core diagnosis tasks without interrupting higher-priority tasks, leading to potential data loss and reliability issues.
Innovation Solution
A method is introduced where a first plan allocates tasks to cores based on priority, and a second plan adjusts the timing of core diagnosis tasks to avoid overlaps with higher-priority tasks, using a correction unit to postpone these tasks to subsequent executable timings.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the core diagnosis task is executed with high priority to ensure reliability, then the diagnosis function is improved, but communication-related tasks may be delayed causing data loss
Solution Approach 1:
The system performs preliminary scheduling of the core diagnosis task to determine its execution timing in advance, considering the cyclic nature of communication tasks. By calculating the diagnosis task's start time based on the communication task's cycle time and previous execution time, the system ensures that diagnosis execution does not conflict with communication data transmission, thus preventing data loss while maintaining diagnosis reliability
Solution Approach 2:
The system dynamically adjusts the execution timing of the core diagnosis task based on real-time system state. When a communication task is currently executing, the diagnosis task is postponed to avoid interrupting it. This dynamic timing adjustment allows the diagnosis task to execute with high priority when safe, while automatically yielding to communication tasks to prevent data loss
2Measurement precision
If the core diagnosis task is made uninterruptible to ensure accurate diagnosis, then the diagnosis accuracy is improved, but it cannot be applied to rate-monotonic scheduling
Solution Approach 1:
The system changes the timing parameters of the core diagnosis task dynamically based on system state. Instead of using a fixed priority scheme, the diagnosis task's execution timing is adjusted according to whether communication tasks are currently running. This parameter change allows the uninterruptible diagnosis task to coexist with the scheduling algorithm without requiring fundamental changes to the scheduling complexity
3Speed
If the core diagnosis task is executed cyclically within a short time constraint to meet failure detection requirements, then the failure detection speed is improved, but it may overlap with high-priority communication tasks
Solution Approach 1:
The system performs preliminary calculation of the diagnosis task's execution timing based on the communication task's cycle time and previous execution time. This advance planning ensures that the diagnosis task is scheduled to execute within the required time constraint for failure detection while avoiding overlap with communication tasks, thus maintaining both speed and reliability
Solution Approach 2:
The system uses feedback from the communication task's execution state to adjust the diagnosis task timing. By monitoring whether a communication task is currently executing and adjusting the diagnosis start time accordingly, the system ensures that failure detection occurs within the required time frame without compromising communication reliability
Data Source
AI summary
To appropriately execute a task by an electronic control device including a processor having a plurality of cores. An ECU 100 includes a multi-core CPU having a plurality of cores that execute a first task that has an execution time that varies depending on a processing amount every predetermined cycle and a second task that is higher in priority than the first task and is prohibited from being interrupted. The second task is set to be inexecutable simultaneously between the plurality of cores. A task allocation unit 11 generates a first plan. A diagnosis task planning unit 12 generates a second plan. Task processing units 10a and 10b execute the first task based on the first plan. A diagnosis task correction unit 13 times a delay time of the first task executed by the task processing units 10a and 10b, and postpones the second task of the second plan to the subsequent executable timing in accordance with the timed delay time. A diagnosis unit 14 executes the second task for each core based on the second plan corrected by the diagnosis task correction unit 13.


