el2450 hybrid and embedded control - kth · el2450 hybrid and embedded control lecture 7: real-time...

32
EL2450 Hybrid and Embedded Control Lecture 7: Real-time scheduling Scheduling periodic and aperiodic tasks Schedulability analysis Lecture 7 1 January 12, 2015

Upload: others

Post on 31-May-2020

29 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: EL2450 Hybrid and Embedded Control - KTH · EL2450 Hybrid and Embedded Control Lecture 7: Real-time scheduling • Scheduling periodic and aperiodic tasks • Schedulability analysis

EL2450 Hybrid and Embedded Control

Lecture 7: Real-time scheduling

• Scheduling periodic and aperiodic tasks

• Schedulability analysis

Lecture 7 1 January 12, 2015

Page 2: EL2450 Hybrid and Embedded Control - KTH · EL2450 Hybrid and Embedded Control Lecture 7: Real-time scheduling • Scheduling periodic and aperiodic tasks • Schedulability analysis

Today’s Goal

You should be able to model and analyze

• scheduling problems

• earliest deadline first scheduling

• rate monotonic scheduling

• deadline monotonic scheduling

• polling server

Lecture 7 2 January 12, 2015

Page 3: EL2450 Hybrid and Embedded Control - KTH · EL2450 Hybrid and Embedded Control Lecture 7: Real-time scheduling • Scheduling periodic and aperiodic tasks • Schedulability analysis

Scheduling

For a set of tasks J = {J1, . . . , Jn}, a schedule is a map

σ : R+ 7→ {0, 1, . . . , n} assigning a task at each time instant t:

σ(t) =

k 6= 0, CPU should execute Jk

0, CPU is idle

Scheduler

J1J2

σ

Lecture 7 3 January 12, 2015

Page 4: EL2450 Hybrid and Embedded Control - KTH · EL2450 Hybrid and Embedded Control Lecture 7: Real-time scheduling • Scheduling periodic and aperiodic tasks • Schedulability analysis

• σ is feasible if J can be completed according to specified

constraints

• J is schedulable if there exists a feasible σ

Lecture 7 4 January 12, 2015

Page 5: EL2450 Hybrid and Embedded Control - KTH · EL2450 Hybrid and Embedded Control Lecture 7: Real-time scheduling • Scheduling periodic and aperiodic tasks • Schedulability analysis

Scheduling Algorithms

A scheduling algorithm sets task execution order (defines σ)

A scheduling algorithm is

• preemptive if the running task can be arbitrarily suspended at any

time (otherwise non-preemptive)

• static if scheduling decisions are based on fixed parameters

assigned prior to activation (otherwise dynamic)

• off-line if σ is generated off-line and stored in a table (otherwise

on-line)

Activation

Execution

TerminationDispatching

Preemption

Scheduling

Lecture 7 5 January 12, 2015

Page 6: EL2450 Hybrid and Embedded Control - KTH · EL2450 Hybrid and Embedded Control Lecture 7: Real-time scheduling • Scheduling periodic and aperiodic tasks • Schedulability analysis

Timing Constraints

A task Jk can be characterized by the following parameters:

• Release time rk is the time at which Jk becomes ready for execution

• Computation time ck is the time necessary for the CPU to execute Jk

• Deadline dk is the time before which Jk should be completed

• Start time sk is the (actual) time at which Jk starts executing

• Finishing time fk is the (actual) time at which Jk finishes executing

TimeJkrk sk fk dk

ck

Lecture 7 6 January 12, 2015

Page 7: EL2450 Hybrid and Embedded Control - KTH · EL2450 Hybrid and Embedded Control Lecture 7: Real-time scheduling • Scheduling periodic and aperiodic tasks • Schedulability analysis

Independent Periodic Tasks

We mainly focus on scheduling independent periodic tasks.

Tasks are

• independent if there are no precedence relations and no

resource constraints

• periodic if they are activated at a constant rate

Lecture 7 7 January 12, 2015

Page 8: EL2450 Hybrid and Embedded Control - KTH · EL2450 Hybrid and Embedded Control Lecture 7: Real-time scheduling • Scheduling periodic and aperiodic tasks • Schedulability analysis

Independent Periodic Tasks

Suppose all tasks Jk are independent and periodic with

• Period Tk

• Worst-case computation time Ck

• Relative deadline Dk (deadline relative to current release

time; often Dk ≡ Tk)

