1. Chapter 4 – Periodic Task Scheduling
In many real-time systems periodic tasks dominate the demand.
Three classic periodic task scheduling algorithms:
– Time Line (Cyclic)
– Rate Monotonic
– Earliest Deadline First
What is the landscape here?
What causes the challenges?
2. Periodic Task Scheduling Notation
Ti denotes the period of task i
Ci denotes the Computation time for one instance of task i
5. Processor Utilization Factor - U
< 1 if set is scheduable
Let be the upper bound of the processor utilization factor for a set under a
given algorithm A. When the set is said to fully utilize the processor.
1
6. Time Line Scheduling (Cyclic Scheduling)
Time Line Scheduling (Off-line scheduling strategy)– Divide the time line into time
slices for scheduling tasks, e.g. use the Greatest Common Divisor of the Task Periods
as the time slice:
40 Hz
20 Hz
10 Hz
Schedulability is guaranteed if:
Time line scheduling is sensitive to changes in the task parameters.
Can time line scheduling also accommodate aperiodic tasks ?
7. Rate Monotonic Scheduling
RM is optimal among all fixed Priority assignment schedules.
Why?
How can you how show that it must be optimal?
Which is clearly non-optimal
8. Rate Monotonic – Calc of ULUB for Two Tasks
Let , the number of
Then the schedule produced by RM satisfies one of two conditions:
for Uub
Since this is the critical time zone
for Uub
13. Example: Comparing RM to EDF
Since U > ln 2 = 0.69, Schedulability can’t be guaranteed using Rate Monotonic
14. Deadline Monotonic
The Deadline Monotonic priority assignment weakens the “period equals
deadline” constraint within a static scheduling scheme. Each periodic task
is characterized by four parameters:
which have the following relationships:
15. Comparison of Fixed Priority & Dynamic Priority Scheduling
Categories:
Fixed Priority: Time-Line (Cyclic)
Rate Monotonic (RM)
Dynamic: Earliest Deadline First (EDF)
Comparison:
Fixed Priority: Can be done off-line,
Easier to implement.
Dynamic: Can exploit 100% of processor bandwidth
(RM can uses < 69% in the worst case),
Typically uses less context switches (?),
Handles overloads more gracefully
(Fixed Priority breaks down on overload).
Why does Earliest Deadline First work so well? How does it handle
aperiodic tasks? What is its Achilles heel?