+ All Categories
Home > Documents > Technische Universität Dortmund Classical scheduling algorithms for periodic systems Peter Marwedel...

Technische Universität Dortmund Classical scheduling algorithms for periodic systems Peter Marwedel...

Date post: 23-Dec-2015
Category:
Upload: adela-hubbard
View: 214 times
Download: 1 times
Share this document with a friend
Popular Tags:
33
Technische Universität Dortmund Classical scheduling algorithms for periodic systems Peter Marwedel TU Dortmund, Informatik 12 Germany 2007/12/14
Transcript
Page 1: Technische Universität Dortmund Classical scheduling algorithms for periodic systems Peter Marwedel TU Dortmund, Informatik 12 Germany 2007/12/14.

Technische Universität Dortmund

Classical scheduling algorithmsfor periodic systems

Peter MarwedelTU Dortmund, Informatik 12

Germany

2007/12/14

Page 2: Technische Universität Dortmund Classical scheduling algorithms for periodic systems Peter Marwedel TU Dortmund, Informatik 12 Germany 2007/12/14.

- 2 - P. Marwedel, TU Dortmund, Informatik 12, 2007

TU Dortmund

Structure of this course

New clustering

2: Specifications

3: Embedded System HW

4: Standard Software, Real-Time Operating Systems

5: Scheduling,HW/SW-Partitioning, Applications to MP-Mapping

6: Evaluation

8: Testing

7: Optimization of Embedded Systems

App

licat

ion

Kno

wle

dge

guest lecture on multisensor systems (Fink)

guest lecture on (RT-) OS (Spinczyk)

guest lecture from industry (NXP)[Digression: Standard Optimization

Techniques (1 Lecture)]

Page 3: Technische Universität Dortmund Classical scheduling algorithms for periodic systems Peter Marwedel TU Dortmund, Informatik 12 Germany 2007/12/14.

- 3 - P. Marwedel, TU Dortmund, Informatik 12, 2007

TU Dortmund

Classes of mapping algorithmsconsidered in this course

Classical scheduling algorithmsMostly for independent tasks & ignoring communication, mostly for mono- and homogeneous multiprocessors

Hardware/software partitioningDependent tasks, heterogeneous systems,focus on resource assignment

Dependent tasks as considered in architectural synthesisInitially designed in different context, but applicable

Design space exploration using genetic algorithmsHeterogeneous systems, incl. communication modeling

Page 4: Technische Universität Dortmund Classical scheduling algorithms for periodic systems Peter Marwedel TU Dortmund, Informatik 12 Germany 2007/12/14.

- 4 - P. Marwedel, TU Dortmund, Informatik 12, 2007

TU Dortmund

Periodic scheduling

For periodic scheduling, the best that we can do is to design

an algorithm which will always find a schedule if one exists.

A scheduler is defined to be optimal iff it will find a

schedule if one exists.

T1

T2

Page 5: Technische Universität Dortmund Classical scheduling algorithms for periodic systems Peter Marwedel TU Dortmund, Informatik 12 Germany 2007/12/14.

- 5 - P. Marwedel, TU Dortmund, Informatik 12, 2007

TU Dortmund

Periodic scheduling

Let • pi be the period of task Ti,• ci be the execution time of Ti,• di be the deadline interval, that is, the time between a job of

Ti becoming available and the time until the same job Ti has to finish execution.

• ℓi be the laxity or slack, defined as ℓi = di - ci

pi

di

ci ℓi

Page 6: Technische Universität Dortmund Classical scheduling algorithms for periodic systems Peter Marwedel TU Dortmund, Informatik 12 Germany 2007/12/14.

- 6 - P. Marwedel, TU Dortmund, Informatik 12, 2007

TU Dortmund

Accumulated utilization

Accumulated utilization:

n

i i

i

p

c

1

Necessary condition for schedulability(with m=number of processors):

Necessary condition for schedulability(with m=number of processors):

m

Page 7: Technische Universität Dortmund Classical scheduling algorithms for periodic systems Peter Marwedel TU Dortmund, Informatik 12 Germany 2007/12/14.

- 7 - P. Marwedel, TU Dortmund, Informatik 12, 2007

TU Dortmund

Independent tasks:Rate monotonic (RM) scheduling

