Deterministic Scheduling Aperiodic Scheduling
Earliest Deadline Due, Earliest Deadline First, Latest Deadline First, Spring Algorithm
References: Shaw Chap 6 Buttazo Chap 3 & 4
Introduction Priority & Round Robin Periodic Scheduling(Feasible Solution)Example 1:
More Round Robin Periodic Scheduling(Non-feasible Solution)Example 2:
APERIODIC TASK SCHEDULINGNotation:
Earliest Due Date (EDD) - Jacksons RuleSet of tasks:Problem:Algorithm:
Earliest Due Date (EDD) - Jacksons Rule
Earliest Due Date (EDD) Example 1
Earliest Due Date (EDD) Example 2
Earliest Due Date (EDD) Guaranteed FeasibilityOrder tasks by increasing deadlines. Then:
Earliest Deadline First (EDF) Horns Algorithm
Earliest Deadline First (EDF) Example
Earliest Deadline First (EDF) Guarantee of Schedualability Dynamic Scheduling:
Assume Schedulable Need to Guarantee that
Assuming all tasks are ordered by increasing deadlines:Worst case finishing time:For Guaranteed Schedulability:
EDF - Non-Preemptive SchedulingThe scheduling problem for non-preemptive EDF is NP hard
Non-Acyclic Search Tree Scheduling
Scheduling with Precedence Constraints
Latest Deadline First (or last?)- Optimizes max Lateness
Latest Deadline First
EDF with Precedence ConstraintsThe problem of scheduling a set of n tasks with precedent constraints and dynamic activations can be solved if the tasks are preemptable.
The basic ideas is transform a set of dependent tasks into a set of independent tasks by adequate modification of timing parameters. Then, tasks are scheduled by the Earliest Deadline First (EDF) algorithm, iff is schedulable. Basically, all release times and deadlines are modified so that each task cannot start before its predecessors and cannot preempt their successors.
EDF with Precedence ConstraintsModifying the release time:
EDF with Precedence Constraints
Modifying the Deadlines:
Jack Stankovics Spring Algorithmvery powerful and actually has been applied in Jacks real-time operating systemThis does not yield an optimal schedule, but the general problem is NP hard. This does lend itself to artificial intelligence and learning. We are interested here in the concept, rather in any implementation.
The objective is to find a feasible schedule when tasks are have different types of constraints, such as precedence relations, resource constraints, arbitrary arrivals, non-preemptive properties, and importance levels. A heuristic function H is used to drive the scheduling toward a plausible path.At each level of the search, function H is applied to each of the remaining tasks. The task with the smallest value determined by the heuristic function H is selected to extend the current schedule. If a schedule is not looking strongly feasible, a minimal amount of backtracking is used.
Jack Stankovics Spring AlgorithmPrecedence constraints can be handled by adding a term E =1 if the task is eligible and E = infinity if it is not.
Jack Stankovics Spring Algorithm
Homework #3 (due 5/3/07) : Lecture 4/241)