Constrained Rate Monotonic Scheduling for Non-Continuous Timelines
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current rate monotonic schedulers are unable to handle constraints caused by non-continuous execution timelines, leading to unschedulable periods that prevent efficient scheduling of schedulable entities.
Innovation Solution
The implementation of a constrained rate monotonic scheduling (CRMS) system that utilizes a master scheduler to impose constraints on when schedulable entities can be scheduled, allowing them to operate only during designated schedulable windows, ensuring efficient allocation of resources across processing entities.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If rate monotonic scheduling is used to prioritize faster-rate schedulable entities, then scheduling efficiency for high-rate entities is improved, but the ability to handle constraints from non-continuous execution timelines deteriorates
Solution Approach 1:
The execution timeline is segmented into schedulable windows separated by non-schedulable periods. The scheduler operates independently within each schedulable window, allowing rate monotonic scheduling to maintain efficiency for high-rate entities while adapting to constraints by resetting or adjusting priorities at window boundaries. This segmentation enables the system to handle non-continuous timelines without sacrificing scheduling efficiency within available periods.
2Productivity
If schedulable entities are allowed to execute during all time periods, then resource utilization is maximized, but system stability deteriorates due to unschedulable periods
Solution Approach 1:
The system pre-identifies and marks non-schedulable periods in the execution timeline before scheduling begins. By knowing in advance which periods are unschedulable, the rate monotonic scheduler can proactively adjust its scheduling decisions to avoid these periods, ensuring system stability is maintained while maximizing resource utilization during schedulable windows. This preliminary action prevents scheduling conflicts and maintains temporal correctness.
3Stability of the object's composition
If constraints are imposed on scheduling windows to ensure system stability, then system stability is improved, but scheduling flexibility deteriorates
Solution Approach 1:
The scheduler dynamically adjusts its behavior based on the current execution context and constraint conditions. Within schedulable windows, the rate monotonic scheduling algorithm maintains its dynamic priority assignment based on entity rates, providing scheduling flexibility. At the boundaries of schedulable windows or when encountering non-schedulable periods, the scheduler dynamically adapts by resetting priorities or adjusting scheduling decisions, thus maintaining system stability without permanently sacrificing flexibility.
Data Source
AI summary
A method for scheduling schedulable entities onto an execution timeline for a processing entity in a constrained environment includes determining available capacity on the execution timeline for the processing entity based on constraints on the execution timeline over a plurality of time periods, wherein schedulable entities can only be scheduled onto the execution timeline during schedulable windows of time that are not precluded by constraints. The method further includes determining whether enough available capacity exists to schedule a schedulable entity with a budget at a rate. The method further includes when enough available capacity exists to schedule the schedulable entity with the budget at the rate, scheduling the schedulable entity onto the execution timeline for the processing entity during a schedulable window of time. The method further includes when the schedulable entity is scheduled onto the execution timeline, updating available capacity to reflect the capacity utilized by the schedulable entity.


