Task Scheduling via Direct-Feedthrough Identification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Multi-core processors pose challenges in safety-critical systems due to contention on shared resources, making it difficult to predict execution times and ensure determinism, which is crucial for certification in applications like avionics.
Innovation Solution
A method for scheduling tasks by identifying direct-feedthrough tasks and using this information to determine their execution order, allowing for efficient scheduling while maintaining system behavior, and utilizing a scheduler to generate schedules that meet deadlines and reduce contention delays.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If tasks are scheduled to execute simultaneously on multiple cores, then system throughput is improved, but contention on shared resources causes delays and non-deterministic execution times
Solution Approach 1:
The system performs preliminary identification of direct-feedthrough tasks before scheduling execution. By analyzing task dependencies in advance and categorizing tasks as direct-feedthrough or non-direct-feedthrough, the scheduler can pre-determine execution orders that avoid contention delays, ensuring deterministic execution times while maintaining high throughput
Solution Approach 2:
The task set is segmented into two categories: direct-feedthrough tasks and non-direct-feedthrough tasks. This segmentation allows the scheduler to apply different execution strategies to each category, managing dependencies explicitly for direct-feedthrough tasks while enabling parallel execution for non-direct-feedthrough tasks, thus resolving the contradiction between throughput and determinism
2Device complexity
If shared resources are used among multiple cores, then device complexity is reduced, but contention causes interference and variability in execution time
Solution Approach 1:
The system incorporates feedback about task execution characteristics by identifying whether tasks are direct-feedthrough or non-direct-feedthrough. This feedback information is used by the scheduler to adjust execution orders and allocate resources dynamically, reducing contention-induced variability while maintaining the benefits of shared resources
Solution Approach 2:
The direct-feedthrough task identification mechanism acts as an intermediary between task submission and execution. By inserting this analysis layer, the system can mediate resource allocation and execution ordering to prevent contention, thereby reducing execution time variability without requiring separate dedicated resources for each core
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A computer-implemented method schedules a plurality of tasks for execution by a processor system. A first execution model for the plurality of tasks is accessed. Data is generated that identifies which tasks in the execution model are not direct-feedthrough tasks. The data is used to determine an order for executing the tasks at least partly in dependence on whether or not each task is a direct-feedthrough task.