Presentation is loading. Please wait.

Presentation is loading. Please wait.

Sandtids systemer 2.modul el. Henriks 1. forsøg m. Power Point.

Similar presentations


Presentation on theme: "Sandtids systemer 2.modul el. Henriks 1. forsøg m. Power Point."— Presentation transcript:

1

2 Sandtids systemer 2.modul el. Henriks 1. forsøg m. Power Point

3 Real Time Systems Specifications -> Task Set Task Specifications Scheduling Fixed Priority Scheduling Dependent tasks Dynamic Priority Scheduling Aperiodic Tasks

4 Task Specifications A task is a collection of jobs J1,J2,J3,… A job is a set of instructions to be executed A job is specified in time by: a ready time r, a computation time c and a deadline d

5 The job life cycle Time Running Completed C Scheduled S Ready r Computation time c Deadline d Pre-emptied

6 Task Specifications Periodic tasks Aperiodic tasks Sporadic tasks Hard Real Time Real Time Soft Real Time Non Real Time

7 Task Specifications r1 Time r4 T r2 TTT Periodic Task r3

8 Task Specifications r1 Time r4r2 Aperiodic Task r3 T3 0 < Ti, 0 < c << T, (Ti < c) T1T2

9 Task Specifications r1 Time r4r2 Sporadic Task r3 T3 0 < c << Tmin < Ti T1T2

10 Task Specifications Hard Real Time: d <= Tmin (T), (periodic,sporadic) Real Time: d > Tmin (T), (periodic, sporadic) Soft Real Time: C < d (periodic,aperiodic) Non Real Time

11 Scheduling For periodic and sporadic tasks: {T i, c i },  c i / T i = U 1, unstable) For aperiodic tasks: r i = c i / T i, U=  r i < 1

12 Scheduling Pre emptive Non Pre emptive Fixed Schedules Cyclic Schedules Round Robin Fixed Priorities Rate/Deadline Monotonic Dynamic Priorities Earliest Deadline First

13 Fixed Schedules Ready times need to be known a priori Only very light run time load Table based Less flexible Cyclic schedules are fixed schedules

14 Cyclic Schedules All periods are multiples of dT LCM: is the Least Common Multiple Schedule is made for [0, dt * LCM] If CPU is idle at dT * LCM the schedule may be reused in subsequent intervals. Applicable both for Pre emptive and Non Pre Emptive Schedules

15 Cyclic Schedules (example) T1=2,c1=1,d1=2 T2=3,c2=3/2,d2=3 Task Time 123456

16 Round Robin Time line divided into slots dT Tasks are granted execution time cyclically. When a job has executed for dT or is completed CPU access is passed on. Non pre emptive if dT is infinite. Critical instant when grant is just passed on when job is ready along with jobs from all other tasks

17 Round Robin (example) T1=2,c1=1,d1=2 T2=3,c2=3/2,d2=3, dT=1/2 1 2 3 Task Time Task Time 1 2 Test for task 2 Test for task 1

18 Fixed Priorities Tasks are assigned priorities in order               A task is ready if its latest job is still not completed A task is running if it is ready and it has highest priority among ready tasks. Both pre emptive and non preemptive

19 Fixed priorities (example) T1=2,c1=1,d1=2 T2=3,c2=3/2,d2=3, preemptive Task Time 123456 Task 2 missed deadline

20 Fixed priorities (properties) Flexible Medium run time demands Not optimal Typically better then Round Robin Well known schedulability criteria

21 Fixed Priorities (schedulability) Critical Instant Theorem (Liu,Layland) Worst case completion time is when launced along with jobs from all other tasks simultaneously. Utilization U 0.7 < 1 !! Completion time: exist t  i  [t / T j ] c j + c i

22 Fixed Priorities (example) T1=2,c1=1,d1=2 T2=3,c2=3/2,d2=3, preemptive c2=3/2 c1=1 T1=2 C2=3½ > d2=3 1 2 3 Time Work

