Deterministic Scheduling. Aperiodic Scheduling Earliest Deadline Due, Earliest Deadline First, Latest Deadline First, Spring Algorithm Periodic Scheduling References: Shaw – Chap 6 Buttazo – Chap 3 & 4.
Earliest Deadline Due,
Earliest Deadline First,
Latest Deadline First,
References: Shaw – Chap 6
Buttazo – Chap 3 & 4
Set of tasks:
Order tasks by increasing deadlines. Then:
Assuming all tasks are ordered by increasing deadlines:
Need to Guarantee that
Worst case finishing time:
For Guaranteed Schedulability:
The scheduling problem for non-preemptive EDF is NP hard Schedualability
The 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.
Modifying the release time:
Modifying the Deadlines:
This 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
non-preemptive properties, and
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.
Precedence constraints can be handled by adding a term E =1 if the task is eligible and E = infinity if it is not.