• Worst-case response time Rk (largest time between release

and termination)

• Phase φk (release time of the first task instance)

Lecture 7 8 January 12, 2015

Page 9: EL2450 Hybrid and Embedded Control - KTH · EL2450 Hybrid and Embedded Control Lecture 7: Real-time scheduling • Scheduling periodic and aperiodic tasks • Schedulability analysis

14 1612108640 2

TimeJ1 J1 J1 J1J2 J2

T1 T1 T1

T2

C1

C2

Lecture 7 9 January 12, 2015

Page 10: EL2450 Hybrid and Embedded Control - KTH · EL2450 Hybrid and Embedded Control Lecture 7: Real-time scheduling • Scheduling periodic and aperiodic tasks • Schedulability analysis

Schedule Length and Feasibility

For independent and periodic tasks J , the length of a

schedule σ is equal to

lcm(T1, . . . , Tn)

σ is feasible if all deadlines are met, i.e.,

Rk ≤ Dk, ∀Jk ∈ J

Lecture 7 10 January 12, 2015

Page 11: EL2450 Hybrid and Embedded Control - KTH · EL2450 Hybrid and Embedded Control Lecture 7: Real-time scheduling • Scheduling periodic and aperiodic tasks • Schedulability analysis

Utilization Factor

The utilization factor U of a periodic task set J is the

fraction of processor time spent in the execution of the task

set. Since Ci/Ti is the fraction for Ji, we have

U =n

i=1

Ci

Ti

• If U > 1, then the task set J is not schedulable

• Even if U ≤ 1, it might be hard to find a feasible schedule

• U is independent of the scheduling algorithm

Lecture 7 11 January 12, 2015

Page 12: EL2450 Hybrid and Embedded Control - KTH · EL2450 Hybrid and Embedded Control Lecture 7: Real-time scheduling • Scheduling periodic and aperiodic tasks • Schedulability analysis

Scheduling Problem

The scheduling problem of finding a feasible σ for a set of

independent periodic tasks J = {J1, . . . , Jn} can be formulated as

Find σ

such that Rk ≤ Dk

U ≤ 1

We will consider the following potential solutions

• Earliest deadline first scheduling

• Rate monotonic scheduling

• Deadline monotonic scheduling

Lecture 7 12 January 12, 2015

Page 13: EL2450 Hybrid and Embedded Control - KTH · EL2450 Hybrid and Embedded Control Lecture 7: Real-time scheduling • Scheduling periodic and aperiodic tasks • Schedulability analysis

Earliest Deadline First Scheduling

Earliest deadline first (EDF) scheduling algorithm assigns

dynamic priorities to the tasks based on their absolute

deadlines:

Execute task with shortest time to deadline dk

Note

• Priorities are set dynamically

• Works also for aperiodic tasks

Lecture 7 13 January 12, 2015

Page 14: EL2450 Hybrid and Embedded Control - KTH · EL2450 Hybrid and Embedded Control Lecture 7: Real-time scheduling • Scheduling periodic and aperiodic tasks • Schedulability analysis

EDF Schedulability

A set of periodic tasks J = {J1, . . . , Jn} with Dk = Tk,

k = 1, . . . , n, is schedulable with EDF if and only if

U ≤ 1

Note

• Processor can be fully utilized with EDF

• A similar result holds even if Dk 6= Tk: if J can be

scheduled by any algorithm, then EDF can schedule J .

Lecture 7 14 January 12, 2015

Page 15: EL2450 Hybrid and Embedded Control - KTH · EL2450 Hybrid and Embedded Control Lecture 7: Real-time scheduling • Scheduling periodic and aperiodic tasks • Schedulability analysis

Example: EDF Scheduling

J1 has T1 = D1 = 5, C1 = 2

J2 has T2 = D2 = 7, C2 = 4

Since U =2

5+

4

7= 0.97 ≤ 1, the tasks are schedulable with

EDF.

14 1612108640 2

Time

20 4 6 8 10 12 1614

TimeJ1

J2

Lecture 7 15 January 12, 2015

Page 16: EL2450 Hybrid and Embedded Control - KTH · EL2450 Hybrid and Embedded Control Lecture 7: Real-time scheduling • Scheduling periodic and aperiodic tasks • Schedulability analysis

Rate Monotonic Scheduling

Rate monotonic (RM) scheduling algorithm assigns fixed

