Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control...

222
G d t C Graduate Course on Embedded Control Systems: Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa 8-12 June 2009 Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 1

Transcript of Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control...

Page 1: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

G d t CGraduate Course onEmbedded Control Systems:Embedded Control Systems:

Theory and Practice

Scuola Superiore Sant’Anna, Pisa8-12 June 2009

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 1

Page 2: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Program at glanceg g• Day 1: Mon. July 8 – Real-Time Day• Day 1: Mon. July 8 Real Time Day

• Day 2: Tue. July 9 – Platform Dayy y y

• Day 3: Wed. July 10 – Control Day

• Day 4: Thu. July 11 – Networks Day

• Day 5: Fri. July 12 – Judgment Day

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 2

Page 3: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Mon July 8 – Real-Time DayMon. July 8 Real Time Day09:00 Introduction to real-time systems (Giorgio Buttazzo)y ( g )

10:30 Coffee Break

11:00 Real-time scheduling and resource management

13:00 Lunch Break13:00 Lunch Break

14:00 Aperiodic Scheduling and Reservations

16:00 Break

16:30 dsPic architecture: overview (Mauro Marinoni)16:30 dsPic architecture: overview (Mauro Marinoni)

18:30 End of Session

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 3

Page 4: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Tue July 9 – Platform DayTue. July 9 Platform Day08:30 Operating systems for micro-controllers (Paolo Gai)p g y ( )

10:30 Coffee Break

11:00 The OSEK standard (Paolo Gai)

13:00 Lunch Break13:00 Lunch Break

14:00 The Erika kernel (Paolo Gai)

16:00 Break

16:30 Lab practice on Flex and Erika (Mauro Marinoni)16:30 Lab practice on Flex and Erika (Mauro Marinoni)

18:30 End of Session

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 4

Page 5: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Wed July 10 – Control DayWed. July 10 Control Day08:30 Integrated control and scheduling (Karl-Erik Arzen)g g ( )

10:30 Coffee Break

11:00 Control of computing systems (Karl-Erik Arzen)

13:00 Lunch Break13:00 Lunch Break

14:00 Lab practice on control (Anton Cervin)

16:00 Break

16:30 Lab practice on control (Anton Cervin)16:30 Lab practice on control (Anton Cervin)

18:30 End of Session

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 5

Page 6: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Thu July 11 – Network DayThu. July 11 Network Day08:30 Real-Time Networks (Luis Almeida)( )

10:30 Coffee Break

11:00 Medium Access Control (Luis Almeida)

13:00 Lunch Break13:00 Lunch Break

14:00 Networked control systems (Anton Cervin)

16:00 Break

16:30 Lab practice on networks (Anton Cervin)16:30 Lab practice on networks (Anton Cervin)

18:30 End of Session

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 6

Page 7: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Fri July 12 – Judgment DayFri. July 12 Judgment Day

09:00 Final Exam (3 credits)

13:00 Lunch Break

14:00 Lab practice

18:00 Closing remarks and certificatesg

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 7

Page 8: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Real-TimeReal-Time SchedulingScheduling

Giorgio Buttazzo

Scuola Superiore Sant’Anna, Pisa

E-mail: [email protected]

Page 9: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

GoalGoalProvide some background of RT theory that

l f i l ti RT t lyou can apply for implementing RT controlapplications:

• Terminology and models

• Basic results on periodic scheduling

A i di k h dli• Aperiodic task handling

• Inter-task communication• Inter-task communication

• Overload and QoS managementGraduate Course on Embedded Control Systems - Pisa 8-12 June 2009 9

Page 10: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

R l Ti tReal-Time system

Real-Timeevent

Real-TimeSystem action

A computing system able to respond toevents within precise timing constraints.p g

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 10

Page 11: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

R l Ti tReal-Time system

EnvironmentRT systemx (t)

y

yt

(t+Δ)y (t+Δ)

It is a system in which the correctness dependsnot only on the output values, but also on thetime at which results are produced.

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 11

Page 12: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Typical applicationsy• flight control systems• robotics• automotive applicationsautomotive applications• multimedia systems• virtual reality• small embedded devices

⇒ cell phones⇒ digital TV⇒ digital TV⇒ videogames⇒ intelligent toysg y

Page 13: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

ImplicationsImplicationsTi i t i t i d b th• Timing constraints are imposed by thedynamics of the environment.

• The tight interaction with the environmentrequires the system to react to events withinrequires the system to react to events withinprecise timing constraints.

The operating system is responsible forThe operating system is responsible forenforcing such constraints on task execution.

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 13

Page 14: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Multi-level feedback controlF3

S3 A3F2

S i Control

S2 A2F1

Sensing Control

F1

Environment

S1 A1

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 14

Page 15: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Software VisionSoftware Visioncomputercomputer

actuatorsD/A

Environment

sensorsA/D

Thread (task) Resource

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 15

Page 16: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Traditional ApproachTraditional Approach• In spite of this large application domain most• In spite of this large application domain, most

of RT applications are designed usingempirical techniques:empirical techniques:– assembly programming

– timing through dedicated timers

– control through driver programmingcontrol through driver programming

– priority manipulations

The resulting SW can be very efficient, but … Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 16

Page 17: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Disadvantages

1. Tedious programming which heavilydepends on programmer’s abilitydepends on programmer s ability

2 Difficult code understanding2. Difficult code understanding

Readability ∝1

efficiencyefficiency

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 17

Page 18: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

An efficient C programAn efficient C programint a[1817];main(z,p,q,r){{for(p=80;q+p-80;p-=2*a[p])for(z=9;z--;)for(z=9;z ;)q=3&(r=time(0)+r*57)/7,q=q?q-1?

q-2?1-p%79?-1:0:p%79-77?1:0:p<1659?79:0:p>158?-79:0,

q?!a[p+q*2]?a[p+=a[p+=q]=q]=q :0:0;f ( ++ 1817 )for(;q++-1817;)printf(q%79?"%c":"%c\n"," Û"[!a[q-1]]);

}Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 18

}

Page 19: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

DisadvantagesDisadvantages3. Difficult software maintainability

• Complex appl s consists of millions lines of code• Complex appl.s consists of millions lines of code

• Code understanding takes more that re-writing

• But re-writing is VERY expensive and bug prone

4. Difficult to verify timing constraints withoutexplicit support from the OS and thep pplanguage

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 19

Page 20: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

ImplicationsImplications

• Such a way of programming RT applicationsis very dangerous.

• It may work in most situations, but the risk off il i hi ha failure is high.

• When the system fails is very difficult to• When the system fails is very difficult tounderstand why.

low reliability

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 20

Page 21: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Real-Time ≠ FastReal-Time ≠ Fast

τ1

τ2

double speed deadline miss

τ1

τ2

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 21

Page 22: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Speed vs PredictabilitySpeed vs. PredictabilityTh bj ti f l ti t i t• The objective of a real-time system is toguarantee the timing behavior of eachi di id l t kindividual task.

• The objective of a fast system is to minimize• The objective of a fast system is to minimizethe average response time of a task set.

ButBut …

D ’t t t h h tDon’t trust average when you have toguarantee individual performance

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 22

Page 23: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

L l dLessons learnedT t t h f l ti t• Tests are not enough for real-time systems

• Intuitive solutions do not always worky

• Delay should not be used in real-time tasks

A safe approach:pp♦ use predictable kernel mechanisms

l th t t di t it b h i♦ analyze the system to predict its behavior

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 23

Page 24: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

A hi i di t bilitAchieving predictability• The operating system is the part most

responsible for a predictable behavior.p p

• Concurrency control must be enforced by:⇒ appropriate scheduling algorithms

⇒ appropriate syncronization protocols⇒ appropriate syncronization protocols

⇒ efficient communication mechanisms

di t bl i t t h dli⇒ predictable interrupt handling

⇒ overload management

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 24

Page 25: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Let’s review the mainLet s review the mainh d li lscheduling results

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 25

Page 26: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

TerminologyTerminology• Task (or thread)• Task (or thread)

is a sequence of instructions that in theabsence of other activities is continuouslyabsence of other activities is continuouslyexecuted by the processor until completion.

task τirelease time

Cicomputation time

task τistart time tri si fi

finishing timerelease timeactivation timearrival time

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 26

arrival time

Page 27: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

T k d j bTasks and jobs

A task is an infinite sequence of instances(jobs):(jobs)