23 Priority Order Priorities according to importance or time efficiency. DMA: d1 < d2 < d3 <.. < dN DMA (Deadline Monotonic) / RMA (Rate Monotonic) is optimal when d<=T / d=T No general optimal order when d>T

24 Dependent tasks Inter Process Communication (IPC) Critical regions Producer Consumer Rendezvous All introduce dependence

25 Critical regions (example) 22 33 Time Running W(S) 11 S(S) Priority inversion W(S)

26 Priority Ceiling Priority ceil C(S) of semaphore S is the highest (minimum) priority of all tasks locking S Runtime: –if prio  < min {C(S i )| S i locked} when attempting a lock on S then lock and active. –else suspend. Task locking S inherits prio  (if lower) until unlock. Whenever a semaphore is unlocked the suspend queue is inspected to see if any task may be resumed.

27 Priority Ceiling (assumptions and properties) Assumption: Critical regions nicely nested. Property: No deadlocks possible Property: No task is blocked by lower priority tasks for more than the duration of 1 critical region.

28 Critical regions with PC (example) 22 33 Time Running W(S) W(S), suspended 11  3 -> prio(  1) W(S) S(S),  3 -> low prio.

29 Fixed Priorities with PC (schedulability) Completion time: exist t  i  [t / T j ] c j + c i + B i B i is the duration of the longest critical region possibly blocking tau i Lower priority tasks also block through priority inheritance

30 Dynamic priority scheduling At every scheduling point considers states of every job. Heavy run time load. Includes fixed schedules and fixed priorities as special cases – thus stronger Earliest Deadline First (EDF) and Least Laxity First (LLF) are special cases.

31 Ealiest Deadline First (EDF) At every scheduling point runs job with closest deadline. Optimal among all schedules. U < 1 sufficient for d=T No priority according to importance possible.

32 EDF (example) T1=2,c1=1,d1=2 T2=3,c2=3/2,d2=3 Task Time 123456 d 1,1 d 2,1 d 1,2 d 2,2 d 1,3 RMA/DMA missed deadline

33 Aperiodic tasks Low (close to zero) minimum interarrival time Tmin May be seen from probabilistic and worst case viewpoints Probabilistic viewpoint uses mean inter arrival times T and queueing theory. Worst case view uses Tmin. OK if c/Tmin < available CPU fraction. Aperiodic server or background task

34 Probabilistic viewpoint (queueing) Assumes Poisson arrivals and exponential distributed service times. (Approximation.) l=1/T : arrival rate, u: service rate. Load (utilization) r = l/u Mean queue length Q = r / (1-r) Mean waiting time W = Q/l = 1 / (u –l) (Littles theorem)

35 Worst case v.p. Higher priority computation times K i Higher priority utilization U i W.C. Completion time for n jobs of tau i : C n n c i + K i + t*U i } => C n < (n c i + K i ) / (1-U i ) W.C. Waiting W n = C n – r n < C n - (n-1)*Tmin < n (c i / (1-U i ) –Tmin) + K i / (1-U i ) +Tmin = (c i +K i ) / (1-U i ) for n=1

36 Worst Case V.P. 1 2 3 4 5 6 n Waiting time K i / (1- U i ) + Tmin 1 C i /(1-U i ) - Tmin (c i + K i ) / (1- U i )

37 Sporadic Tasks Tmin >> c Typically hard real time (alarm not.) d << Tmin No queueing. If aperiodic server T < d << Tmin (high load) Sporadic server accesible at all times, however allways Tmin between every use. Ticket issued at start up time. New ticket at n*Tmin if used – else old ticket left. High responsiveness – low load.

38 Sporadic Server (example) Time Tickets r1 Tmin 1 r2 r4 r3

39 The End


Download ppt "Sandtids systemer 2.modul el. Henriks 1. forsøg m. Power Point."

Similar presentations


Ads by Google