1 / 56

Examples of periodic tasks

Examples of periodic tasks. Audio sampling in hardware Audio sample processing Video capture and processing Feedback control (sensing and processing) Navigation Temperature and speed monitoring. Scheduling periodic tasks.

lucien
Télécharger la présentation

Examples of periodic tasks

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. Examples of periodic tasks • Audio sampling in hardware • Audio sample processing • Video capture and processing • Feedback control (sensing and processing) • Navigation • Temperature and speed monitoring

  2. Scheduling periodic tasks • Preemptive scheduling is an effective approach for scheduling real-time DSP systems • modularity simplifies the overall design • Application can be viewed as a collection of independent tasks or jobs • complexity is reduced as the functionality becomes encapsulated into a set of well defined tasks

  3. Scheduling periodic tasks • Systems designed using preemptive scheduling are also more maintainable • issue of changes to one task in the system affecting other jobs in the system is removed • New functionality can easily be added by adding a new task

  4. Scheduling periodic tasks • Preemptive scheduling approach also makes the system more efficient • preemptive scheduling is more efficient at utilizing time slots that may not be fully utilized • Scheduling algorithms • rate monotonic scheduling • deadline monotonic scheduling

  5. cost of handling event C = 4 Periodic Arrivals with Fixed Cost of Processing 4 4 4 ---- 10 ---- periodic arrivals. period T = 10 System Utilization = C/T = .40 System will be able to meet all deadlines. It can finish processing arrivals before the next arrival occurs.

  6. Can a second periodic event be accommodated? 4 4 4 ---- 10 ---- 1. periodic arrival, period T = 10 and C=4 2. periodic arrival, T=10 and C=3 ??

  7. Can a second periodic event be accommodated? 4 4 4 ---- 10 ---- 1. periodic arrival, period T = 10 and C=4 2. periodic arrival, T=10 and C=3 ?? System Utilization C/T = .70

  8. How about 2nd periodic event with T=6 and C=3? 4 4 4 ---- 10 ---- 1. periodic arrival, period T = 10 and C=4 2. periodic arrival, T=6 and C=3 ??

  9. How about 2nd periodic event with T=6 and C=3? 4 4 4 ---- 10 ---- 1. periodic arrival, period T = 10 and C=4 2. periodic arrival, T=6 and C=3 ?? System Utilization C/T = .90

  10. Task #1 Task #2 --6-- 4 4 4 ---- 10 ---- Event #2 Event #1 If we process Event #1 before Event #2 then, 2nd event processing will not complete before the next comparable event occurs Can’t Meet Deadline!

  11. Task #1 Task #2 --6-- 4 ---- 10 ---- Try Event #2 before Event #1- We still cannot complete task 1 before the next task 2 event occurs at t=6 unless... Event #2 Event #1

  12. Task #1 Task #2 --6-- 4 ---- 10 ---- Try Event #2 before Event #1- We still cannot complete task 1 before the next task 2 event occurs at t=6 unless…we Interrupt task 1 Event #2 Event #1

  13. Task #1 Task #2 --6-- 4 ---- 10 ---- Try Event #2 before Event #1- We still cannot complete task 1 before the next task 2 event occurs at t=6 unless…we Interrupt task 1 Event #2 Giving event #2 priority means that we can meet our deadline IF we preempt the processing of event #1 when event #2 occurs Event #1

  14. Rate Monotonic Analysis

  15. Rate Monotonic Analysis • Assume a set of “n” periodic tasks • period Ti • worst case execution time Ci • Rate-monotonic priority assignment • task with a shorter period (higher rate) assigned a fixed higher priority

  16. Rate Monotonic Analysis • Rate Monotonic scheduling addresses how to determine whether a group of tasks, whose individual CPU utilization is known, will meet their deadlines • assumes a priority preemption scheduling algorithm • assumes independent tasks (no communication or synchronization)

  17. Rate Monotonic Analysis • restriction of no communication or synchronization may appear to be unrealistic, but there are techniques for dealing with this • Each task is a periodic task which has a period T, which is the frequency with which it executes

  18. Rate Monotonic Analysis • An execution time C, which is the CPU time required during the period • A utilization U, which is the ratio C/T • A task is schedulable if all its deadlines are met (i.e., the task completes its execution before its period elapses.) • A group of tasks is considered to be schedulable if each task can meet its deadlines

  19. Rate Monotonic Analysis • RMA is a mathematical solution to the scheduling problem for periodic tasks with known cost • assumption is that the total utilization must always be less than or equal to 100% • Any more and you are exceeding the capacity of the CPU • Are you asking for more computing power than you have? IF so, forget it!

  20. Rate Monotonic Analysis • For a set of independent periodic tasks, the rate monotonic algorithm assigns each task a fixed priority based on its period, such that the shorter the period of a task, the higher the priority

  21. Rate Monotonic Analysis • For three tasks T1, T2, and T3 with periods of 5, 15 and 40 msec respectively the highest priority is given to the task, T1, as it has the shortest period, the medium priority to task T2, and the lowest priority to task T3 • priority assignment is independent of the applications “priority” i.e. how important meeting this deadline is to the functioning of the system or user concerns

  22. Rate Monotonic Analysis • A mathematical solution to the scheduling problem for Periodic Tasks with known Cost • Tasks will have: • Cost (Time to complete a task) • Period (Time between events) • Utilization ( Cost/Period) • Assumption • Total Utilization must always be <= 100%

  23. 3 levels of analysis using RMA • Utilization bound test • Completion time test • Response time test

  24. Utilization bound test • If this simple rule is followed, then all tasks are guaranteed to meet their requirements if the following holds true;

  25. Utilization bound test • In this rule, the bound is 1.0 for harmonic task sets • A task set is said to be harmonic if the periods of all its tasks are either integral multiples or sub-multiples of one another • On the average, for random Cs and Ts, this number will be about 0.88.

  26. Utilization bound test • Theory is a worst case approximation • For a randomly chosen group of tasks, it has been shown that the likely upper bound is 88% • Harmonic periods can give even higher upper bounds • The algorithm is stable in conditions where there is a transient overload

  27. Utilization bound test • In this case, there is a subset of the total number of tasks, namely those with the highest priorities that will still meet their deadlines

  28. Example of UB test • Task t1: C1=20; T1= 100; U1 = .2 • Task t2: C2=30; T2= 150; U2 = .2 • Task t3: C3=60; T3= 200; U3 = .3 • The total utilization for this task set is .2 + .2 + .3 = .7. Since this is less than the 0.779 utilization bound for this task set, all deadlines will be met.

  29. ExampleCan these 4 tasks be scheduled? • Can the system run and meet all hard deadlines? Task Ci Ti Ui 1 3 10 .30 2 3 12 .25 3 4 16 .25 4 7 20 .35

  30. ExampleCan these 4 tasks be scheduled? Task Ci Ti Ui 1 3 10 .30 2 3 12 .25 3 4 16 .25 4 7 20 .35 • Can the system run and meet all hard deadlines? • NO! The Total Utilization = 115%

  31. Example Task Ci Ti Ui 1 6 20 .30 2 4 16 .25 3 3 12 .25 Can these tasks always meet their deadlines? Total Utilization = 80% It MAY be possible - Rate Monotonic Scheduling applies!

  32. Rate Monotonic Theorem • For PERIODIC Tasks • Most frequent task gets highest priority • THEOREM (Simple Version) • IF the utilization of all tasks is less than or equal to 69%, then all tasks will ALWAYS meet their deadlines

  33. Are These Tasks Schedulable? Task Ci Ti Ui 1 2 20 .10 2 4 16 .25 3 3 12 .25 4 1 20 .05

  34. Are These Tasks Schedulable? Task Ci Ti Ui 1 2 20 .10 2 4 16 .25 3 3 12 .25 4 1 20 .05 Yes. Total CPU Utilization is 65% < 69%

  35. Are These Tasks Schedulable? Task Ci Ti Ui 1 2 20 .10 2 4 16 .25 3 3 12 .25 4 3 20 .15

  36. Are These Tasks Schedulable? Task Ci Ti Ui 1 2 20 .10 2 4 16 .25 3 3 12 .25 4 1 20 .05 Total CPU Utilization is 65% ???

  37. Exercise • Using Rate Monotonic Scheduling, determine if the following task set is schedulable

  38. More on Rate Monotonic Analysis

  39. Rate Monotonic Theorem • For PERIODIC Tasks • Most frequent task gets highest priority • RMS THEOREM (Mathematical Version) • n periodic tasks scheduled by the rate monotonic algorithm will always meet their deadlines if the total utilization of all tasks is less than • n (21/n - 1) • this converges to ln2 = 69% for large n

  40. Tasks Utilization n n(2^(1/n) -1) 1 1 2 0.82842712 3 0.77976315 4 0.75682846 5 0.74349177 6 0.73477229 7 0.7286266 8 0.72406186 9 0.72053765 10 0.71773463 11 0.71545198 12 0.71355713 In a Nutshell: The more tasks you try and schedule, the more slack time you must be willing to tolerate to mathematically guarantee schedulability converges toward 69%

  41. Priority Inversion Taskh Taskmed Tasklow Priority inversion Normal execution Execution in critical section

  42. Unbounded Priority Inversion Taskh Uncontrolled priority inversion Taskmed Taskmed Tasklow Priority inversion Normal execution Execution in critical section

  43. Priority Inheritance Protocol Taskh Taskmed Tasklow Priority inversion Execution in critical section at higher priority Normal execution Execution in critical section

  44. What Happened on Mars ?

  45. What happened on Mars ? • Mars pathfinder “flawless” in early days of mission • unconventional landing with airbags • deployment of Sojourner rover • gathering and transmitting data back to earth • A few days into the mission the Pathfinder began experiencing total system resets, each including losses of data

  46. What happened on Mars ? • Press reported these as “software glitches” • VxWorks RTOS provides preemptive priority scheduling of tasks • tasks executed as threads • priorities assigned reflecting relative urgency of the tasks

  47. low priority - infrequent execution medium priority high priority - frequent execution meteorological data gathering task bus management task communication task mutex information bus What happened on Mars ?

  48. What happened on Mars ? • Combination worked fine most of the time • Possible for interrupt to occur that caused the long running medium priority task to be scheduled during the short interval while the high priority task was blocked waiting on the semaphore that the low priority task had.

  49. What happened on Mars ? • Watchdog timer would go off, notice data bus task not in use for some time, conclude that something bad went wrong, and initiate a total system reset • Classic case of priority inversion

  50. How was this debugged ? • VxWorks can run in trace mode, recording interesting events. • JPL engineers spent hours in lab trying to reproduce the problem on the ground. • When finally reproduced, the trace data indicated the priority inversion problem

More Related