Job 1τi,1 τi,2 τi,3

Job 2 Job 3

τiCi

ri,k ri,k+1t

τi

ri,1

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 27

Page 28: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Activation modes

• Time driven: periodic tasksthe task is automatically activated by thekernel at regular intervals.g

• Event driven: aperiodic taskspthe task is activated upon the arrival of anevent or through an explicit invocation ofevent or through an explicit invocation ofthe activation primitive.

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 28

Page 29: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

P i di t k d lPeriodic task modelr = Φri1 = Φi

ri,k+1 = ri,k + Ti

Ti

C

τi (Ci , Ti , Di )

r r t

Ci

r Φ ri,k ri,k+1 tri,1 = Φi

r = Φ + (k 1) T ftri,k = Φi + (k−1) Ti

di,k = ri,k + Di

oftenDi = Ti

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 29

, ,

Page 30: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Aperiodic task model

• Aperiodic: ri,k+1 > ri,kp , ,

• Sporadic: ri k+1 ≥ ri k + Ti• Sporadic: ri,k+1 ≥ ri,k + Ti

Job 1 Job 2 Job 3

τiCi

Job 2 Job 3

ri,k ri,k+1t

i

ri,1

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 30

Page 31: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

S h d liScheduling• A scheduling algorithm is said to be:

– preemptive: if the running task can betemporarely suspended in the ready queueto execute a more important task.

– non preemptive: if the running task cannotnon preemptive: if the running task cannotbe suspended until completion.

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 31

Page 32: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

ScheduleA schedule is a particular assignment of tasksto the processor.

Given a task set Γ = {τ1, …, τn}, a schedule is amapping σ : R+ → N such that ∀t ∈ R+, ∃t1, t2 :mapping σ : R → N such that ∀t ∈ R , ∃t1, t2 :

t ∈ [t1, t2) e ∀t’ ∈ [t1, t2) : σ(t) = σ(t’)

k > 0 if τk is runningσ(t) = k g

0 if the processor is idle

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 32

Page 33: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

A l h d lA sample schedule

σ(t)

τ1 τ2 τ3 idleidle

( )3

2

1

0tt ttt tt3 t4t2t1

At time t t t e t a context switch is performedAt time t1, t2, t3, e t4 a context switch is performed.

Each interval [ti, ti+1) is called a time slice.Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 33

Page 34: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

A ti h d lA preemptive schedule

τ1

τ2

τ3

σ(t)

τ3

3

2

1

0 t

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 34

Page 35: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Definitions• A schedule σ is said to be feasible if all

the tasks are able to complete within athe tasks are able to complete within aset of constraints.

• A set of tasks Γ is said to beh d l bl if th i t f iblschedulable if there exists a feasible

schedule for it.

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 35

Page 36: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Types of constraints• Timing constraints

– activation, completion, jitter., p , j

• Precedence constraints– they impose an ordering in the execution.

R t i t• Resource constraints– they enforce a synchronization in the

access of mutually exclusive resources.

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 36

Page 37: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Precedence graphPrecedence graph

acq1 acq2

edge1 edge2

shapedisp pp

d thdepth

rec

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 37

Page 38: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Resource constraintsTo preserve data consistency, shared resourcesmust be accessed in mutual exclusion:

x = 3τ τx 3y = 5

τW τRx = 1y = 8

x = 1y = 5

τWx=1

y

y=8

τRread

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 38

Page 39: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Mutual exclusionHowever, mutual exclusion introduces extra delays:

x = 3y = 5x = 1 x = 1

τW τRyx 1y = 8

x 1y = 8

τWx = 1 y = 8

τR

Δ

read

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 39

Δ

Page 40: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Timing constraintsCan be explicit or implicit.

E li it t i t• Explicit constraints– Are included in the specification of the

system activities.

E amplesExamples– open the valve in 10 seconds– send the position within 40 ms– read the altimeter every 200 ms

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 40

read the altimeter every 200 ms

Page 41: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Real-Time tasksDi

tτi

Ci

l ti ( i l ti )

ri si fi dit

ri release time (arrival time ai )si start timeCi worst-case execution time (wcet)di absolute deadlineDi relative deadlinefi finishing time

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 41

i g

Page 42: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Other parameters

tτi

ci(t) slack

ri si fi dit

f d

t

Lateness: Li = fi − di

Tardiness: max(0 L )Tardiness: max(0, Li)

Residual wcet: ci(t) ci(ri) = Cii( ) i( i) i

Laxity (o slack): di − t − ci(t)

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 42

Page 43: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

JitterJitterIt is the time variation of a periodic event:It is the time variation of a periodic event:

Finishing-time JitterFinishing time Jitter

fi,1

τifi,2 fi,3

Absolute: max (fi,k – ri,k) – min (fi,k – ri,k)k kk k

Relative: max | (fi,k – ri,k) – (fi,k-1 – ri,k-1) |k

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 43

Page 44: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Other types of JitterOther types of JitterStart-time Jitter

si 1

τi

si 2 si 3si,1 si,2 si,3

Completion-time Jitter (I/O jitter)Completion time Jitter (I/O jitter)

τi

si,1

τi

si,2 si,3fi,2fi,1 fi,3

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 44

Page 45: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Task CriticalityHARD tasks

Task CriticalityHARD tasks

All jobs must meet their deadlines. Missing adeadline may cause catastrophical effects.

SOFT tasksMissing deadlines is not desired but causesgonly a performace degradation.

An operating system able to handle hardtasks is called a hard real-time system.

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 45

Page 46: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Typical HARD taskssensory acquisition– sensory acquisition

– low-level controlt l i– sensory-motor planning

T pical SOFT tasksTypical SOFT tasks– reading data from the keyboard– user command interpretation– message displaying– graphical activities

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 46

Page 47: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

• Implicit constraints– do not appear in the system specification,

but must be respected to meet the requirements.

Example

What’s the time validity of a sensory data?What s the time validity of a sensory data?

t0 ?Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 47

0

Page 48: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Example: automatic breaking

obstaclev

Dsensor visibility

DashboardControls BRAKEShuman Distribution

Unit

di iemergency

conditionchecker

sensors stop

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 48

Page 49: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Worst case reasoningTacq.

Worst-case reasoningTs

acq.task

T Δ TTs Δ Tb

v

obstacle in obstacle brake train

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 49the field detected pressed stopped

Page 50: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

D i ibiliD = sensor visibility

( )v(Ts + Δ) + Xb < D

a = μ g2

2

21 atvtX b −=

gvX b μ

=2

22v = a t

gμ2

2

Dg