priorities to tasks, such that Ti < Tj implies that Ji gets

higher priority than Jj.

Note

• Provides a way to set fixed priorities for a set of tasks

• Fixed priorities might otherwise often be set heuristically

Lecture 7 16 January 12, 2015

Page 17: EL2450 Hybrid and Embedded Control - KTH · EL2450 Hybrid and Embedded Control Lecture 7: Real-time scheduling • Scheduling periodic and aperiodic tasks • Schedulability analysis

RM Schedulability

A set of periodic tasks J = {J1, . . . , Jn} is schedulable with

RM if

U ≤ n(21/n − 1)

Note

• Not a necessary condition, so there might exist an RM

schedule even if U does not fulfill the inequality

• n(21/n − 1) → ln 2 ≈ 0.69, as n → ∞, so RM can always

schedule J if the total process utilization is less than 0.69

• A maximum utilization of 0.69 is often used as a rule of

thumb for RM

Lecture 7 17 January 12, 2015

Page 18: EL2450 Hybrid and Embedded Control - KTH · EL2450 Hybrid and Embedded Control Lecture 7: Real-time scheduling • Scheduling periodic and aperiodic tasks • Schedulability analysis

Example: RM Scheduling

Try to schedule the previous example with RM. Since

T1 < T2, RM gives higher priority to J1 than J2.

RM does not give a feasible schedule!

Missed deadline

Time

14 1612108640 2

Time

20 4 6 8 10 12 1614

J1

J2

Note that U = 0.97 > 2(21/2 − 1) ≈ 0.83

Lecture 7 18 January 12, 2015

Page 19: EL2450 Hybrid and Embedded Control - KTH · EL2450 Hybrid and Embedded Control Lecture 7: Real-time scheduling • Scheduling periodic and aperiodic tasks • Schedulability analysis

RM is Optimal

If a set of periodic tasks are not schedulable by RM, then the

set is not schedulable by any other fixed priority scheduling

algorithm.

• RM is in this sense the best fixed priority algorithm

• RM is not good when Di ≪ Ti (rare but urgent tasks)

Lecture 7 19 January 12, 2015

Page 20: EL2450 Hybrid and Embedded Control - KTH · EL2450 Hybrid and Embedded Control Lecture 7: Real-time scheduling • Scheduling periodic and aperiodic tasks • Schedulability analysis

Deadline Monotonic Scheduling

Deadline monotonic (DM) scheduling algorithm assigns fixed

priorities to tasks, such that Di < Dj implies that Ji gets

higher priority than Jj.

Note

• At any instant, the task with shortest relative deadline is

executed

• Fixed priority schedule since relative deadlines are

constant

• For tasks with deadlines less than periods

Lecture 7 20 January 12, 2015

Page 21: EL2450 Hybrid and Embedded Control - KTH · EL2450 Hybrid and Embedded Control Lecture 7: Real-time scheduling • Scheduling periodic and aperiodic tasks • Schedulability analysis

• Works for rare but urgent tasks

• DM=RM if Di ≡ Ti

Lecture 7 21 January 12, 2015

Page 22: EL2450 Hybrid and Embedded Control - KTH · EL2450 Hybrid and Embedded Control Lecture 7: Real-time scheduling • Scheduling periodic and aperiodic tasks • Schedulability analysis

Worst-Case Response Time Calculation

Suppose the tasks J1, . . . , Ji are ordered by decreasing fixed

priority. Worst-case response time Ri for Ji is the largest time

between release and termination. It can be derived as the smallest

positive solution to

Ri = Ci +i−1∑

j=1

⌈Ri

Tj

Cj

Note

• Ri appears on both sides of the equation

•∑i−1

j=1

⌈Ri

Tj

Cj represents the preemption by higher-priority

tasks

Lecture 7 22 January 12, 2015

Page 23: EL2450 Hybrid and Embedded Control - KTH · EL2450 Hybrid and Embedded Control Lecture 7: Real-time scheduling • Scheduling periodic and aperiodic tasks • Schedulability analysis

Example

Consider tasks (from previous examples):

J1 has T1 = 5, C1 = 2, high priority

J2 has T2 = 7, C2 = 4, low priority

Worst-case response times are then R1 = 2 and R2 = 8, because:

R1 = C1 = 2, R2 = C2 +⌈R2

T1

C1 = 4 +⌈R2

5

2

Iterate over Rk2 with R0

