Constrained Rate Monotonic Scheduling for Non-Continuous Timelines

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

VSEngineering 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

Engineering Contradiction:
Improvescheduling efficiencyVSAvoidability to handle constraints
Core Design Contradiction:
ProductivityVSAdaptability or versatility

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.

Inventive Principle:
Principle #1Segmentation

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

Engineering Contradiction:
Improveresource utilizationVSAvoidsystem stability
Core Design Contradiction:
ProductivityVSStability of the object's composition

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improvesystem stabilityVSAvoidscheduling flexibility
Core Design Contradiction:
Stability of the object's compositionVSAdaptability or versatility

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.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8621473B2Constrained rate monotonic analysis and scheduling
Publication Date: 2013.12.31 HONEYWELL INTERNATIONAL INC
  • US8621473B2 patent drawing
  • US8621473B2 patent drawing
  • US8621473B2 patent drawing

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.