vTv s <+Δ+μ2

)(2

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 50

Page 51: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Δ−−<vDTs 2 gv μ2

TmaxggDgv μΔ−μ+μΔ= 2)( 2

max ggDgv μΔμ+μΔ 2)(max

D2

T

gDv μ≅ 2max

dv

Ts

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 51speedvmaxv

Page 52: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Example 2: contour followingExample 2: contour following

v

F

GoalGoalMove at velocity v along the surfacet t ti f F F ltangent, exerting a force F < Fmax alongits normal direction.

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 52

Page 53: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Worst-case reasoninggv

acq.task

F(t-1) F(t) F(t+1)

Ts

task

Ts τdv

v = v0 e–(t/τd)

force notd d

trajectorydifi d

robotd

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 53

detected modified stopped

Page 54: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Lenght covered by the robot after the contact:Lenght covered by the robot after the contact:

L = vT + xL = vTs + xf

t dd τ 0/ )()( ∞∞∞

∫∫ ddt

f veevdtevdttvx d τττ0

000

/00

)()( =−−=== ∞−−∫∫L = v(Ts + τd)

Force on the robot tool: (K = elastic coefficient)

F = KL = v(Ts + τd) < Fmax

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 54

Page 55: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Condition on the sampling period:

FT τ−< maxds Kv

T τ<0

TTmax

⎟⎟⎞

⎜⎜⎛

−= dFT τmax

max ⎟⎠

⎜⎝

dKv0max

F

T dKFv

τmax

max =

speedvv0

Ts

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 55

speedvmaxv0

Page 56: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

The generalThe generalscheduling problemscheduling problem

Given a set Γ of n tasks, a set P of m processors, anda set R of r resources, find an assignment of P and Rto Γ which produces a feasible schedule.

SchedulingΓ

Schedulingalgorithm

RP σ

feasibleGraduate Course on Embedded Control Systems - Pisa 8-12 June 2009 56

R

Page 57: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Complexity

• In 1975, Garey and Johnson showed thatthe general scheduling problem is NP hard.

H l i l ti l ith b• However, polynomial time algorithms can befound under particular conditions.

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 57

Page 58: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

ComplexityComplexity

It’s important to find polynomial time algorithms.

number of tasks n = 30elementary step = 1μs

• Alg 1: O(n)

y p μ

30 μs• Alg. 1: O(n)• Alg. 2: O(n6)

30 μs12 min

• Alg. 3: O(6n) 7 billions of years

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 58

Page 59: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Simplifying assumptions

• Single processor

• Omogeneous task sets

F ll ti t k• Fully preemptive tasks

• Simultanoeus activations• Simultanoeus activations

• No precedence constraintsp

• No resource constraints

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 59

Page 60: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Periodic TaskPeriodic Task S h d liScheduling

Page 61: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Problem formulationτi (Ci, Ti) job τik

rik dik

For each periodic task, guarantee that:

ik ik

• each job τik is activated at rik = (k−1)Ti

h j b l t ithi d + D• each job τik completes within dik = rik + Di

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 61

Page 62: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Ti li S h d liTimeline Scheduling(cyclic scheduling)(cyclic scheduling)

It has been used for 30 years in militaryIt has been used for 30 years in militarysystems, navigation, and monitoring systems.

Examples– Air traffic control

– Space Shuttle

– Boeing 777

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 62

Page 63: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Timeline Scheduling

• The time axis is divided in intervals of equal

Method• The time axis is divided in intervals of equal

length (time slots).

• Each task is statically allocated in a slot inorder to meet the desired request rate.

• The execution in each slot is activated by atimer.

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 63

Page 64: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Examplep

40 H 25 msf T

A

task

Δ GCD40 Hz

20 Hz

25 ms

50 ms

A

BΔ = GCD (minor cycle)

T = lcm (major cycle)10 Hz 100 msC

TΔ TΔ

0 25 50 75 100 125 150 175 200

C C ≤ ΔCA + CB ≤ ΔCA + CC ≤ Δ

Guarantee:

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 64

Page 65: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Implementationptimer

AB

minorcycle

AC

timer

majorC

Atimer

majorcycle

AB

iA

timer

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 65

Page 66: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Timeline schedulingAdvantages

• Simple implementation (no real-timeoperating system is required)operating system is required).

• Low run-time overhead.Low run time overhead.

• It allows jitter control.

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 66

Page 67: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Timeline schedulingDisadvantages

• It is not robust during overloads.

• It is difficult to expand the schedule.

• It is not easy to handle aperiodic activities.

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 67

Page 68: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Problems during overloadsWhat do we do during task overruns?

• Let the task continue– we can have a domino effect on all the otherwe can have a domino effect on all the other

tasks (timeline break)

Abort the task• Abort the task– the system can remain in inconsistent states.

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 68

Page 69: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

ExpandibilityIf one or more tasks need to be upgraded,we may have to re-design the wholee ay a e to e des g t e o eschedule again.

Example: B is updated but CA + CB > Δ

ΔΔ

A B0 25

A B

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 69

Page 70: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Expandibility• We have to split task B in two subtasks

(B1 B2) and re-build the schedule:(B1, B2) and re build the schedule:

0 25 50 75 100

B1 B1B2 B2A A A AC• • •

0 25 50 75 100

C + C ≤ ΔCA + CB1 ≤ ΔCA + CB2 + CC ≤ Δ

Guarantee:

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 70

Page 71: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

ExpandibilityExpandibilityIf the frequency of some task is changedIf the frequency of some task is changed,the impact can be even more significant:

25 ms 25 msT T

A

task

50 ms

100 ms

40 ms

100 ms

B

C 100 ms 100 msC

before after

Δ = 25 Δ = 5T = 100 T = 200

minor cycle:major cycle:

40 sync.per cycle!

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 71

j y

Page 72: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

E lExample

0 25 50 75 100 125 150 175 200

Δ

0 25 50 75 100 125 150 175 200

T

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 72

Page 73: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Priority Scheduling

Each task is assigned a priority based on its

Method• Each task is assigned a priority based on its

timing constraints.

• We verify the feasibility of the schedule usinganalytical techniques.y q

• Tasks are executed on a priority-basedkernelkernel.

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 73

Page 74: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Priority AssignmentsPriority AssignmentsTiτi (Ci , Ti , Di ) Ti

Ci

τi (Ci , i , i )

ri,k ri,k+1 tri,1 = 0

• Rate Monotonic (RM): Di = Ti

pi ∝ 1/Ti (static)

E li t D dli Fi t (EDF)• Earliest Deadline First (EDF):pi ∝ 1/di (dynamic) di,k = ri,k + Di

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 74

i,k i,k i

Page 75: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

R t M t i (RM)Rate Monotonic (RM)Each task is assigned a fixed priority• Each task is assigned a fixed priorityproportional to its rate.

τA500 10025 75

τB0

τB40 80

0τC

100

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 75

Page 76: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

How can we verify feasibility?• Each task uses the processor for a fraction of

time: C

i

ii T

CU =

• Hence the total processor utilization is:

∑=

=n

i i

ip T

CU1=i i1

• Up is a misure of the processor loadGraduate Course on Embedded Control Systems - Pisa 8-12 June 2009 76

Page 77: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

A necessary condition

If Up > 1 the processor is overloaded hencep pthe task set cannot be schedulable.

However, there are cases in which Up < 1but the task is not schedulable by RM.

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 77

Page 78: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

An unfeasible RM schedule

944.094

63

=+=pU96

6 120 183 9 15τ1

0 9 183 6 12 15τ2

0 9 183 6 12 15

deadline miss

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 78

Page 79: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Utilization upper boundUtilization upper bound33 833.093

63

=+=pU

τ16 120 183 9 15

τ20 9 183 6 12 15

τ2

NOTE: If C1 or C2 is increased,τ2 will miss its deadline!

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 79

Page 80: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

A diff t b dA different upper bound

184

42

=+=pU84

τ14 120 8 16

τ1

0τ2

4 128 16

The upper bound Uub depends on thespecific task set.

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 80

spec c tas set

Page 81: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

The least upper bound

1

Uub

1

Ulub

. . .

ΓGraduate Course on Embedded Control Systems - Pisa 8-12 June 2009 81

Γ

Page 82: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

A sufficient conditionA sufficient condition

If Up ≤ Ulub the task set is certainlyh d l bl ith th RM l ithschedulable with the RM algorithm.

NOTEIf Ulub < Up ≤ 1 we cannot say anything

NOTE

about the feasibility of that task set.

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 82

Page 83: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Basic results

A tiIndependent tasks

Assumptions:Di = TiΦi = 0

In 1973, Liu & Layland proved that a set of nperiodic tasks can be feasibly scheduled

( )121≤∑ nn

iCunder RM

p y

if ( )121

−≤∑=

n

i i

i nT

under RM if

if and only ifunder EDF 11

≤∑n

i i

i

TC

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 83

1=i iT

Page 84: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

RM b d f lRM bound for large n

( )( )12 /1lub −= nRM nU

for n → ∞ Ulub → ln 2

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 84

Page 85: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Schedulability boundSchedulability boundRM EDF

CPU%RM EDF

8090

100

506070 69%

304050

01020

nGraduate Course on Embedded Control Systems - Pisa 8-12 June 2009 85

1 2 3 4 5 6 7 8 9 10 n

Page 86: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

A special caseA special case

If tasks have harmonic periods Ulub = 1.

184

42

=+=pU84p

4 120 8 16τ1

0τ2

4 128 16

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 86

0 4 128 16

Page 87: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Schedulability regiony g

1U1 The U-space

11

1≤∑

=

n

iiU