2 = 0:

R12 = 4 +

⌈R02

5

2 = 4, R22 = 4 +

⌈4

5

2 = 6

R32 = 4 +

⌈6

5

2 = 8, R42 = 4 +

⌈8

5

2 = 8 = R32

Lecture 7 23 January 12, 2015

Page 24: EL2450 Hybrid and Embedded Control - KTH · EL2450 Hybrid and Embedded Control Lecture 7: Real-time scheduling • Scheduling periodic and aperiodic tasks • Schedulability analysis

Scheduling Periodic and Aperiodic Tasks

Together

Background Scheduling

• Schedule aperiodic tasks in the background (when CPU

would be idle)

• May lead to long response time for aperiodic requests

Aperiodic tasks

CPU

RM

FCFSLow−prioriy queue

High−priority queue

Periodic tasks

Lecture 7 24 January 12, 2015

Page 25: EL2450 Hybrid and Embedded Control - KTH · EL2450 Hybrid and Embedded Control Lecture 7: Real-time scheduling • Scheduling periodic and aperiodic tasks • Schedulability analysis

Polling Server Scheduling

• A polling server is a periodic task that serves aperiodic

tasks

• Gives guaranteed CPU utilization also for the aperiodic

tasks

Lecture 7 25 January 12, 2015

Page 26: EL2450 Hybrid and Embedded Control - KTH · EL2450 Hybrid and Embedded Control Lecture 7: Real-time scheduling • Scheduling periodic and aperiodic tasks • Schedulability analysis

Polling Server

• A polling server task JS is characterized by a period TS

and a server capacity CS, as any other periodic task

• The polling server is scheduled by the algorithm for

periodic tasks

• Once activated, the server starts serving the pending

aperiodic requests within the limit of its capacity

• Several scheduling strategies possible for the aperiodic

requests

Lecture 7 26 January 12, 2015

Page 27: EL2450 Hybrid and Embedded Control - KTH · EL2450 Hybrid and Embedded Control Lecture 7: Real-time scheduling • Scheduling periodic and aperiodic tasks • Schedulability analysis

Example: RM Scheduling and Polling Server

Periodic task J1: T1 = 4, C1 = 1

Periodic task J2: T2 = 6, C2 = 2

Server task JS: TS = 5, CS = 2

14 1612108640 2

2 21 Aperiodic tasks

Server capacity

J1

J2

Lecture 7 27 January 12, 2015

Page 28: EL2450 Hybrid and Embedded Control - KTH · EL2450 Hybrid and Embedded Control Lecture 7: Real-time scheduling • Scheduling periodic and aperiodic tasks • Schedulability analysis

Subtask Scheduling

• It is often suitable to divide tasks into subtasks, e.g.,

control tasks

• May create dependency, so it is in general harder to

design schedule

Lecture 7 28 January 12, 2015

Page 29: EL2450 Hybrid and Embedded Control - KTH · EL2450 Hybrid and Embedded Control Lecture 7: Real-time scheduling • Scheduling periodic and aperiodic tasks • Schedulability analysis

Control Tasks

Each control task Jk is dived into four subtasks:

JADk AD conversion

JCOk Calculate controller output

JDAk DA conversion

JUSk Update state

Lecture 7 29 January 12, 2015

Page 30: EL2450 Hybrid and Embedded Control - KTH · EL2450 Hybrid and Embedded Control Lecture 7: Real-time scheduling • Scheduling periodic and aperiodic tasks • Schedulability analysis

nexttime = getCurrentTime();

while (true) {

AD_conversion();

calculateOutput();

DA_conversion();

updateState();

nexttime = nexttime + h;

sleepUntil(nexttime);

}

Lecture 7 30 January 12, 2015

Page 31: EL2450 Hybrid and Embedded Control - KTH · EL2450 Hybrid and Embedded Control Lecture 7: Real-time scheduling • Scheduling periodic and aperiodic tasks • Schedulability analysis

Design Control Task Schedule

• Set DUS = T for all tasks

• Minimize DCO for all tasks

Lecture 7 31 January 12, 2015

Page 32: EL2450 Hybrid and Embedded Control - KTH · EL2450 Hybrid and Embedded Control Lecture 7: Real-time scheduling • Scheduling periodic and aperiodic tasks • Schedulability analysis

Next Lecture

Models of computation

• Discrete-event systems

Lecture 7 32 January 12, 2015