Real-Time Task Time Allocation for Deterministic Error Recovery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Critical real-time systems face challenges in guaranteeing efficient and secure multitasking with modern processors, particularly due to cache memory interference and the difficulty in accurately calculating Worst Case Execution Time (WCET), leading to oversizing and performance penalties.
Innovation Solution
A method is introduced that defines time windows with quotas and margins for task processing, allowing for error handling without interfering with other tasks, and dynamically reallocates unused time for optimizations like thermal regulation, using a multiplier coefficient to adjust time allocations based on processor characteristics.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If static scheduling methods are used with time margins for error recovery, then reliability is improved, but device complexity increases due to cache memory management requirements
Solution Approach 1:
The processing time is segmented into distinct phases: a first time window for normal task execution and a second time window for error recovery. This segmentation allows the system to allocate specific time resources for error handling without interfering with normal task execution, thereby maintaining reliability while simplifying cache memory management by establishing clear temporal boundaries for different operational modes.
Solution Approach 2:
The system performs preliminary actions by pre-defining time windows and suspension points before errors occur. The error recovery suspension point is established in advance within the first time window, and the second time window is pre-allocated for recovery operations. This preliminary preparation eliminates the need for complex runtime cache management decisions, reducing device complexity while ensuring reliability.
2Measurement precision
If cache memories are emptied at the beginning of each time window, then measurement precision of execution time is improved, but productivity decreases due to performance penalties
Solution Approach 1:
The time window is segmented into a first execution phase and a second error recovery phase. During the first phase, the cache memory is allowed to retain data to maintain execution performance. The segmentation allows precise measurement of execution time bounds without requiring cache emptying at the beginning of each window, thus maintaining productivity while achieving measurement precision through the structured two-phase approach.
Solution Approach 2:
Instead of completely emptying the cache memory at the beginning of each time window, the system applies partial action by only suspending execution at specific points and selectively managing cache contents. The cache is preserved during normal execution and only cleared or managed when transitioning to the error recovery phase, reducing the performance penalty while maintaining sufficient measurement precision for execution time bounds.
3Reliability
If time quotas are allocated based on theoretical WCET, then reliability is improved, but loss of time increases due to oversizing
Solution Approach 1:
The system dynamically adjusts time quota utilization by monitoring execution progress during the first time window. If a task completes before its theoretical WCET expires, the remaining time is not wasted but can be carried forward or reallocated. The dynamic nature of the two-phase approach allows the system to adapt to actual execution times rather than rigidly adhering to theoretical bounds, reducing time loss while maintaining reliability through the structured error recovery mechanism.
Solution Approach 2:
The system discards unused time quotas from completed tasks and recovers them for future use. When a task completes before its allocated time quota expires, the remaining time is not lost but is recovered and can be utilized in subsequent time windows or for other tasks. This discarding and recovering mechanism reduces overall time loss while maintaining the reliability guarantees provided by the structured time window approach.
Data Source
Figure 1~3
Figure 4~6B
Figure 7~8
AI summary
The invention concerns a method for executing tasks of a real-time application on a multitasking computer, comprising steps of: defining time windows, each associated with the execution of the processing of a task of the application, allocating, to each processing operation having a time window, a time quota (QA1, QA2, QA3, QB) and a time margin (MA1, MA2, MA3, MB), the time allocated to the processing operation by the time quota and the time margin being shorter than the duration of the time window of the processing operation, during the execution of the application, activating each processing operation at the start of the time window with which it is associated, on expiry of the time quota of one of the processing operations, activating an error mode if the execution of the processing operation has not been completed, and, if the error mode is active for one of the processing operations, executing an error handling operation for the processing operation, during the remaining time allocated to the processing operation by the time quota and the time margin.