Multicore Adaptive Scheduler for Avionics Task Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Modern avionics systems face challenges in maintaining determinism due to non-deterministic effects from superscalar architectures, asynchronous events, and unbounded inputs, which complicate the scheduling of tasks and resource management, especially in environments requiring both hard and soft real-time processing.
Innovation Solution
A multicore adaptive partition scheduler is introduced, which categorizes tasks as flight-critical and quality-driven, allocating CPU time based on worst-case execution time and minimum necessary completion time respectively, and employs priority levels and eligibility offsets to manage task execution and resource allocation, ensuring bounded determinism and efficient use of CPU resources.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a fixed-time cyclic scheduler is used to guarantee deterministic execution, then time partitioning and predictability are improved, but soft real-time applications cannot utilize unused processing resources
Solution Approach 1:
The patent segments tasks into two distinct categories: flight-critical tasks (FCTs) and quality-driven tasks (QDTs). FCTs are allocated guaranteed time slices to ensure deterministic execution, while QDTs can access unused processing resources. This segmentation allows the system to maintain determinism for critical functions while enabling resource utilization for non-critical functions that benefit from additional processing.
Solution Approach 2:
The scheduler dynamically adjusts resource allocation between FCTs and QDTs based on system state. When FCTs complete their guaranteed time slices early, the scheduler dynamically makes unused CPU cycles available to QDTs. This dynamic adjustment allows the system to transition from a static fixed-time model to a flexible model that maintains determinism while improving overall resource utilization.
2Reliability
If polling-based I/O is used to minimize interrupts and improve determinism, then bounded determinism is improved, but CPU resources are wasted
Solution Approach 1:
The patent applies different I/O handling strategies to different task types. Flight-critical tasks use polling-based I/O to ensure bounded determinism and minimize interrupt impacts on critical functions. Quality-driven tasks, which are less sensitive to timing variations, can utilize interrupt-driven I/O to efficiently handle I/O events without wasting CPU resources on polling. This local differentiation resolves the contradiction by applying the appropriate I/O model to each task category.
3Productivity
If all available processing is mobilized for soft real-time tasks, then quality of soft real-time applications is improved, but time partitioning and resource guarantees for critical tasks are compromised
Solution Approach 1:
The patent introduces an intermediary scheduling layer that sits between the fixed-time cyclic scheduler and the task execution. This intermediary scheduler monitors the completion status of FCTs and dynamically allocates unused CPU cycles to QDTs. The intermediary ensures that FCTs always receive their guaranteed time slices first, maintaining time partitioning guarantees, while any remaining resources are made available to QDTs to improve application quality without compromising critical task execution.
4Loss of time
If fixed time partitions are allocated to ensure predictable execution, then scheduling predictability is improved, but unused processing capacity cannot be utilized
Solution Approach 1:
The patent changes the parameter of time allocation from a static fixed value to a dynamic value that adjusts based on actual task completion times. FCTs maintain their guaranteed time slice parameters for predictability, while QDTs receive variable time allocations that utilize unused processing capacity. The scheduler monitors execution progress and dynamically adjusts the time parameters allocated to different task categories, allowing the system to maintain predictability for critical tasks while capturing and utilizing previously wasted processing capacity.
Data Source
AI summary
A multicore adaptive scheduler of tasks in an ARINC 653-compliant avionics system allocates flight critical tasks execution time equivalent to their worst case execution time and allocates quality-driven tasks minimum execution time equivalent to their minimum completion time. The scheduler may also offset the start time of a task or define an upper bound for completion time of a quality-driven task. The scheduler generates and executes partition schedules of tasks, reallocating execution time unused by completed tasks and reallocating execution time from interrupt handlers to tasks preempted by interrupts. The scheduler may also analyze the viability of a generated schedule. The scheduler uses rate limiting and flow control techniques to ensure a predictable amount of execution time to be reallocated for interrupt handling.


