Real-Time Task Scheduling via Microtask Segmentation and Dynamic Priority
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional methods for predicting worst-case execution time (WCET) on modern multicore processor architectures lead to overly pessimistic estimates, resulting in inefficient resource utilization and scheduling decisions due to the high discrepancy between predicted and actual execution times.
Innovation Solution
A method that partitions tasks into microtasks with smaller execution budgets, determining reference timings to ensure real-time constraints are met with a high probability, and dynamically adjusts task priorities based on actual timing to optimize resource allocation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional WCET prediction methods are used on multicore processors, then real-time constraints are guaranteed with high probability, but resource utilization efficiency deteriorates due to overly pessimistic estimates
Solution Approach 1:
The patent segments tasks into microtasks with fine-grained budgets, allowing more precise tracking and allocation of execution resources. This segmentation enables the system to move away from overly conservative whole-task WCET estimates to more granular, accurate predictions at the microtask level, thereby improving resource utilization while maintaining real-time guarantees.
Solution Approach 2:
The patent implements dynamic priority adjustment based on actual task progress and timing information. Instead of static priority assignments based on pessimistic WCET predictions, the system dynamically adapts priorities during runtime, allowing tasks to receive appropriate scheduling attention based on their actual execution needs rather than worst-case assumptions, thus improving resource efficiency.
2Reliability
If execution time budgets are set based on worst-case estimates, then deadline satisfaction is ensured, but execution efficiency deteriorates due to excessive conservatism
Solution Approach 1:
The patent employs feedback mechanisms where actual execution timing information is continuously monitored and used to adjust scheduling decisions. The system compares actual microtask completion times against predicted budgets and uses this feedback to refine priority assignments and budget allocations, moving from static worst-case budgets to adaptive, evidence-based timing management that reduces unnecessary conservatism.
Solution Approach 2:
The patent changes the parameter granularity from whole-task WCET budgets to microtask-level budgets with associated probabilities. This parameter transformation allows the system to work with more precise, less conservative time estimates at the microtask level while aggregating to maintain overall deadline guarantees, thereby reducing the loss of execution efficiency.
3Ease of operation
If static priority scheduling is used, then scheduling simplicity is maintained, but adaptability to actual execution conditions deteriorates
Solution Approach 1:
The patent transitions from static priority scheduling to dynamic priority adjustment based on actual execution progress. The system monitors microtask completion and timing information, then adapts task priorities in real-time to match actual execution conditions, enabling the scheduler to respond to runtime variations while maintaining a relatively simple underlying scheduling framework.
Solution Approach 2:
The patent implements a system where tasks effectively self-adjust their scheduling priorities based on their own execution progress and timing information. The runtime system automatically updates priority assignments based on observed execution behavior, reducing the need for complex external scheduling control while improving adaptability to actual execution conditions.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
An apparatus and a method are presented for executing a program including a plurality of tasks, wherein one or more tasks of the plurality of tasks have real-time constraints, the method comprising the following steps for each task with real-time constraints: determining a real-time reference model for the task, wherein the real-time reference model of a task includes a plurality of micro tasks which are a partitioning of the task and an order among the micro tasks according to all possible execution paths of the task, and wherein the reference model includes a reference timing for each micro task; executing the task and a plurality of other tasks and determining after execution of a micro task of the task an actual timing, comparing the actual timing to the reference timing, and based on the comparing increasing the priority of the task.