Most well-known technique for scheduling independentperiodic tasks [Liu, 1973].Assumptions:• All tasks that have hard deadlines are periodic.

• All tasks are independent.

• di=pi, for all tasks.

• ci is constant and is known for all tasks.

• The time required for context switching is negligible.

• For a single processor and for n tasks, the following equation holds for the accumulated utilization µ:

)12( /1

1

nn

i i

i np

c

Page 8: Technische Universität Dortmund Classical scheduling algorithms for periodic systems Peter Marwedel TU Dortmund, Informatik 12 Germany 2007/12/14.

- 8 - P. Marwedel, TU Dortmund, Informatik 12, 2007

TU Dortmund

Rate monotonic (RM) scheduling- The policy -

RM policy: The priority of a task is a monotonically decreasing function of its period.

At any time, a highest priority task among all those that are ready for execution is allocated.

RM policy: The priority of a task is a monotonically decreasing function of its period.

At any time, a highest priority task among all those that are ready for execution is allocated.

Theorem: If all RM assumptions are met, schedulability is guaranteed.

Theorem: If all RM assumptions are met, schedulability is guaranteed.

Page 9: Technische Universität Dortmund Classical scheduling algorithms for periodic systems Peter Marwedel TU Dortmund, Informatik 12 Germany 2007/12/14.

- 9 - P. Marwedel, TU Dortmund, Informatik 12, 2007

TU Dortmund

Maximum utilization for guaranteed schedulability

Maximum utilization as a function of the number of tasks:Maximum utilization as a function of the number of tasks:

)2ln()12((lim

)12(

/1

/1

1

n

n

nn

i i

i

n

np

c

Page 10: Technische Universität Dortmund Classical scheduling algorithms for periodic systems Peter Marwedel TU Dortmund, Informatik 12 Germany 2007/12/14.

- 10 - P. Marwedel, TU Dortmund, Informatik 12, 2007

TU Dortmund

Example of RM-generated schedule

T1 preempts T2 and T3.T2 and T3 do not preempt each other.

Page 11: Technische Universität Dortmund Classical scheduling algorithms for periodic systems Peter Marwedel TU Dortmund, Informatik 12 Germany 2007/12/14.

- 11 - P. Marwedel, TU Dortmund, Informatik 12, 2007

TU Dortmund

Case of failing RM scheduling

Task 1: period 5, execution time 2Task 2: period 7, execution time 4µ=2/5+4/7=34/35 0.97 2(21/2-1) 0.828

Missed deadline

Missing computations scheduled in the next period

Page 12: Technische Universität Dortmund Classical scheduling algorithms for periodic systems Peter Marwedel TU Dortmund, Informatik 12 Germany 2007/12/14.

- 12 - P. Marwedel, TU Dortmund, Informatik 12, 2007

TU Dortmund

Intuitively: Why does RM fail ?

No problem if p2 = m p1, mℕ :

T1

T2

t fits

T1

T2

t

should be completed

Switching to T1 too early, despite early deadline for T2

leviRTS animation

Page 13: Technische Universität Dortmund Classical scheduling algorithms for periodic systems Peter Marwedel TU Dortmund, Informatik 12 Germany 2007/12/14.

- 13 - P. Marwedel, TU Dortmund, Informatik 12, 2007

TU Dortmund

Proof of RM optimality

Definition: A critical instant of a task is the time at which the release of a task will produce the largest response time.

Lemma: For any task, the critical instant occurs if that task is simultaneously released with all higher priority tasks.

Lemma: For any task, the critical instant occurs if that task is simultaneously released with all higher priority tasks.

Proof: Let T={T1, …,Tn}: periodic tasks with i: pi ≦ pi +1. Proof: Let T={T1, …,Tn}: periodic tasks with i: pi ≦ pi +1.

Morein-depth:

Source: G. Buttazzo, Hard Real-time Computing Systems, Kluwer, 2002

Page 14: Technische Universität Dortmund Classical scheduling algorithms for periodic systems Peter Marwedel TU Dortmund, Informatik 12 Germany 2007/12/14.

- 14 - P. Marwedel, TU Dortmund, Informatik 12, 2007

TU Dortmund

Critical instances (1)

Response time of Tn is delayed by tasks Ti of higher priority:

cn+2ci

Tn

Ti

t

Maximum delay achieved if Tn and Ti start simultaneously.

Maximum delay achieved if Tn and Ti start simultaneously.

cn+3ci

Tn

Ti

t

Delay may increase if Ti starts earlierDelay may increase if Ti starts earlier

Page 15: Technische Universität Dortmund Classical scheduling algorithms for periodic systems Peter Marwedel TU Dortmund, Informatik 12 Germany 2007/12/14.

- 15 - P. Marwedel, TU Dortmund, Informatik 12, 2007

TU Dortmund

Critical instances (2)

Repeating the argument for all i = 1, … n-1:

The worst case response time of a task occurs when it is released simultaneously with all higher-priority tasks. q.e.d.

Schedulability is checked at the critical instants.

If all tasks of a task set are schedulable at their critical instants, they are schedulable at all release times.

Page 16: Technische Universität Dortmund Classical scheduling algorithms for periodic systems Peter Marwedel TU Dortmund, Informatik 12 Germany 2007/12/14.

- 16 - P. Marwedel, TU Dortmund, Informatik 12, 2007

TU Dortmund

The case i: pi+1 = mi pi

Lemma*: If each task period is a multiple of the period of the next higher priority task, then schedulability is also guaranteed if µ 1.

Proof: Assume schedule of Ti is given. Incorporate Ti+1:

Ti+1 fills idle times of Ti; Ti+1 completes in time, if µ 1.

Ti

Ti+1 t

T’i+1

Used as the higher priority task at the next iteration.

* wrong in the book

Page 17: Technische Universität Dortmund Classical scheduling algorithms for periodic systems Peter Marwedel TU Dortmund, Informatik 12 Germany 2007/12/14.

- 17 - P. Marwedel, TU Dortmund, Informatik 12, 2007

TU Dortmund

Proof of the RM theorem

Let T={T1, T2} with p1 < p2.

Assume RM is not used prio(T2) is highest:

T1

T2 t

Schedule is feasible if c1+c2 ≦ p1 (1)Schedule is feasible if c1+c2 ≦ p1 (1)

c1

c2

p1

Define F= p2/p1: # of periods of T1fully contained in T2Define F= p2/p1: # of periods of T1fully contained in T2

Page 18: Technische Universität Dortmund Classical scheduling algorithms for periodic systems Peter Marwedel TU Dortmund, Informatik 12 Germany 2007/12/14.

- 18 - P. Marwedel, TU Dortmund, Informatik 12, 2007

TU Dortmund

Case 1: c1 p2 – Fp1

Assume RM is used prio(T1) is highest:

T1

T2 t

Case 1*: c1 p2 – Fp1

(c1 small enough to be finished before 2nd instance of T2)

Case 1*: c1 p2 – Fp1

(c1 small enough to be finished before 2nd instance of T2)

p2Fp1

Schedulable if (F+1) c1 + c2 p2 (2)Schedulable if (F+1) c1 + c2 p2 (2)

* Typos in [Buttazzo 2002]: < and mixed up]

Page 19: Technische Universität Dortmund Classical scheduling algorithms for periodic systems Peter Marwedel TU Dortmund, Informatik 12 Germany 2007/12/14.

- 19 - P. Marwedel, TU Dortmund, Informatik 12, 2007

TU Dortmund

Proof of the RM theorem (3)

Not RM: schedule is feasible if c1+c2 p1 (1)

RM: schedulable if (F+1) c1 + c2 p2 (2)

From (1): Fc1+Fc2 Fp1

Since F 1: Fc1+c2 Fc1+Fc2 Fp1

Adding c1: (F+1)c1+c2 Fp1 +c1

Since c1 p2 – Fp1: (F+1)c1+c2 Fp1 +c1 p2

Hence: if (1) holds, (2) holds as well

For case 1: Given tasks T1 and T2 with p1 < p2, then if the schedule is feasible by an arbitrary (but fixed) priority assignment, it is also feasible by RM.

Page 20: Technische Universität Dortmund Classical scheduling algorithms for periodic systems Peter Marwedel TU Dortmund, Informatik 12 Germany 2007/12/14.

- 20 - P. Marwedel, TU Dortmund, Informatik 12, 2007

TU Dortmund

Case 2: c1 > p2 – Fp1

Case 2: c1 > p2 – Fp1

(c1 large enough not to finish before 2nd instance of T2)

T1

T2 tp2Fp1

Schedulable if F c1 + c2 F p1

(3) c1+c2 p1 (1)

Multiplying (1) by F yields F c1+ F c2 F p1

Since F 1: F c1+ c2 F c1+ Fc2 F p1

Same statement as for case 1.

Schedulable if F c1 + c2 F p1

(3) c1+c2 p1 (1)

Multiplying (1) by F yields F c1+ F c2 F p1

Since F 1: F c1+ c2 F c1+ Fc2 F p1

Same statement as for case 1.

Page 21: Technische Universität Dortmund Classical scheduling algorithms for periodic systems Peter Marwedel TU Dortmund, Informatik 12 Germany 2007/12/14.

- 21 - P. Marwedel, TU Dortmund, Informatik 12, 2007

TU Dortmund

Calculation of the least upper utilization bound

Let T={T1, T2} with p1 < p2.

Proof procedure: compute least upper bound Ulup as follows

Assign priorities according to RM

Compute upper bound Uup by setting computation times to fully utilize processor

Minimize upper bound with respect to other task parameters

As before: F= p2/p1

c2 adjusted to fully utilize processor.

Page 22: Technische Universität Dortmund Classical scheduling algorithms for periodic systems Peter Marwedel TU Dortmund, Informatik 12 Germany 2007/12/14.

- 22 - P. Marwedel, TU Dortmund, Informatik 12, 2007

TU Dortmund

Case 1: c1 p2 – Fp1

Largest possible value of c2 is c2= p2 – c1 (F+1)Corresponding upper bound is

T1

T2 tp2Fp1

)1(1)1(

1)1(

1

2

2

1

2

1

1

1

2

12

1

1

2

2

1

1 Fp

p

p

c

p

F c

p

c

p

F – cp

p

c

p

c

p

cUub

{ } is <0 Uub monotonically decreasing in c1

Minimum occurs for c1 = p2 – Fp1

Page 23: Technische Universität Dortmund Classical scheduling algorithms for periodic systems Peter Marwedel TU Dortmund, Informatik 12 Germany 2007/12/14.

- 23 - P. Marwedel, TU Dortmund, Informatik 12, 2007

TU Dortmund

Case 2: c1 p2 – Fp1

Largest possible value of c2 is c2= (p1-c1)FCorresponding upper bound is:

T1

T2 tp2Fp1

Fp

p

p

cF

p

pF

p

c

p

cF

p

p

p

F – cp

p

c

p

c

p

cUub

1

2

2

1

2

1

2

1

1

1

2

1

2

11

1

1

2

2

1

1 )(

{ } is 0 Uub monotonically increasing in c1 (independent of c1 if {}=0)

Minimum occurs for c1 = p2 – Fp1, as before.

Page 24: Technische Universität Dortmund Classical scheduling algorithms for periodic systems Peter Marwedel TU Dortmund, Informatik 12 Germany 2007/12/14.

- 24 - P. Marwedel, TU Dortmund, Informatik 12, 2007

TU Dortmund

Utilization as a function of G=p2/p1-F

For minimum value of c1:

F

p

pF

p

pF

p

pF

p

p

p

FppF

p

pF

p

p

p

cF

p

pUub

1

2

1

2

2

1

1

2

2

12

2

1

1

2

2

1

2

1

; Let1

2 Fp

pG

GF

GG

GF

GGGF

GF

GF

FFpp

GF

pp

GFGF

p

pUub

11

)(

//

22

12

2

12

22

2

1

Since 0 G< 1: G(1-G) 0 Uub increasing in F

Minimum of Uub for min(F): F=1

G

GUub

1

1 2

Page 25: Technische Universität Dortmund Classical scheduling algorithms for periodic systems Peter Marwedel TU Dortmund, Informatik 12 Germany 2007/12/14.

- 25 - P. Marwedel, TU Dortmund, Informatik 12, 2007

TU Dortmund

Proving the RM theorem for n=2

This proves the RM theorem for the special case of n=2

83.0)12(2)12(22

224

)12(1

)12(1

:10 since ,only gConsiderin

;21 ;21

0)1(

12

)1(

)1()1(2

: of minimum find to derivative Using1

1

2

12

2

21

2

2

2

2

2

lub

ub

ub

ub

U

GG

GG

G

GG

G

GGG

dG

dU

UG

GU

end

Page 26: Technische Universität Dortmund Classical scheduling algorithms for periodic systems Peter Marwedel TU Dortmund, Informatik 12 Germany 2007/12/14.

- 26 - P. Marwedel, TU Dortmund, Informatik 12, 2007

TU Dortmund

Properties of RM scheduling

RM scheduling is based on static priorities. This allows RM scheduling to be used in standard OS, such as Windows NT.

No idle capacity is needed if i: pi+1=F pi:

i.e. if the period of each task is a multiple of the period of the next higher priority task, schedulability is then also guaranteed if µ 1.

A huge number of variations of RM scheduling exists.

In the context of RM scheduling, many formal proofs exist.

Page 27: Technische Universität Dortmund Classical scheduling algorithms for periodic systems Peter Marwedel TU Dortmund, Informatik 12 Germany 2007/12/14.

- 27 - P. Marwedel, TU Dortmund, Informatik 12, 2007

TU Dortmund

EDF

EDF can also be applied to periodic scheduling.

EDF optimal for every period

Optimal for periodic scheduling

EDF must be able to schedule the example in which RMS failed.

Page 28: Technische Universität Dortmund Classical scheduling algorithms for periodic systems Peter Marwedel TU Dortmund, Informatik 12 Germany 2007/12/14.

- 28 - P. Marwedel, TU Dortmund, Informatik 12, 2007

TU Dortmund

Comparison EDF/RMS

RMS:

EDF:EDF:

T2 not preempted, due to its earlier deadline.

EDF-animation

Page 29: Technische Universität Dortmund Classical scheduling algorithms for periodic systems Peter Marwedel TU Dortmund, Informatik 12 Germany 2007/12/14.

- 29 - P. Marwedel, TU Dortmund, Informatik 12, 2007

TU Dortmund

EDF: Properties

EDF requires dynamic priorities

EDF cannot be used with a standard operating system just providing static priorities.

EDF requires dynamic priorities

EDF cannot be used with a standard operating system just providing static priorities.

Page 30: Technische Universität Dortmund Classical scheduling algorithms for periodic systems Peter Marwedel TU Dortmund, Informatik 12 Germany 2007/12/14.

- 30 - P. Marwedel, TU Dortmund, Informatik 12, 2007

TU Dortmund

Comparison RMS/EDF

RMS EDF

Priorities Static Dynamic

Works with std. OS with fixed priorities

Yes No

Uses full computational power of processor

No,just up till µ=n(21/n-1)

Yes

Possible to exploit full computational power of processor without provisioning for slack

No Yes

Page 31: Technische Universität Dortmund Classical scheduling algorithms for periodic systems Peter Marwedel TU Dortmund, Informatik 12 Germany 2007/12/14.

- 31 - P. Marwedel, TU Dortmund, Informatik 12, 2007

TU Dortmund

Sporadic tasks

If sporadic tasks were connected to interrupts, the execution

time of other tasks would become very unpredictable.

Introduction of a sporadic task server,periodically checking for ready sporadic tasks;

Sporadic tasks are essentially turned into periodic tasks.

Page 32: Technische Universität Dortmund Classical scheduling algorithms for periodic systems Peter Marwedel TU Dortmund, Informatik 12 Germany 2007/12/14.

- 32 - P. Marwedel, TU Dortmund, Informatik 12, 2007

TU Dortmund

Dependent tasks

The problem of deciding whether or not a schedule existsfor a set of dependent tasks and a given deadlineis NP-complete in general [Garey/Johnson].

The problem of deciding whether or not a schedule existsfor a set of dependent tasks and a given deadlineis NP-complete in general [Garey/Johnson].

Strategies:

1. Add resources, so that scheduling becomes easier

2. Split problem into static and dynamic part so that only a minimum of decisions need to be taken at run-time.

3. Use scheduling algorithms from high-level synthesis

Page 33: Technische Universität Dortmund Classical scheduling algorithms for periodic systems Peter Marwedel TU Dortmund, Informatik 12 Germany 2007/12/14.

- 33 - P. Marwedel, TU Dortmund, Informatik 12, 2007

TU Dortmund

Summary

Periodic scheduling

Rate monotonic scheduling

• Proof of the utilization bound for n=2.

EDF

Dependent and sporadic tasks (briefly)


Recommended