0.83

)12( /1 −≤∑ nn

i nU

1=i

)(1

∑=i

i

RM

EDF

UGraduate Course on Embedded Control Systems - Pisa 8-12 June 2009 87

U210.83

Page 88: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Schedulability regiony g

1U1 The U-space

1Ci Ti

0.83 τ1

τ2

3

4

6

9

94.043=+=U

1/2

RM

EDF94.0

96+pU

UGraduate Course on Embedded Control Systems - Pisa 8-12 June 2009 88

U210.834/9

Page 89: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Schedule

τ16 120 183 9 15

τ1

EDF

0 9 183 6 12 15τ2

τ1

RM 6 120 183 9 15τ1

τ0 9 183 6 12 15

deadline miss

τ2

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 89

deadline miss

Page 90: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

RM OptimalityRM OptimalityRM is optimal among all fixed priorityRM is optimal among all fixed priorityalgorithms:

If there exists a fixed priority assignmentwhich leads to a feasible schedule for Γ,,then the RM assignment is feasible for Γ.

If Γ is not schedulable by RM then itIf Γ is not schedulable by RM, then itcannot be scheduled by any fixed priorityassignment

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 90

assignment.

Page 91: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

EDF OptimalityEDF Optimality

EDF is optimal among all algorithms:

If there exists a feasible schedule for Γ,th EDF ill t f ibl h d lthen EDF will generate a feasible schedule.

If Γ is not schedulable by EDF, then itcannot be scheduled by any algorithm.

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 91

Page 92: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Critical InstantFor any task τi, the longest response time occurs when itarrives together with all higher priority tasksarrives together with all higher priority tasks.

τ1τ1

τ2

R2

τ1

τ2

R2

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 92

2

Page 93: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Th H b li B dThe Hyperbolic Bound

• In 2000, Bini et al. proved that a set of nperiodic tasks is schedulable with RM if:pe od c tas s s sc edu ab e t

2)1( ≤+∏n

U 2)1(1

≤+∏=i

iU

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 93

Page 94: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Schedulability regiony g

1U1 The U-space

11

1≤∑

=

n

iiU

0.83

)12( /1 −≤∑ nn

i nU

1=i

)(1

∑=i

i

RM

EDF

UGraduate Course on Embedded Control Systems - Pisa 8-12 June 2009 94

U210.83

Page 95: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Schedulability regiony g

1U1 The U-space

11

1≤∑

=

n

iiU

0.83

)12( /1 −≤∑ nn

i nU

1=i

)(1

∑=i

i

∏n

2)1(1

≤+∏=i

iU

RM

EDF

UGraduate Course on Embedded Control Systems - Pisa 8-12 June 2009 95

U210.83

Page 96: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

E t i t t k ith D TExtension to tasks with D < TTi

Di

Ti

Ciτi

ri,k di,k tri,k+1

• Deadline Monotonic: p ∝ 1/D (static)

Scheduling algorithms• Deadline Monotonic: pi ∝ 1/Di (static)

• Earliest Deadline First: pi ∝ 1/di (dynamic)

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 96

Page 97: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Deadline MonotonicDeadline Monotonic

τ1

τ20 4 8 12 16 20 24 280 4 8 12 16 20 24 28

Problem with the Utilization Bound

116.163

32

>=+== ∑n

ip D

CU631

∑=i i

p D

but the task set is schedulableGraduate Course on Embedded Control Systems - Pisa 8-12 June 2009 97

but the task set is schedulable.

Page 98: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

How to guarantee feasibility?How to guarantee feasibility?Ti

Di

Ti

Ciτi

ri,k di,k tri,k+1

• Fixed priority: Response Time Analysis (RTA)

• EDF: Processor Demand Criterion (PDC)

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 98

Page 99: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Response Time Analysisp y[Audsley ‘90]

• For each task τi compute the interferencedue to higher priority tasks:due to higher priority tasks:

∑= ki CI

• compute its response time as

∑< ik DD

ki

• compute its response time asRi = Ci + Ii

• verify if Ri ≤ Di

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 99

Page 100: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Computing the interferenceComputing the interferenceτkτk

0 Ri

τi

Interference of τk on τiin the interval [0 R ]: k

iik C

TRI =in the interval [0, Ri]: k

kik T

1Interference of highpriority tasks on τi: k

ii

i CTRI ∑

=1

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 100kk T=1

Page 101: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Computing the response timep g pi R−1

kk

i

kii C

TRCR ∑

=

+=1

Iterative solution:Iterative solution:

CR0

si

i R )1(1 −−

∑ii CR =

iterate until)1( −> ss RR

kk

i

ki

si C

TRCR

1=∑+=

)1(> si

si RR

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 101

Page 102: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Processor Demand CriterionProcessor Demand Criterion[Baruah, Howell, Rosier 1990][ ]

I i t l f ti th t tiIn any interval of time, the computationdemanded by the task set must be no greaterthan the available time.

)(),(,0, 122121 ttttgtt −≤>∀ )(),(,0, 122121 ttttgtt ≤>∀

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 102

Page 103: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Processor DemandProcessor Demand

t1 t2

Th d d i [t t ] i th t ti ti fThe demand in [t1, t2] is the computation time ofthose jobs started at or after t1 with deadline lessth l t t

≤td

than or equal to t2:

∑≤

=2

),( 21

td

i

i

CttgGraduate Course on Embedded Control Systems - Pisa 8-12 June 2009 103

∑≥ 1tri

Page 104: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Processor DemandFor synchronous task sets we can only analyze intervals [0,L]

τi

0 L

g(0, L) ∑ +−=

n

ii

i

ii CT

TDL1

g(0, L)=i iT1

LGraduate Course on Embedded Control Systems - Pisa 8-12 June 2009 104

LDi Ti + Di 2Ti + Di 3Ti + Di

Page 105: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

P D d TProcessor Demand Test

TDLn + LCT

TDLLn

ii

ii ≤+−

>∀ ∑1

0Ti i=1

Question

How can we bound the number of intervals inwhich the test has to be performed?

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 105

Page 106: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

ExampleExampleτ1

τ

1

τ20 2 6 124 8 10 14 16

8

g(0, L) L

4

6

0

2

LGraduate Course on Embedded Control Systems - Pisa 8-12 June 2009 106

Page 107: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Bounding complexityBounding complexity• Since g(0,L) is a step function, we can checkSince g(0,L) is a step function, we can check

feasibility only at deadline points.

• If tasks are synchronous and Up < 1, we cancheck feasiblity up to the hyperperiod H:check feasiblity up to the hyperperiod H:

H = lcm(T1, … , Tn)Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 107

1 n

Page 108: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Bounding complexityg p y• Moreover we note that: g(0, L) ≤ G(0, L)g( ) ( )

∑ ⎟⎞

⎜⎛ −+n

ii CDTLLG )0( ∑=

⎟⎟⎠

⎜⎜⎝

=i

ii

ii CT

LG1

),0(

in

ii

ni

TCDT

TCL ∑∑ −+= )(

iiii

i i TT ∑∑== 11

n

∑=

−+=n

iiii UDTLU

1)(

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 108

Page 109: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Limiting LLimiting Ln

G(0, L)∑

=

−+=n

iiii UDTLULG

1)(),0( L

g(0, L)

( , )

UDTL

n

iiii −

=∑

=

)(1*

UL

−=

1

for L > L*

g(0 L) ≤ G(0 L) < LL

L*

g(0,L) ≤ G(0,L) < L

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 109

L

Page 110: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Processor Demand Test

A set of n periodic tasks with D ≤ T is schedulable by

TDLn +−∑

p yEDF if and only if

LCT

TDLLi

ii

ii ≤+

>∀ ∑=1

0U < 1 AND

D = {dk | dk ≤ min (H, L* )}

H = lcm(T1, … , Tn)n

U

UDTL

n

iiii −

=∑

=

1

)(1*

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 110

U−1

Page 111: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Summarizing: RM vs. EDFgDi = Ti Di ≤ Ti

Σpseudo-polynomialSuff.: polynomial O(n)Response Time Analysis

RMLL: ΣUi ≤ n(21/n –1)

HB: Π(Ui+1) ≤ 2∀i Ri ≤ Di

1

Response Time Analysis

(

kk

ii

kii C

TRCR ∑

=

+=1

1RTAExact pseudo-polynomial

O(n) pseudo-polynomialpolynomial:

RTA

P D d A l iEDFΣUi ≤ 1 LLgL ≤>∀ ),0(,0

( )p y Processor Demand Analysis

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 111

Page 112: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

QuestionsQuestions• If EDF is more efficient than RM, whyIf EDF is more efficient than RM, why

commercial RT systems are still based on RM?

Main reason

• RM is simpler to implement on top ofcommercial (fixed priority) kernels.( p y)

• EDF requires explicit kernel support for deadlineh d li b t i th d tscheduling, but gives other advantages.

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 112

Page 113: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Advantages of EDFAdvantages of EDFH EDF ff th f ll i d tHowever, EDF offers the following advantageswith respect to RM:

• Less overhaed due to preemptions;

• More flexible behavior in overload situations;

More uniform jitter control;• More uniform jitter control;

• Better aperiodic responsiveness.Better aperiodic responsiveness.

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 113

Page 114: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Handling shared gresources

Problems caused byProblems caused bymutual exclusion

Page 115: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

C i i l iCritical sections τ2τ1 τ2τ1

globlalgmemory buffer

write read3; 1i

wait(s) wait(s)write readx = 3;

y = 5;a = x+1;b = y+2;

int x;int y;

c = x+y;signal(s)

signal(s)signal(s)

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 115

Page 116: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Blocking on a semaphoreBlocking on a semaphore

τ1 τ2

p1 > p2Δ1 2

τ1

CS CS τ2

It seems that the maximum blockingtime for τ1 is equal to the length of thecritical section of τ2, but …

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 116

Page 117: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

S h d l ith fli tSchedule with no conflicts

τpriority

τ1

τ2

τ3

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 117

Page 118: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

C fli t iti l tiConflict on a critical section

priority B

ττ1

τ2

τ3

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 118

Page 119: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

C fli t iti l tiConflict on a critical section

priority B

ττ1

τ2

τ3

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 119

Page 120: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Priority Inversion

A high priority task is blocked by a lowerA high priority task is blocked by a lower-priority task a for an unbounded interval oftimetime.

SolutionIntroduce a concurrency control protocol for t oduce a co cu e cy co t o p otoco oaccessing critical sections.

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 120

Page 121: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Resource Access Protocols

Under fixed priorities• Non Preemptive Protocol (NPP)• Highest Locker Priority (HLP)• Priority Inheritance Protocol (PIP)• Priority Ceiling Protocol (PCP)y g ( )

Under EDF• Stack Resource Policy (SRP)

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 121

Page 122: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Non Preemptive Protocol• Preemption is forbidden in critical sections.

I l t ti h t k t CS it• Implementation: when a task enters a CS, its priority is increased at the maximum value.

ADVANTAGES i li it

PROBLEMS hi h i it t k th t d

ADVANTAGES: simplicity

PROBLEMS: high priority tasks that donot use CS may also block

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 122

Page 123: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

C fli t iti l tiConflict on critical section

priority B

τ1

τ2

τ3

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 123

Page 124: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

S h d l ith NPPSchedule with NPP

priority

τ1

τ2

τ3

PCS = max{P1, … Pn}Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 124

CS { 1, n}

Page 125: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

P bl ith NPPProblem with NPP

priority uselessblockingτ1blocking

τ2

τ3

τ1 cannot preemt, although it couldGraduate Course on Embedded Control Systems - Pisa 8-12 June 2009 125

Page 126: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Highest Locker Priority

A task in a CS gets the highest priorityamong the tasks that use it.

FEATURES:

• Simple implementation.

• A task is blocked when attempting to preempt, p g p p ,not when entering the CS.

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 126

Page 127: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

S h d l ith HLPSchedule with HLPprioritypriority

τ1

τ2

τ3

PCS = max {Pk | τk uses CS}

τ2 is blocked, but τ1 can preempt within a CS

CS { k | k }

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 127

2 , 1 p p

Page 128: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Problem with HLP

τ1 τ2 τ1 blocks just in case ...

test τ1

CS CS

1

τ2τ2

p1p2

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 128

Page 129: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Priority Inheritance Protocol[Sha Rajkumar Lehoczky 90][Sha, Rajkumar, Lehoczky, 90]

• A task in a CS increases its priority only if itblocks other tasks.

• A task in a CS inherits the highest priorityamong those tasks it blocksamong those tasks it blocks.

PCS = max {Pk | τk blocked on CS}

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 129

Page 130: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

S h d l ith PIPSchedule with PIPpriority

τ1

direct blockingτ1

τpush-through blocking

τ2

τ3

p1

p3

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 130

p3

Page 131: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Types of blockingyp g• Direct blockingect b oc g

A task blocks on a locked semaphore

• Push-through blockingA task blocks because a lower priority task inherited a higher priority.

BLOCKING:BLOCKING:a delay caused by a lower priority task

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 131

Page 132: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Identifying blocking resourcesy g g• A task τi can be blocked by those

semaphores used by lower priority tasks and• directly shared with τi (direct blocking) ordirectly shared with τi (direct blocking) or

• shared with tasks having priority higher than τi(push-through blocking)(push through blocking).

Theorem: τi can be blocked at most onceTheorem: τi can be blocked at most onceby each of such semaphores

Theorem: τi can be blocked at most onceby each lower priority task

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 132

by each lower priority task

Page 133: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

B di bl ki iBounding blocking times• If n is the number of tasks with priority less

than τii

• and m is the number of semaphores onwhich τ can be blocked thenwhich τi can be blocked, then

Theorem: τi can be blocked at most forthe duration of min(n m) criticalthe duration of min(n,m) criticalsections

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 133

Page 134: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

E lExamplepriority

τ1

τ

A B C

τ2

τ3 B D A

A DC

τ3

• τ can be blocked once by τ (on A or C ) and

B D A

• τ1 can be blocked once by τ2 (on A2 or C2) andonce by τ3 (on A3 or B3)

• τ2 can be blocked once by τ3 (on A3, B3 or D3)

• τ cannot be blockedGraduate Course on Embedded Control Systems - Pisa 8-12 June 2009 134

• τ3 cannot be blocked

Page 135: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

E lExamplepriority

τ1

τ

A B C

τ2

τ3 B D A

A DC

• B = δ(C ) + δ(B )

τ3 B D A

• B1 = δ(C2) + δ(B3)

• B2 = δ(D3)2 ( 3)

• B3 = 0

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 135

Page 136: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

S h d l ith PIPSchedule with PIPpriority

τ1τ1

τP1

τ2

P2τ3P2

τ4

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 136

Page 137: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

R k PIPRemarks on PIPADVANTAGES• It is transparent to the programmer• It is transparent to the programmer.

• It bounds priority inversion.

PROBLEMSIt does not avoid deadlocks and• It does not avoid deadlocks andchained blocking.

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 137

Page 138: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Chained blocking with PIPChained blocking with PIPpriority B B BB1

τ1

B2 B3

τ2

τ3

τ4

Theorem: τi can be blocked at most onceby each lower priority task

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 138

y p y

Page 139: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Priority Ceiling Protocol

• Can be viewed as PIP + access test.

• A task can enter a CS only if it is free and there is no risk of chained blocking.g

To prevent chained blocking, a task may stop at the entrance of a free CS (ceiling blocking)the entrance of a free CS (ceiling blocking).

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 139

Page 140: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Resource Ceilings

• Each semaphore sk is assigned a ceiling:

C(sk) = max {Pj : τj uses sk}

A t k t CS l if

{ ( ) }

• A task τi can enter a CS only if

Pi > max {C(sk) : sk locked by tasks ≠ τi}

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 140

Page 141: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Schedule with PCPSchedule with PCPs1 C(s1) = P1

s2 C(s2) = P1priority

τ1

ττ2

ττ3t1

t1: τ2 is blocked by the PCP, since P2 < C(s1)Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 141

Page 142: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

R k PCPRemarks on PCPADVANTAGES• Blocking is reduced to only one CS• Blocking is reduced to only one CS

• It prevents deadlocks

PROBLEMSIt is not transparent to the programmer:• It is not transparent to the programmer:semaphores need ceilings

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 142

Page 143: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Typical DeadlockTypical Deadlockτ ττ1 τ2

P1 > P2

τ1blocked

1

τ2blocked

A

B

B

A τ2B A

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 143

Page 144: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Deadlock avoidance with PCPDeadlock avoidance with PCPτ τ C = Pτ1 τ2

P1 > P2

CA = P1

CB = P1

τ1

ceiling blocking

1

τ2

A

B

B

A τ2B A

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 144

Page 145: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

G t ithGuarantee with resource constraintsconstraints

• We select a scheduling algorithm and aWe select a scheduling algorithm and aresource access protocol.

• We compute the maximum blocking times(Bi) for each task.

• We perform the guarantee test including thebl ki tblocking terms.

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 145

Page 146: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

G t ith RMGuarantee with RM (D = T)

tipreemptionby HP tasks

ττi

blocking byLP tasksBy LL test:

( )1211

−≤+

+∀ ∑−

/iiii

k iBCCi ( )1

∑= ik k

iTT

i

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 146

Page 147: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

G t ith RMGuarantee with RM (D ≤ T)

tipreemptionby HP tasks

ττi

blocking byLP tasks

∀i Ri ≤ DiBy RTA test:

ii R∑−1

kk

i

kiii C

TRBCR ∑

=

++=1

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 147

Page 148: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Stack Resource Policy [Baker 1990]Stack Resource Policy [Baker 1990]

• It works both with fixed and dynamic prioritypriority

• It limits blocking to 1 critical section

• It prevents deadlock

• It supports multi-unit resources

• It allows stack sharing• It allows stack sharing

• It is easy to implementGraduate Course on Embedded Control Systems - Pisa 8-12 June 2009 148

y p

Page 149: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Stack Resource Policy [Baker 90]y [ ]

• For each resource Rk: Nk

⇒ Maximum units: Nk

⇒ Available units: nk

Rk⇒ Available units: nk nk

• For each task τ the system keeps:• For each task τi the system keeps:

⇒ its resource requirements: μi(Rk)

⇒ a priority pi: ii Tp 1∝ ii dp 1∝RM EDFp y pi

⇒ a static preemption level: ii D1∝π

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 149

p p ii

Page 150: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Stack Resource Policy [Baker 90]

Resource ceiling

)(:max)( kjkjjkk RnnC μπ <=

System ceiling { })(max kk nC=ΠSystem ceiling { })(max kkks nCΠ

SRP Rule

A job cannot preempt untilA job cannot preempt untilpi is the highest and πi > Πs

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 150

Page 151: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

ExampleExampleπ

τ1

πi

3

τ22

τ3

Π

1

Πs

123

t01

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 151

Page 152: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

SRP: NotesSRP: Notes• Blocking always occurs at preemption• Blocking always occurs at preemption

time

• A task never blocks on a wait primitive(semaphore queues are not needed)(semaphore queues are not needed)

• Semaphores are still needed to update• Semaphores are still needed to updatethe system ceiling

• Early blocking allows stack sharing

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 152

Page 153: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

EDF G t (D T )EDF Guarantee (Di = Ti)tipreemption

by HP tasksττi

blocking byLP tasks

11

≤+

+∀ ∑−

iii

k BCCi1

∑= ik k TT

i

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 153

Page 154: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

EDF Guarantee: PD test (Di ≤ Ti )( i i )

τ1.

τi

..

τi

τkτk

τnn

Tasks are ordered by decreasing preemption levelGraduate Course on Embedded Control Systems - Pisa 8-12 June 2009 154

Tasks are ordered by decreasing preemption level

Page 155: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Schedulability Analysis y yunder EDF

When Di ≤ Ti

A task set is schedulable if U < 1 and ∀L ∈ D

DTLnkk −+∑ LC

TDTLB

kk

k

kki ≤

++ ∑

=1

∀i

where D = {dk | dk ≤ min (H, L* )}e e D {dk | dk ≤ min (H, L )}

H l (T T )UDT

L

n

iiii −∑

=

)(1*H = lcm(T1, … , Tn) U

L i

−= =

11

Page 156: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Stack SharinggEach task normally uses a private stack for

• saving context (register values)• managing functionsmanaging functions• storing local variables

k iPUSH

stack pointer

POP

t kstack

Page 157: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Stack SharinggWhy stack cannot be normally shared?

Suppose tasks share a resource: A

SP1blocked

big problems

τ1

SP1

τ2SP2

stack

Page 158: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Stack SharinggWhy stack can be shared under SRP?

SP1τ1

SP2

SP2

stack

τ2

stack

Page 159: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Saving Stack SizegTo really save stack size, we should use a small number of preemption levels.

100 tasks

10 Kb stack per taskstack size = 1 Mb

10 Kb stack per task

10 preemption levels

10 tasks per groupstack size = 100 Kb

10 tasks per groupstack saving = 90 %

Page 160: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

NOTE on SRPSRP for fixed priorities and single-unit resourcesis equivalent to Higher Locker Priorityis equivalent to Higher Locker Priority.

It is also referred to as Immediate Priority Ceilingy g

τ1 A

τ2 BA

τ3 B B

Πsπ3

π2

π1

Page 161: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Non-preemtive schedulingp gIt is a special case of preemptive scheduling whereall tasks share a single resource for their entireall tasks share a single resource for their entireduration.

τ1 R

τ2

τR

τ3 R

The max blocking time for task τi is given by theThe max blocking time for task τi is given by thelargest Ck among the lowest priority tasks:

{C }Bi = max{Ck : Pk < Pi}

Page 162: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Advantages of NP scheduling• Reduces runtime overhead

Less context switches

No semaphores are needed for critical sections

• Reduces stack size, since no more than one taskb i tican be in execution.

• Preserves program locality improving the• Preserves program locality, improving theeffectiveness of

Cache memory

Pipeline mechanisms

Prefetch queues

Page 163: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Advantages of NP scheduling

• As a consequence task execution times are

Advantages of NP scheduling

• As a consequence, task execution times areSmaller

More predictable (less variable)

non-preemptive

preemptive

Cmin C

Page 164: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Advantages of NP scheduling

97042≅+U

In fixed priority systems can improve schedulabiilty:

τ1

RM 97.075

≅+=U

τ1

τ2

100 205 15 25 30 35

τ20 217 14 28 35

deadline miss

τ1

NP-RMdeadline miss

τ1

τ2

100 205 15 25 30 35

τ20 217 14 28 35

Page 165: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Disadvantages of NP scheduling• In general, NP scheduling reduces schedulability.

• The utilization bound under non preemptivescheduling drops to zero:

C1 = ε

scheduling drops to zero:

τ1

τ2 ∞T1

1

τ2 ∞T2C2 = T1

U = ε

T+

C2 0T1 ∞

Page 166: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Non preemptive scheduling anomaliesp p g

τ1τ1

τ2

τ3

deadline missdouble speed

τ1

ττ2

τ33

Page 167: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Trade-off solutionsPreemption thresholdsEach task has two priorities:

• Nominal priority (ready priority): used to enqueuep y ( y p y) qthe task in the ready queue

• Threshold priority: used for task executionThreshold priority: used for task execution

nominal priority ≤ threshold prioritynominal priority ≤ threshold priority

thresholdi lnominal

Page 168: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Trade-off solutionsDeferred preemptionEach task can defer preemption up to qEach task can defer preemption up to qi

NP regions are floating in the code

q2

q3 Bi = max {qk}i {qk}k>i

Page 169: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Trade-off solutionsFixed preemption pointsA task can only be preempted in fixed pointsA task can only be preempted in fixed points

and it is divided in mi chunks: qi,1 ... qi,mi

Bi = max {qkmax}Bi max {qk }

k>i

Page 170: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Interesting problemInteresting problem

Given a preemptively feasible task set, reduceGiven a preemptively feasible task set, reducepreemptions as much as possible still preservingschedulability.schedulability.

Reducing context switch costs and WCETs

This means finding the longest non-preemtivechunk for each task that can still preservechunk for each task that can still preserveschedulability.

U d EDF B h ECRTS 2005Under EDF

Under Fix. Pr. Yao et. al. - RTCSA 2009

Baruah - ECRTS 2005

Page 171: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

H dli A i di T kHandling Aperiodic Tasks

Page 172: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Handling CriticalityHandling CriticalityA i di t k ith HARD d dli t b• Aperiodic tasks with HARD deadlines must beguaranteed under worst-case conditions.

• Off-line guarantee is only possible if we canbound interarrival times (sporadic tasks).

• Hence sporadic tasks can be guaranteed asperiodic tasks with Ci = WCETi and Ti = MITip i i i i

WCET = Worst-Case Execution TimeMIT = Minimum Interarrival Time

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 172

Page 173: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

SOFT aperiodic tasks• Aperiodic tasks with SOFT deadlines should

be executed as soon as possible butbe executed as soon as possible, butwithout jeopardizing HARD tasks.

• We may be interested in

→ minimizing the average response time→ minimizing the average response time

→ performing an on-line guarantee

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 173

Page 174: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

P i di S h d liPeriodic Scheduling(EDF)(EDF)

τC1 = 1

τ14 8

C2 = 3τ2

30 126

2

ape

0 4 8 1262 10

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 174

Page 175: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Immediate service

τC1 = 1

τ14 8

C2 = 3τ2

30 126

2

deadline missape

0 4 8 1262 10

deadline miss

Response Time = 3

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 175

Page 176: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Background service

τC1 = 1

τ14 8

C2 = 3τ2

30 126

2

ape

0 4 8 1262 10

Response Time = 10

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 176

Page 177: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Aperiodic ServersAperiodic Servers• A server is a kernel activity aimed at controlling• A server is a kernel activity aimed at controlling

the execution of aperiodic tasks.• Normally, a server is a periodic task having two

parameters:

Cs capacity (or budget)Ts server period

To preserve periodic tasks, no more than Csunits must be executed every period Ts

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 177

units must be executed every period Ts

Page 178: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

A i di iAperiodic service queue

Service queueServer

aperiodicSOFT tasks

Service queue

periodic/sporadicHARD tasks CPU

READY queueHARD tasks CPU

• The server is scheduled as any periodic task.• Priority ties are broken in favor of the server• Priority ties are broken in favor of the server.• Aperiodic tasks can be selected using an arbitrary

queueing disciplineGraduate Course on Embedded Control Systems - Pisa 8-12 June 2009 178

queueing discipline.

Page 179: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Fixed-priority Servers

• Polling Server

• Deferrable Server

• Sporadic Server

• Slack Stealer

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 179

Page 180: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Dynamic-priority Servers

• Dynamic Polling Server

• Dynamic Sporadic Server

• Total Bandwidth Server

• Tunable Bandwidth Server

Constant Bandwidth Server• Constant Bandwidth Server

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 180

Page 181: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

P lli S (PS)Polling Server (PS)• At the beginning of each period, the budget is

recharged at its maximum value.

• Budget is consumed during job execution.

• When the server becomes active and there areno pending jobs C is discharged to zerono pending jobs, Cs is discharged to zero.

• When the server becomes active and there arepending jobs, they are served until Cs > 0.

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 181

Page 182: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

RM + Polling ServerRM Polling Serverτ

C1 = 2τ1

4 8C2 = 1

τ220 126

ape

0 4 8 1262 10PSPS

Cs = 1Ts = 5

0 5 10

Response Time = 8

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 182

Page 183: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

PS propertiesPS propertiesI th t th PS b h i di• In the worst-case, the PS behaves as a periodictask with utilization Us = Cs/Ts .

• Aperiodic tasks execute at the highest priority ifTs = min(T1, … , Tn).s ( 1, , n)

• Liu & Layland analysis gives that:

⎤⎡ ⎞⎛1

⎥⎥

⎢⎢

⎡−⎟⎟

⎞⎜⎜⎝

⎛+

+=+ 11

2)(lub

n

ss

PSRM

UnUnU

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 183⎦⎣ ⎠⎝ s

Page 184: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

RM + PS schedulabilityRM + PS schedulability⎟⎞

⎜⎛+ 2l)(PSRM UU

1⎟⎟⎠

⎞⎜⎜⎝

⎛+

+=∞→+

1ln)(lub

ss

PSRM

UUnU

ln2ln2

)1()( /1lub −+=+ n

sPSRM KnUnU )()(lub s

2=K

Us1+sU

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 1840 1

Page 185: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Deferrable Server (DS)Deferrable Server (DS)I i il t th PS b t th b d t i t• Is similar to the PS, but the budget is notdischarged if there are no pending requests.

• Keeping the budget improves responsiveness,but decreases the utilization bound.

ape

0 4 8 1262 100 4 8 1262 10DS

Cs = 1T = 4

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 1850 4 8

Ts 4

Page 186: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

RM + D f bl SRM + Deferrable ServerC = 2

τ14 8

C1 = 2

τ2

4

0

8

126

C2 = 1

ape20 126 1

0 4 8 1262 10DS

Cs = 1

0 5 10Ts = 5

Response Time = 4Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 186

Response Time = 4

Page 187: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Analysis of RM + DSAnalysis of RM + DS

DS Cs Cs

C Ts +Cs 2Ts+Cs

Cs

τ1C1

s s s s

C2T1

τ2C2

T2

⎥⎤

⎢⎡

⎟⎟⎞

⎜⎜⎛ +

++ 12)(1

nsDSRM UUU

⎥⎥

⎦⎢⎢

⎣−⎟⎟

⎠⎜⎜⎝ +

+=+ 112

)(lubs

ss

DSRM

UnUnU

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 187

Page 188: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

RM + DS schedulabilityRM + DS schedulability)(+U DSRM

1)(lub ∞→+ nU DSRM

ln2PS

ln2DS

)1()( /1++ nPSRM KnUnU )1()(lub −+= s KnUnU

2K 2+sUKUs1+

=s

PS UK

12 +=

s

sDS U

K

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 1880 1

Page 189: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Designing server parametersDesigning server parameters

⎥⎥⎤

⎢⎢⎡

−⎟⎟⎠

⎞⎜⎜⎝

⎛ +≤ 1

122

1n

sp U

UnU• Determine Usmax from

⎥⎦

⎢⎣

⎟⎠

⎜⎝ +12 s

p Us

• Define U ≤ U max• Define Us ≤ Us

D fi T i (T T )• Define Ts = min (T1, …, Tn)

• Compute Cs = UsTs

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 189

Page 190: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

T t l B d idth S (TBS)Total Bandwidth Server (TBS)• It is a dynamic priority server, used along with

EDF.

• Each aperiodic request is assigned a deadlineso that the server demand does not exceed aso that the server demand does not exceed agiven bandwidth Us .

• Aperiodic jobs are inserted in the ready queueand scheduled together with the HARD tasks.

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 190

Page 191: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

The TBS mechanismThe TBS mechanismaperiodic Deadlinep

tasksDeadline

assignment

periodic/sporadictasks CPU

READY queue

D dli ti b k i f f th• Deadlines ties are broken in favor of the server.• Periodic tasks are guaranteed if and only if

Up + Us ≤ 1Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 191

Page 192: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Deadline assignment ruleg• Deadline has to be assigned not to jeopardizeDeadline has to be assigned not to jeopardize

periodic tasks.

• A safe relative deadline is equal to theminimum period that can be assigned to a newperiodic task with utilization U :periodic task with utilization Us:

Us = Ck / Tk Tk = dk − rk = Ck / Uss k k k k k k s

• Hence, the absolute deadline can be set as:

dk = rk + Ck / Us

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 192

Page 193: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Deadline assignment ruleDeadline assignment ruleC1/Us C2/Us

C1 C2

1 s 2 s

d1 d2r2r1

• To keep track of the bandwidth assigned toprevious jobs dk must be computed as:previous jobs, dk must be computed as:

dk = max (rk , dk-1) + Ck / Us

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 193

Page 194: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

EDF + TBS scheduleτ1

C1 = 1

τ2

4 8C2 = 3

ape20 1261

0 4 8 1262 10d1 d2r1 r2

Us = 1 − Up = 1/4

d = r + C / U = 1 + 2 4 = 9d1 = r1 + C1 / Us = 1 + 2·4 = 9

d2 = max(r2 , d1) + C2 / Us = 9 + 1·4 = 13Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 194

2 ( 2 1) 2 s

Page 195: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Improving TBSImproving TBS• What’s the minimum deadline that can be

assigned to an aperiodic job?

τ1C1 = 1

τ2

4 8C2 = 3

ape20 126

0 4 8 1262 10d1r1

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 195

Page 196: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Improving TBSImproving TBS• If we freeze the schedule and advance d1 to 7,

no task misses its deadline, but the schedule isnot EDF:

τ1C1 = 1

τ2

4 8C2 = 3

ape20 126

0 4 8 1262 10d1r1

Feasible schedule ≠ EDFGraduate Course on Embedded Control Systems - Pisa 8-12 June 2009 196

Feasible schedule ≠ EDF

Page 197: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Improving TBSImproving TBS• However, since EDF is optimal, the schedule, p ,

produced by EDF is also feasible:

τ1C1 = 1

τ2

4 8C2 = 3

ape20 126

0 4 8 1262 10d1r1

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 197

Page 198: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Improving TBSImproving TBS• We can now apply the same argument, andpp y g ,

advance the deadline to t = 6:

τ1C1 = 1

τ2

4 8C2 = 3

ape20 126

0 4 8 1262 10d1r1

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 198

Page 199: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Improving TBSImproving TBS• We can now apply the same argument, andpp y g ,

advance the deadline to t = 6:

τ1C1 = 1

τ2

4 8C2 = 3

ape20 126

0 4 8 1262 10d1r1

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 199

Page 200: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Improving TBSImproving TBS• Clearly, advancing the deadline now does noty, g

produce any enhancement:

τ1C1 = 1

τ2

4 8C2 = 3

ape20 126

0 4 8 1262 10d1r1

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 200

Page 201: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Computing the deadlineComputing the deadline• In general, the new deadline has to be set tog ,

the finishing time of the current job:

),max( 01

0−= kkk drd

)(1 skk

sk

sk dffd ==+

ape

dksfk

s

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 201

Page 202: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Computing the deadlineComputing the deadlineTh t l fi i hi ti b ti t d• The actual finishing time can be estimatedbased on the periodic interference:

),( skkk

sk drICf += ),( kkpkk drICf +

apeCk

dksfk

sIp

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 202

Page 203: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Periodic InterferenceUp = 1/2 + 1/3 = 5/6 Ck = 2

Us = 1 − Up = 1/6 dk = 3 + 2/ Us = 15

τ14 8 12 16 200

τ2

20 6 12 18

ape2

dk3

),(),(),( skf

ska

skp dtIdtIdtI +=

k

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 203

Page 204: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Computing interferenceComputing interferenceττ1

τ4 8 12 16 200

τ2

ape2

0 6 12 18

dk

ape

3

∑=active

iska

i

tcdtIτ

)(),( nexti(t) = next release time of task τi after t

i

∑ −ni

sks CtnextddtI )()(

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 204∑

=

=i

ii

ikkf C

TdtI

1),(

Page 205: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Computing interferenceComputing interferenceττ1

τ4 8 12 16 200

τ2

ape2

0 6 12 18

dk

ape

3

∑=active

iska

i

tcdtIτ

)(),( nexti(t) = next release time of task τi after t

i

∑ ⎟⎟⎞

⎜⎜⎛ −n

isks CtnextddtI 1)()(

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 205∑

=⎟⎟⎠

⎜⎜⎝

−=i

ii

ikkf C

TdtI

11),(

Page 206: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

The Optimal Serverp),max( 0

10 = kkk drd compute the initial),max( 1−kkk drd

s = 0 deadline with TBS

),( skkpk

sk drICf +=

sk

sk fd =+1

advance deadlinekk fd

ss dd +1 sk

sk dd =+1s = s+1 EXIT

apeCk

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 206dksfk

sIp

Page 207: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Tunable Bandwidth Server TB(K)( )K = max number of steps

),max( 01

0−= kkk drd O(1)

)( ss df

s = 0( )

O( )),( skkpk

sk drICf +=

sk

sk fd =+1

O(n)O(Kn)polynomialkk f

ss dd +1+1 EXIT( ) OR ( K)

polynomial

kk dd =s = s+1 EXIT( ) OR (s = K)

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 207TB(∞) = TB*TB(0) = TBS

Page 208: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Tuning performance vs. g poverhead

performanceTB*K = ∞

optimal server

K = 0

TBS

overhead

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 208

Page 209: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Aperiodic responsivenessp pAvg. Response Time Up = 0.85g espo se e

TB(0)9

10

7

8TB(1)

4

5

6TB(3)

TB(5)

2

3

4 TB(5)TB*

0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 90

1

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 209

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9

Relative Aperiodic Load: ρa/(1-Up)

Page 210: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Problems with the TBSProblems with the TBS• Without a budget management there is no• Without a budget management, there is no

protection against execution overruns.

• If a job executes more than expected, hardtasks could miss their deadlines.

C1 = 1 deadline missτ1

14 8

Us = 1/41

0 4 8 1262 10

overrun

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 210

Page 211: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

S l ti t l i l tiSolution: temporal isolation• In the presence of overruns, only the faulty task

should be delayed.

• Each task τi should not demand more than itsd l d tili ti (U C /T )declared utilization (Ui = Ci/Ti).

• If a task executes more than expected its• If a task executes more than expected, itspriority should be decreased (i.e., its deadlinepostponed)postponed).

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 211

Page 212: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Achieving isolation• Isolation among tasks can be achieved through

a bandwidth reservationa bandwidth reservation.

• Each task is managed by a dedicated serverg yhaving bandwidth Us .

• The server assigns priorities (or deadlines) totasks so that they do not exceed the reservedbandwidth.

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 212

Page 213: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Resource ReservationResource Reservation

Resource partition Resource enforcement

10 %20 %

τ1τ4

25 %

τ1

τ2τ3A mechanism that prevents a45 % 25 % • A mechanism that prevents atask to consume more thanits reserved amount.

Each task receives a bandwidth Ui and behaves as it were executing alone on

• If a task executes more, it isdelayed, preserving the

f th th t kbehaves as it were executing alone on a slower processor of speed Ui

resource for the other tasks.

Page 214: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Priorities vs ReservationsPriorities vs. Reservations

τ1τ

τ1 τ2 τ3PrioritizedP1 READY QUEUE

τ2τ3

Access P2

P3

τ1τ2

τ1

τU2

U1

ResourceR ti

50%

30%τ2τ3

τ2τ3

2

U3Reservation 30%

20%

Page 215: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Implementation

serverτUs1

serverReady queue

τ1

Us2CPU

EDF

τ2

Us3

server

τ3

U + U + U ≤ 1

server

Us1 + Us2 + Us3 ≤ 1

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 215

Page 216: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

C B d id h SConstant Bandwidth Server (CBS)(CBS)

• It assigns deadlines to tasks like the TBS but• It assigns deadlines to tasks like the TBS, butkeeps track of job executions through a budgetmechanismmechanism.

• When the budget is exhausted it is immediatelyreplenished, but the deadline is postponed tokeep the demand constant.

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 216

Page 217: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

CBS tCBS parametersGiven by the user

• Maximum budget: Qsg Qs

• Server period: Ts

U Q / T ( b d idth)Us = Qs / Ts (server bandwidth)

Maintained by the serverMaintained by the server• Current budget: cs (initialized to 0)

• Server deadline: ds (initialized to 0)

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 217

Page 218: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

B i CBS lBasic CBS rules• Arrival of job J ⇒ assign d• Arrival of job Jk ⇒ assign ds

if (rk + c /U ≤ d ) then recycle (c d )if (rk + cs /Us ≤ ds) then recycle (cs, ds )

else ds = rk + Ts

cs = Qs

• Budget exhausted ⇒ postpone ds

ds = ds + Ts

c = QGraduate Course on Embedded Control Systems - Pisa 8-12 June 2009 218

cs = Qs

Page 219: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Budget exhausted

5

0 12

5

630 12

3cs

Q 3

63

Qs = 3Ts = 6

1

0 123

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 219

Page 220: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

EDF + CBS h d lEDF + CBS scheduleττ1

τ6 12 18 240

τ2

0 9 2718

d0 d1 d2 d3 d4

ape8 2714

03

1

r1

3

r2

1

r3 24188 2714cs

2418

CBS: Qs = 2, Ts = 6

0 2 4 6 8 10 12 14 16 18 20 22 24 26

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 220

Page 221: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

CBS tiCBS properties• Bandwidth Isolation

If a task τi is served by a CBS withIf a task τi is served by a CBS withbandwidth Us then, in any interval Δt, τi willnever demand more than Us Δt.never demand more than Us Δt.

• Hard schedulabilityHard schedulabilityA hard task τi (Ci, Ti) is schedulable by a CBS with Q = Ci and T = Ti iff τ isCBS with Qs = Ci and Ts = Ti, iff τi is schedulable by EDF.

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 221

Page 222: Gd tCGraduate Course on Embedded Control Systems… · Embedded Control Systems:Embedded Control Systems: Theory and Practice Scuola Superiore Sant’Anna, Pisa ... Graduate Course

Selecting the most suitable service mechanism

performanceoptimal server (TB*)TB(k)

TBSSlack Stealer

CBS

DS

PS

SS

overhead

PS

Background

It depends on the price (overhead) we wantto pay to reduce task response times

Graduate Course on Embedded Control Systems - Pisa 8-12 June 2009 222

to pay to reduce task response times