1 / 38

Sandtids systemer 2.modul

Sandtids systemer 2.modul. el. Henriks 1. forsøg m. Power Point. Real Time Systems. Specifications -> Task Set Task Specifications Scheduling Fixed Priority Scheduling Dependent tasks Dynamic Priority Scheduling Aperiodic Tasks. Task Specifications.

elaine-key
Download Presentation

Sandtids systemer 2.modul

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  3. 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

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

  5. Task Specifications • Periodic tasks • Aperiodic tasks • Sporadic tasks • Hard Real Time • Real Time • Soft Real Time • Non Real Time

  6. T T T T r1 r2 r3 r4 Task Specifications Periodic Task Time

  7. T1 T2 T3 r1 r2 r3 r4 Task Specifications Aperiodic Task 0 < Ti, 0 < c << T , (Ti < c) Time

  8. T1 T2 T3 r1 r2 r3 r4 Task Specifications Sporadic Task 0 < c << Tmin < Ti Time

  9. 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

  10. Scheduling • For periodic and sporadic tasks: {Ti, ci}, S ci / Ti = U < 1 (stable), (U>1, unstable) • For aperiodic tasks: ri = ci / Ti, U= S ri < 1

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

  12. 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

  13. 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

  14. Task Time 1 2 3 4 5 6 Cyclic Schedules (example) • T1=2,c1=1,d1=2 • T2=3,c2=3/2,d2=3

  15. 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

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

  17. Fixed Priorities • Tasks are assigned priorities in order t1, t2 t3, t4, t4, .. ,tN • Atask 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

  18. Task Task 2 missed deadline Time 1 2 3 4 5 6 Fixed priorities (example) • T1=2,c1=1,d1=2 • T2=3,c2=3/2,d2=3 , preemptive

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

  20. 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 < N (2N-1) -> 0.7 < 1 !! • Completion time: exist t <= di : t => Si-1 [t / Tj] cj + ci

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

  22. 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

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

  24. Running W(S) W(S) t1 t2 t3 Time W(S) S(S) Critical regions (example) Priority inversion

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

  26. 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.

  27. W(S) Running W(S), suspended t1 t2 t3 Time S(S), t3 -> low prio. W(S) t3 -> prio(t1) Critical regions with PC (example)

  28. Fixed Priorities with PC (schedulability) • Completion time: exist t <= di : t => Si-1 [t / Tj] cj + ci + Bi • Bi is the duration of the longest critical region possibly blocking taui • Lower priority tasks also block through priority inheritance

  29. 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.

  30. 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.

  31. Task d1,1 d2,1 d1,2 d2,2 d1,3 Time 1 2 3 4 5 6 EDF (example) • T1=2,c1=1,d1=2 • T2=3,c2=3/2,d2=3 RMA/DMA missed deadline

  32. 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

  33. 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)

  34. Worst case v.p. • Higher priority computation times Ki • Higher priority utilization Ui • W.C. Completion time for n jobs of taui: Cn < min{t | t > n ci + Ki + t*Ui} => Cn < (n ci + Ki) / (1-Ui) • W.C. Waiting Wn = Cn – rn < Cn - (n-1)*Tmin < n (ci / (1-Ui)–Tmin) + Ki / (1-Ui) +Tmin = (ci +Ki) / (1-Ui) for n=1

  35. Waiting time (ci + Ki) / (1- Ui) Ci/(1-Ui) - Tmin 1 1 2 3 4 5 6 n Worst Case V.P. Ki / (1- Ui) + Tmin

  36. 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.

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

  38. The End

More Related