Transcript
Page 1: Deterministic Scheduling Aperiodic Scheduling Earliest Deadline Due, Earliest Deadline First, Latest Deadline First, Spring Algorithm Periodic Scheduling

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

Page 2: Deterministic Scheduling Aperiodic Scheduling Earliest Deadline Due, Earliest Deadline First, Latest Deadline First, Spring Algorithm Periodic Scheduling

Introduction Priority & Round Robin Periodic Scheduling(Feasible Solution)

Example 1:

Page 3: Deterministic Scheduling Aperiodic Scheduling Earliest Deadline Due, Earliest Deadline First, Latest Deadline First, Spring Algorithm Periodic Scheduling

More Round Robin Periodic Scheduling(Non-feasible Solution)

Example 2:

Page 4: Deterministic Scheduling Aperiodic Scheduling Earliest Deadline Due, Earliest Deadline First, Latest Deadline First, Spring Algorithm Periodic Scheduling

APERIODIC TASK SCHEDULING

Notation:

Page 5: Deterministic Scheduling Aperiodic Scheduling Earliest Deadline Due, Earliest Deadline First, Latest Deadline First, Spring Algorithm Periodic Scheduling

Earliest Due Date (EDD) - Jackson’s Rule

Set of tasks:

Problem:

Algorithm:

Page 6: Deterministic Scheduling Aperiodic Scheduling Earliest Deadline Due, Earliest Deadline First, Latest Deadline First, Spring Algorithm Periodic Scheduling

Earliest Due Date (EDD) - Jackson’s Rule

Page 7: Deterministic Scheduling Aperiodic Scheduling Earliest Deadline Due, Earliest Deadline First, Latest Deadline First, Spring Algorithm Periodic Scheduling

Earliest Due Date (EDD) – Example 1

Page 8: Deterministic Scheduling Aperiodic Scheduling Earliest Deadline Due, Earliest Deadline First, Latest Deadline First, Spring Algorithm Periodic Scheduling

Earliest Due Date (EDD) – Example 2

Page 9: Deterministic Scheduling Aperiodic Scheduling Earliest Deadline Due, Earliest Deadline First, Latest Deadline First, Spring Algorithm Periodic Scheduling

Earliest Due Date (EDD) – Guaranteed Feasibility

Order tasks by increasing deadlines. Then:

Page 10: Deterministic Scheduling Aperiodic Scheduling Earliest Deadline Due, Earliest Deadline First, Latest Deadline First, Spring Algorithm Periodic Scheduling

Earliest Deadline First (EDF) – Horn’s Algorithm

Page 11: Deterministic Scheduling Aperiodic Scheduling Earliest Deadline Due, Earliest Deadline First, Latest Deadline First, Spring Algorithm Periodic Scheduling

Earliest Deadline First (EDF) – Example

Page 12: Deterministic Scheduling Aperiodic Scheduling Earliest Deadline Due, Earliest Deadline First, Latest Deadline First, Spring Algorithm Periodic Scheduling

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:

Page 13: Deterministic Scheduling Aperiodic Scheduling Earliest Deadline Due, Earliest Deadline First, Latest Deadline First, Spring Algorithm Periodic Scheduling

EDF - Non-Preemptive Scheduling

The scheduling problem for non-preemptive EDF is NP hard

Page 14: Deterministic Scheduling Aperiodic Scheduling Earliest Deadline Due, Earliest Deadline First, Latest Deadline First, Spring Algorithm Periodic Scheduling

Non-Acyclic Search Tree Scheduling

Page 15: Deterministic Scheduling Aperiodic Scheduling Earliest Deadline Due, Earliest Deadline First, Latest Deadline First, Spring Algorithm Periodic Scheduling

Bratley’s Algorithm

Page 16: Deterministic Scheduling Aperiodic Scheduling Earliest Deadline Due, Earliest Deadline First, Latest Deadline First, Spring Algorithm Periodic Scheduling

Scheduling with Precedence Constraints

Latest Deadline First (or last?)- Optimizes max Lateness

Page 17: Deterministic Scheduling Aperiodic Scheduling Earliest Deadline Due, Earliest Deadline First, Latest Deadline First, Spring Algorithm Periodic Scheduling

Latest Deadline First

Page 18: Deterministic Scheduling Aperiodic Scheduling Earliest Deadline Due, Earliest Deadline First, Latest Deadline First, Spring Algorithm Periodic Scheduling

EDF with Precedence Constraints

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.

Page 19: Deterministic Scheduling Aperiodic Scheduling Earliest Deadline Due, Earliest Deadline First, Latest Deadline First, Spring Algorithm Periodic Scheduling

EDF with Precedence Constraints

Modifying the release time:

Page 20: Deterministic Scheduling Aperiodic Scheduling Earliest Deadline Due, Earliest Deadline First, Latest Deadline First, Spring Algorithm Periodic Scheduling

EDF with Precedence Constraints

Modifying the Deadlines:

Page 21: Deterministic Scheduling Aperiodic Scheduling Earliest Deadline Due, Earliest Deadline First, Latest Deadline First, Spring Algorithm Periodic Scheduling

Example

Page 22: Deterministic Scheduling Aperiodic Scheduling Earliest Deadline Due, Earliest Deadline First, Latest Deadline First, Spring Algorithm Periodic Scheduling

Jack Stankovic’s Spring Algorithmvery powerful and actually has been applied in Jack’s real-time operating system

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

– 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.

Page 23: Deterministic Scheduling Aperiodic Scheduling Earliest Deadline Due, Earliest Deadline First, Latest Deadline First, Spring Algorithm Periodic Scheduling

Jack Stankovic’s Spring Algorithm

Precedence constraints can be handled by adding a term E =1 if the task is eligible and E = infinity if it is not.

Page 24: Deterministic Scheduling Aperiodic Scheduling Earliest Deadline Due, Earliest Deadline First, Latest Deadline First, Spring Algorithm Periodic Scheduling

Jack Stankovic’s Spring Algorithm

Page 25: Deterministic Scheduling Aperiodic Scheduling Earliest Deadline Due, Earliest Deadline First, Latest Deadline First, Spring Algorithm Periodic Scheduling

Summary

Page 26: Deterministic Scheduling Aperiodic Scheduling Earliest Deadline Due, Earliest Deadline First, Latest Deadline First, Spring Algorithm Periodic Scheduling

Homework #3 (due 5/3/07) : Lecture 4/24

1)

2)

3)


Recommended