Cooperative Scheduler Task Overrun Detection Without Interruption
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for detecting task overruns in co-operative schedulers are intrusive and interrupt the execution of tasks, or provide ambiguous results, failing to accurately record 'incorrect allocation of execution time' issues without blocking task execution.
Innovation Solution
A co-operative scheduler with a timer circuit that detects task overruns without interrupting execution and a record circuit to log the overrun, allowing for non-intrusive monitoring and providing a correction factor to adjust the expected execution time.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If an interrupt mechanism is used on the secondary timer to detect task overruns, then task overrun detection is achieved, but task execution is temporarily blocked
Solution Approach 1:
The patent introduces a secondary timer as an intermediary component that operates independently from the primary task execution timer. This secondary timer monitors task execution duration without interrupting the main task flow, allowing overrun detection while maintaining execution continuity. The secondary timer acts as a mediator between the task execution process and the overrun detection mechanism.
Solution Approach 2:
The timing function is segmented into two separate timers: a primary timer used by the co-operative scheduler for task execution and a secondary timer for computing and detecting task execution time. This segmentation allows the detection function to operate independently without interfering with the execution function, resolving the contradiction between detection reliability and execution productivity.
2Ease of operation
If interrupts are disabled during critical sections to ensure uninterrupted CPU access, then task execution is protected, but overflow events may be missed
Solution Approach 1:
The secondary timer is configured and started before the task execution begins, and it continuously monitors the execution time throughout the entire task lifecycle. By establishing the monitoring mechanism in advance and maintaining it throughout execution, the system ensures that overflow events are detected regardless of interrupt disablement during critical sections.
3Productivity
If a secondary hardware timer is configured to detect task overruns without interrupts, then task execution is not blocked, but the overflow status may be lost if the application task clears the interrupt flag
Solution Approach 1:
The system implements a feedback mechanism where the secondary timer continuously monitors and reports task execution status. The overflow detection result is fed back to the system in a way that preserves the status information, ensuring that overflow events are reliably detected and recorded without being lost, while maintaining continuous task execution.
Data Source
AI summary
A device having a co-operative scheduler of a task of an application, a timer circuit to detect a task of the application executing longer than an expected execution time for the task without interrupting execution of the task; and a record circuit to record that a task has been detected by the timer circuit executing longer than the expected execution time. A method for co-operative scheduling of tasks of an application, detecting a task of an application executing longer than an expected execution time for the task without interrupting execution of the task, and recording that an overrun has been detected.


