CSE 522 Real-Time Scheduling (2) Computer Science & Engineering Department Arizona State University...

39
CSE 522 Real-Time Scheduling (2) Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang Lee [email protected] (480) 727-7507 1

Transcript of CSE 522 Real-Time Scheduling (2) Computer Science & Engineering Department Arizona State University...

Page 1: CSE 522 Real-Time Scheduling (2) Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang Lee yhlee@asu.edu (480)

1

CSE 522 Real-Time Scheduling (2)

Computer Science & Engineering DepartmentArizona State University

Tempe, AZ 85287

Dr. Yann-Hang [email protected](480) 727-7507

Page 2: CSE 522 Real-Time Scheduling (2) Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang Lee yhlee@asu.edu (480)

2

Priority-Driven Scheduling of Periodic Tasks

Why priority-driven scheduling use priority to represent urgency easy implementation of scheduler (compare priorities and

dispatch tasks) tasks can be added or removed easily no direct control of execution instant

How can we analyze the schedulability if we don’t know when a task is to be executed

Let’s begin a deterministic case in one processor independent periodic tasks deadline = period preemptable no overhead for context switch

Page 3: CSE 522 Real-Time Scheduling (2) Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang Lee yhlee@asu.edu (480)

3

Priority-Driven Schedules Assign priority when jobs arrive

static -- all jobs of a task have a fixed priority dynamic -- different priorities to individual jobs of a task relative priorities don’t change while jobs are waiting

Static priority schedules Rate-monotonic -- the smaller a task priority, the higher its priority Deadline-monotonic

Dynamic priority schedules EDF -- earliest deadline first LSTF -- least slack time first

Schedulable utilization: a scheduling algorithm can feasibly schedule any sets of priority tasks if

the total utilization is equal to or less than the schedulable utilization of the algorithm

Page 4: CSE 522 Real-Time Scheduling (2) Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang Lee yhlee@asu.edu (480)

4

EDF Schedule

A optimal algorithm under single processor and preemptable tasks How do we know a set of periodic tasks are schedulable under

EDF ? If we know the schedulable utilization SU of EDF, then any sets of

tasks are schedulable when U SU Theorem: A set of n periodic tasks can be scheduled by EDF iff

Proof the only-if part is obvious the if part --- show if there is a job misses its deadline, then U > 1

11

n

i i

i

p

eU

Page 5: CSE 522 Real-Time Scheduling (2) Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang Lee yhlee@asu.edu (480)

5

EDF Schedule

Let the 1st unschedulable job be Ji,c that misses its deadline at t and the processor is never idle during [0,t] how much execution we have done before t

Case 1: no type D jobs and let’s ignore type C jobs

Case 2: if type D jobs exist and are executed before r let t’ be the latest instant that type D jobs execute how much execution we have done in [t’, t]

Ji,c is released Ji,c misses its deadline0 tr

AB

CD

tUp

e

p

ete

p

t

p

ett

ik k

k

i

ik

ik k

k

i

