Cooperative Scheduler Task Overrun Detection Without Interruption

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvetask overrun detectionVSAvoidtask execution continuity
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #1Segmentation

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

Engineering Contradiction:
ImproveCPU access continuityVSAvoidoverflow event detection
Core Design Contradiction:
Ease of operationVSReliability

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improvetask execution continuityVSAvoidoverflow status retention
Core Design Contradiction:
ProductivityVSReliability

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.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS20240320041A1Co-Operative Scheduler with Detection of Task Executing Longer than an Expected Execution Time Without Interrupting Execution of the Task
Publication Date: 2024.09.26 MICROCHIP TECHNOLOGY INC
  • US20240320041A1 patent drawing
  • US20240320041A1 patent drawing
  • US20240320041A1 patent drawing

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.