Real-Time Task Scheduling2
Real-Time Task Scheduling2
ͽ 5. Optimal Scheduler
ͽ A real-time task scheduler is called optimal, if it can feasibly schedule
any task set that can be feasibly scheduled by any other scheduler.
ͽ If an optimal scheduler can not schedule some task set, then no other
scheduler should be able to produce a feasible schedule for that task
set.
Basic concepts:
ͽ 6. Proficient Scheduler
ͽ A task scheduler sch1 is said to be more proficient than another
scheduler sch2, if sch1 can feasibly schedule all task sets that sch2 can
feasibly schedule, but not vice versa. That is, sch1 can feasibly schedule
all task sets that sch2 can, but there exists at least one task set that sch2
can not feasibly schedule, whereas sch1 can.
ͽ If sch1 can feasibly schedule all task sets that sch2 can feasibly schedule
and vice versa, then sch1 and sch2 are called equally proficient
schedulers.
Basic concepts:
ͽ 7. Jitter:
ͽ Jitter is the deviation of a periodic task from its strict periodic behavior.
ͽ The arrival time jitter is the deviation of the task from arriving at the
precise periodic time of arrival. It may be caused by imprecise clocks, or
other factors such as network congestions.
ͽ the utilization
ͽ where ei is the execution time
ͽ pi is the period of Ti. (Fixed time interval after which a task repeats)
ͽ A major cycle of a set of tasks is an interval of time on the time line such
that in each major cycle, the different tasks recur identically.
ͽ For any given task set it is sufficient to store entries only for LCM(p1,
p2, .., pn) duration in the schedule table.
Table-Driven Scheduling
Task p e
1. T1
T2
20
100
5
20
T3 250 30
Task P e
2. T1 40 1
T2 10 2
T3 20 1
T4 20 5
Table-Driven Scheduling
Task P e
T1 4 1
T2 5 1.8
T3 20 1
T4 20 2
ͽ Example S