ii

)()()(

Page 6: CSE 522 Real-Time Scheduling (2) Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang Lee yhlee@asu.edu (480)

6

Extension of EDF Schedulable Utilization

If Di pi, EDF is schedulable iff U 1 What can we do if Di < pi

density of task k : k = ek / min(pk,Dk) EDF is schedulable if the total density is equal to or less than 1 proof: if there is a job missing its deadline, then the total density > 1 there is no “only-if” part ---- if the total density > 1, EDF may or may not

schedulable

If Di pi, LSTF is schedulable iff U 1 Predicable for single-processor preemptive schedule of

independent tasks Robust

independent of phases periods are lower bound applicable to sporadic tasks with minimum

separations

Page 7: CSE 522 Real-Time Scheduling (2) Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang Lee yhlee@asu.edu (480)

7

General EDF Feasibility Analysis

Processor demand: all processing request during a period [ti, t2), i.e.,

Loading factor:

Each set of real-time jobs is feasibly scheduled by EDF iff

How to compute loading factor?

21

21,

),[tdrt

ktt

kk

Ch

12

),[),[

21

21 tt

hu tt

tt

1sup ),[0

2121

tttt

uu

Page 8: CSE 522 Real-Time Scheduling (2) Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang Lee yhlee@asu.edu (480)

8

Sporadic Tasks under EDF

minimum separation Ti ≠ Di Worst possible scenario: arrives synchronously at

the maximum rate A sporadic task set is feasibly scheduled by EDF iff

Need to show that

Hybrid task sets (with both periodic and sporadic task) are schedulable under EDF if

1uu

),0[12

),[ 12

12

21)1( tti

ttD i

itt hC

T

Dtth

i

1,min1

n

i ii

i

TD

C

Page 9: CSE 522 Real-Time Scheduling (2) Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang Lee yhlee@asu.edu (480)

9

EDF Schedulability Test

If Di ≤ Ti and synchronous task sets

loading factor u[0,t)≤1 for all t L: synchronous busy period, can be compute iteratively by

Test loading factor at deadline instants that are less than L

i

n

i i

mm

n

ii

CT

LL

CL

1

)()1(

1

)0(

Page 10: CSE 522 Real-Time Scheduling (2) Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang Lee yhlee@asu.edu (480)

10

EDF Scheduling Example

L0=7, L1=9, L2=11, L3=14, L4=16

the set of points to be tested: D={4,5,7,10,13,16}

Task(i) Period WCET Deadline

16 2 4

28 2 5

39 3 7

t h u

4 2 0.5

5 4 0.8

7 7 1

10 9 0.9

13 11 0.85

16 16 1

Page 11: CSE 522 Real-Time Scheduling (2) Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang Lee yhlee@asu.edu (480)

11

A digital robot with EDF schedule control loop: ec 8ms at 100Hz BIST: eb 50ms given

BIST can be done every 250ms

Add a telemetry task to send and receive messages with et 15ms if BIST is done every 1000ms given

the telemetry task can have a relative deadline of 100ms sending or receiving must be separated at least 100ms

150

10

8

bbc p

uu

115

1000

50

10

8

tbc D

uu

Example of EDF Schedule

Page 12: CSE 522 Real-Time Scheduling (2) Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang Lee yhlee@asu.edu (480)

12

Rate-Monotonic Algorithm

A base case: no additional overhead, simple periodic tasks with pi =Di

Assign priorities according their periods Ti has a higher priority that Tk if i < k ( pi < pk ) Is RM optimal? if there is a feasible fixed-priority schedule, then RM is

feasible How do we know RM is feasible schedulability test

Results: RM is optimal if pi Di

sufficient condition utilization test

a complete test what is the worst response time given all possible arrivals and preemptions

)12( /1

1

nn

i i

i np

eU

Page 13: CSE 522 Real-Time Scheduling (2) Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang Lee yhlee@asu.edu (480)

13

T1 T2 T1, T2 T2 T1

Critical Instant

Critical instant of Ti: a job of Ti arriving at the instant has a maximum response time

If we can find the critical instant of Ti, then check whether all jobs of Ti meet their deadlines

let’s increase ei until the maximum response time = Di

schedulable utilization In-phase instant is critical: all higher priority tasks are released

at the same instant of Ji,c (assume all jobs are completed before the next job of the same task is released.) which T2 has the maximum response time

Page 14: CSE 522 Real-Time Scheduling (2) Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang Lee yhlee@asu.edu (480)

14

Schedulability Test: Time-Demand Analysis

Consider in-phase instant only If Ji is done at t, then the total work must be done in [0,t] is

(from Ji and all higher priority tasks)

Can we find a t Di such that

wi(t) t cannot check all t [0, Di]

check all arrival instants and Di

The completion time of Ji satisfies

k

i

k kii e

p

tetw )(

1

1

k

i

k ki e

p

tet

1

1

t

w(t)

time Di

Page 15: CSE 522 Real-Time Scheduling (2) Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang Lee yhlee@asu.edu (480)

15

Schedulability Test

EDF has a schedulable utilization of 1, how about RMS If Di=pi, the schedulable utilization exists

if U n ( 21/n - 1 ), done else do time-demand analysis

if Di < pi, do time-demand analysis

if Di > pi, there may be more than one jobs of task i in the system examine all jobs of task i in a level-i busy interval (in-phase) the following equations represent:

)()1( for )( ,

1

1, twtpje

p

tejtw jiik

i

k kiji

iiji pjpjtwt )1())1((,

Page 16: CSE 522 Real-Time Scheduling (2) Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang Lee yhlee@asu.edu (480)

16

Schedulable Utilization of RMS

Must be less than 1 Let’s consider two tasks and deadline=period

T2 can only be executed when T1 is not in the system

Let p2 < 2p1. What is the maximum schedulable e2

If p2 < p1+e1, max(e2)=p1-e1 U=e1/p1+(p1-e1)/p2

Else, max(e2)=p2-2e1 U=e1/p1+(p2-2e1)/p2

T1 T1 T1

0 p1 2p1

p2

p2maximal e2

Page 17: CSE 522 Real-Time Scheduling (2) Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang Lee yhlee@asu.edu (480)

17

Schedulable Utilization of RMS

Given e1, p1, and p2, plot U The minimum U occurs when

p2=p1+e1

where

U= e1/p1+(p1-e1)/(p1+e1)

What is the minimum U take the derivative wrt to p1 and set dU/dp1=0

we will get e1=(21/2-1)p1 and U=0.828…

p2=p1 2p1

U

1

Page 18: CSE 522 Real-Time Scheduling (2) Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang Lee yhlee@asu.edu (480)

18

Schedulable Utilization of RMA

U n ( 21/n - 1 ) Is there a case that is feasible and gives the minimal

schedulable utilization When pn 2 p1

processor must be busy in [0,pn]

become unscheduable if increase ei

processor will be idle if increase pi

T1

T2

T3

T4

T5

p5

Page 19: CSE 522 Real-Time Scheduling (2) Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang Lee yhlee@asu.edu (480)

19

What do we have from the timeline diagram ek = pk+1 - pk for k=1,2,..,n-1

en = pn - 2(e1 + e2 + . . . . + en-1 ) =2p1 - pn

Can we increase e1 and decrease ek by the same amount still schedulable for the 1st arrival of all tasks utilization is higher

Can we decrease e1 and increase ek

When will U be minimum ----- when q2,1=q3,2= . . . = 2/n

nqqq

qqq

p

p

p

p

p

p

p

pU

nnnn

nn

n

1,2,31,21,2,31,2

1

12

3

1

2

.....

2.....

)12

()1(....)1()1(

Schedulable Utilization of RMA

Page 20: CSE 522 Real-Time Scheduling (2) Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang Lee yhlee@asu.edu (480)

20

Tk

Tn

Tk

Tn

pn

lpk

Schedulable Utilization of RMA

When pn > 2pk and schedulable construct a new task set that is schedulable and pn > 2pk the original set has a higher utilization

Page 21: CSE 522 Real-Time Scheduling (2) Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang Lee yhlee@asu.edu (480)

21

Schedulability: RT Test

Theorem: for a set of independent, periodic tasks, if each task meets its first deadline, with worst-case task phasing, the deadline will always be met.

Response Time (RT) test: let an = response time of task i. an may be computed by the following iterative formula:

Test Terminates when an+1 = an Task i is schedulable if its response time is before its

deadline: an ≤ pi

i

1jj0j

1i

1j j

ni1n ea where e

p

aea

Page 22: CSE 522 Real-Time Scheduling (2) Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang Lee yhlee@asu.edu (480)

22

Sample Problem: UB Test

e p U

Task 1 20 100 0.200

Task 2 40 150 0.267

Task 3 100 350 0.286

Total utilization is

.200 + .267 + .286 = .753 < U(3) =.779 The periodic tasks in the sample problem are

schedulable according to the UB test.

Page 23: CSE 522 Real-Time Scheduling (2) Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang Lee yhlee@asu.edu (480)

23

Example: Applying RT Test (1)

If we increase the compute time of 1ז from 20 to 40; is the task set still schedulable?

Utilization for the first task : 40/100=0.4 < U(1) Utilization of first two tasks: 0.667 < U(2) = 0.828

First two tasks are schedulable by UB test

Utilization of all three tasks: 0.953 > U(3) = 0.779 UB test is inconclusive Need to apply RT test

Page 24: CSE 522 Real-Time Scheduling (2) Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang Lee yhlee@asu.edu (480)

24

Example: Applying RT Test (2)

Use RT test to determine if 3ז meets its first deadline:

i = 3

2608080100)40(150

180)40(

100

180100

ep

aee

p

aea

1801004040eeeea

j

2

1j j

03j

1i

1j j

0i1

321

3

1jj0

Page 25: CSE 522 Real-Time Scheduling (2) Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang Lee yhlee@asu.edu (480)

25

Example: Applying RT Test (3)

a3 = a2 = 300 Done!

Task is schedulable using RT test. a3 = 300 < p3 = 350

300)40(150

300)40(

100

300100e

p

aea

300)40(150

260)40(

100

260100e

p

aea

j

1i

1j j

2i3

j

1i

1j j

1i2

Page 26: CSE 522 Real-Time Scheduling (2) Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang Lee yhlee@asu.edu (480)

26

Modeling Task Switching

C1

S

C1

C2

C1

C2

1

2

3

C1

40 40

0 100 200

C1C1 C1

e1 S

C2C1 C1

C1

S e2 S S

time

p1 p2 2p1

i

ii p

S2eU

Two scheduling actions per task(start of period and end of period)

Page 27: CSE 522 Real-Time Scheduling (2) Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang Lee yhlee@asu.edu (480)

27

Schedulability with Interrupts

Interrupt processing can be inconsistent with rate monotonic priority assignment. interrupt handler executes with high priority despite its period interrupt processing may delay execution of tasks with shorter

periods Effects of interrupt processing must be taken into

account in schedulability model.Task(i) Period(p) WCET(e) Priority Deadline(D)

3200 60 HW 200

1100 20 High 100

2150 40 Medium 150

4350 40 Low 350

Page 28: CSE 522 Real-Time Scheduling (2) Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang Lee yhlee@asu.edu (480)

28

UB Test with ANY FIXED PRIORITY

Test is applied to each task. Determine effective utilization (fi) of each task i using

when di=pi

fi =

q Compare effective utilization against bound, U(n).

n = num(Hn) + 1

num(Hn) = the number of tasks in the set Hn

1n Hk

kii

i

Hj j

j ep

1

p

e

p

e

Preemption form the tasks that can hit more than once (with period less that pi)

Execution of a task under test

Preemption from tasks

That can hit only once

(with period greater than pi )

Page 29: CSE 522 Real-Time Scheduling (2) Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang Lee yhlee@asu.edu (480)

29

UB Test with Interrupt Priority

Test is applied to each task. Determine effective utilization (fi) of each task i using

when di<pi (ei must be done within di, not pi)

fi =

q Compare effective utilization against bound, U(n).

n = num(Hn) + 1

num(Hn) = the number of tasks in the set Hn

1

1

Hkk

ii

i

Hj j

j edd

e

p

e

n

Preemption form the tasks that can hit more than once (with period less that di)

Execution of a task under test

Preemption from tasks

That can hit only once

(with period greater than di )

Page 30: CSE 522 Real-Time Scheduling (2) Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang Lee yhlee@asu.edu (480)

30

UB Test with Interrupt Priority: 3

For 3, no tasks have a higher priority:

H = Hn =H1 = { }.

f3 =

Note that utilization bound is U(1): num(Hn) = 0.

)1(U0p

e0

3

3

f3 = 0.13.0200

60

p

e

3

3

Page 31: CSE 522 Real-Time Scheduling (2) Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang Lee yhlee@asu.edu (480)

31

UB Test with Interrupt Priority: 1

For 1, 3 has a higher priority: H = {3}; Hn = {};

H1 = {3}.

f1 = )1(Uep

1

p

e0

3kk

11

1

Note that utilization bound is U(1): num(Hn) = 0.

f1 = 0.1800.0100

60

100

20

p

e

p

e

1

3

1

1

Page 32: CSE 522 Real-Time Scheduling (2) Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang Lee yhlee@asu.edu (480)

32

UB Test with Interrupt Priority: 2

For 2 : H={1, 3}; Hn={1 }; H1={3 };

Note that utilization bound is U(2): num(Hn) = 1.

)2(Uep

1

p

e

p

ef

3kk

22

2

1j j

j2

828.0867.0150

60

150

40

100

20

p

e

p

e

p

ef

3

3

2

2

1

12

Page 33: CSE 522 Real-Time Scheduling (2) Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang Lee yhlee@asu.edu (480)

33

UB Test with Interrupt Priority:

For 4 : H={1, 2, 3}; Hn={1 , 2, 3 }; H1={};

Note that utilization bound is U(4): num(Hn) = 3.

)4(U0p

e

p

ef

4

4

3,2,1j j

j4

756.0882.0350

60

200

60

150

40

100

20

p

e

p

e

p

e

p

ef

4

4

3

3

2

2

1

14

Page 34: CSE 522 Real-Time Scheduling (2) Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang Lee yhlee@asu.edu (480)

34

Is There a RT Analysis for EDF

Does a critical instant exist? releasing task instance i at the start of the busy period may

not lead to its worst-case response time. i arrives at a with deadline d, is finished in t2

t1 the last time no pending instances with arrival time earlier than ti and deadline ≤ d

[t1, t2) –the busy period of instances with deadlines ≤ d

“shift left” all instances of other tasks to start at t1 increase busy period

Page 35: CSE 522 Real-Time Scheduling (2) Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang Lee yhlee@asu.edu (480)

35

RT Analysis for EDF (1)

Deadline busy period where WCET happens: only tasks with deadlines less than and equal to d get

executed started at 0 for the instance of i arrived at a: Li(a)

higher priority workload

Then, an iterative formula for Li(a)

The response time is:

jj

ji

DaDij j

iii C

T

DDa

T

aLaLaW

ij

)1,)(

min())(,(,

ii

mii

mi C

T

aaLaWaL )1())(,()( )()1(

})(,max{)( aaLCart iii

0)()0( aLi

)}({max 0 artrt iai

Page 36: CSE 522 Real-Time Scheduling (2) Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang Lee yhlee@asu.edu (480)

36

RT Analysis for EDT (2)

Choice of “a”: Li(a) > a (arrives before deadline busy period ends)

a+Di coincides with the absolute deadlines of other tasks

in the interval [0, L-Ci), L is the busy period of synchronous arrivals

},0{})0:{(,1

LkDDkTAa ijj

n

ijj

Page 37: CSE 522 Real-Time Scheduling (2) Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang Lee yhlee@asu.edu (480)

37

Summary of Feasibility Analysis (1)

A set of tasks {Ci, Di, Ti,, i} Dynamic priority -- EDF is optimal

Di ≥ Ti -- utilization bound on slide #4 (iff)

Di < Ti -- all loading factor less than 1 on slide 7 (iff) Synchronous or Sporadic – busy period analysis and testing

algorithm on slide #9 (iff) Asynchronous – if the cooresponding synchronous task set is

schedulable. worst case execution time – slide #34 necessary condition: U ≤ 1 sufficient condition: ∑(Ci / min{Di , Ti }) ≤ 1

Page 38: CSE 522 Real-Time Scheduling (2) Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang Lee yhlee@asu.edu (480)

38

Summary of Feasibility Analysis (2)

Static priority Rate monotonic – optimal if Di ≥ Ti

Deadline monotonic – optimal if Di < Ti

Necessary condition: U ≤ 1 Synchronous

Sufficient condition RM and DM -- ∑(Ci / min{Di , Ti }) ≤ n(21/n-1 ) (slide #12) fixed priorities – effective utilization for each task ≤ n(21/n-1 ) (slide

#28)

worst case response time (i.e. 1st arrival) ≤ Di (slide #21) (iff)

Asynchronous the conditions for synchronous case are sufficient

Page 39: CSE 522 Real-Time Scheduling (2) Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang Lee yhlee@asu.edu (480)

Toyota UA

RTOS for automotive Systems

Real-time Communication

on CAN bus

AFDX Avionics Network

Real-time Hypervisor

RTSJ and SCJ

Scheduling for

multicoreOthers

8 5 8 2 16 9 12 3

Project outline submissions

5 late submissions; one on March 31 One submitted as assignment 3