1 / 22

Rate Monotonic Analysis

Rate Monotonic Analysis. A presentation for Brian Evans’ Embedded Software Class By Nate Forman Liaison Technology Inc. 3/30/2000. For Real-Time Scheduling. Agenda. Introduction Anatomy of a Task Rate Monotonic Principles and Tests Extended Rate Monotonic Analysis

lenci
Download Presentation

Rate Monotonic Analysis

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. Rate Monotonic Analysis A presentation for Brian Evans’ Embedded Software Class By Nate Forman Liaison Technology Inc. 3/30/2000 For Real-Time Scheduling

  2. Agenda • Introduction • Anatomy of a Task • Rate Monotonic Principles and Tests • Extended Rate Monotonic Analysis • Demonstration • Mars Pathfinder Mission Rate Monotonic Analysis, Nate Forman

  3. Introduction • Rate Monotonic refers to assigning priorities as a monotonic function of the rate (frequency of occurrence) of those processes. • Rate Monotonic Scheduling (RMS) can be accomplished based upon rate monotonic principles. • Rate Monotonic Analysis (RMA) can be performed statically on any hard real-time system concept to decide if the system is schedulable. Rate Monotonic Analysis, Nate Forman

  4. Anatomy of a Task t1 t2 t3 time Task Execution Time (C) End Of Period (T = Period Length) Rate Monotonic Analysis, Nate Forman

  5. Rate Monotonic Assumptions • All tasks are periodic • Task switching is instantaneous • Tasks account for all processor execution time • Tasks become ready to execute precisely at the beginning of their periods and relinquish the CPU only when execution is complete Rate Monotonic Analysis, Nate Forman

  6. Rate Monotonic Assumptions (2) • Task interactions are not allowed • Task deadlines are always at the end of the period • Tasks with shorter periods are assigned higher priorities; no other criteria are considered for priority assignment • Task execution is always consistent with rate monotonic priority: a lower priority task never executes when a higher priority task is ready Rate Monotonic Analysis, Nate Forman

  7. Ci Ui = Ti 1 U(n) = n(2 - 1) n Utilization Bound (UB) Test Processor Utilization for a task, i Utilization Bound for n tasks • Results: • If S Ui ≤ U(n) then the set of tasks is schedulable. • If S Ui> 1 then the set of tasks is unschedulable. • If U(n) < S Ui ≤ 1 then the test is inconclusive. Rate Monotonic Analysis, Nate Forman

  8. UB Test Example U(3) = 3(21/3 – 1) = 0.779 U1 = 40 / 100 = 0.4 U2 = 40 / 150 = 0.267 Result: U1+2 = 0.667, schedulable. However, 0.779 < 0.953 < 1 Therefore, inconclusive for t3. U3 = 100 / 350 = 0.286 Utotal = 0.953 Rate Monotonic Analysis, Nate Forman

  9. an a0 = S Cj an+1 = Ci + S Cj Tj j  H + {i} j  H Response Time (RT) Test Theorem: If a task meets its first deadline with worst-case task phasing, that deadline will always be met. For the response time for task i, find the least fixed-point of the following recurrence: where H is the set of tasks with higher priority than task i. Rate Monotonic Analysis, Nate Forman

  10. a0 = S Cj = 40 + 40 + 100 = 180 300 180 260 a2 = C3 + S Cj = 100 + (3 * 40) + (2 * 40) = 300 a1 = C3 + S Cj = 100 + (2 * 40) + (2 * 40) = 260 a3 = C3 + S Cj = 100 + (3 * 40) + (2 * 40) = 300 j  H + {i} Tj Tj Tj j  H j  H j  H RT Test Example a2 = a3 = 300 300 < t3 = 350 t3 is schedulable. Rate Monotonic Analysis, Nate Forman

  11. Extensions to RMA • Aperiodic task handling • Preperiod task deadlines (Di = deadline for task i) • Nonzero task switching times (S = task switch time) • Interrupt handling for top-priority tasks • Task blocking and interaction through shared resources (Bi = blocking time for task i) Rate Monotonic Analysis, Nate Forman

  12. Sporadic Servers • A conceptual task that uses its execution budget handling incoming aperiodic tasks • Its execution budget is only replenished after a period where it is completely consumed instead of after every period’s end. • Avoids deferred execution effect and reduces aperiodic tasks to the same model as periodic tasks Rate Monotonic Analysis, Nate Forman

  13. Priority Inversion • A high priority task is ready to execute, but a lower priority task continues execution because it holds a lock on a shared resource that the high priority task needs. • Unbounded priority inversion occurs when a system allows tasks with lower priority than the blocked task to preempt the blocking task. Rate Monotonic Analysis, Nate Forman

  14. Priority Inversion (2) • To successfully share resources, a system needs two properties: freedom from mutual deadlock, and bounded priority inversion. • The combination of priority inheritance and the priority ceiling protocol guarantee the above properties. • Priority Inheritance: When a task blocks the execution of other, higher priority tasks, it executes at the highest priority of all of the tasks it blocks. Rate Monotonic Analysis, Nate Forman

  15. Priority Ceiling Protocol • Priority Ceiling: of a binary semaphore is the highest priority of all of the tasks that may lock it. • A task attempting to a execute critical section is blocked unless its priority is higher than the priority ceilings of all of the locked semaphores in the system. • The task holding the lock on the highest priority ceiling semaphore inherits the priorities of tasks blocked in this way. Rate Monotonic Analysis, Nate Forman

  16. 0.5 < Di ≤ 1 n ((2Di)1/n – 1) + 1 – Di, U(n, Di) = Di, Di ≤ 0.5 Extended UB Test for Di = Di / Ti, redefine utilization bound: Rate Monotonic Analysis, Nate Forman

  17. Bi Ti fi = S + + + S (Ck + 2S) j  Hn k  H1 1 Cj + 2S Ti Ci + 2S Tj Ti Extended UB Test (2) Updated processor utilization: where Hn is the set of higher priority tasks that can preempt task i more than once (shorter periods) and H1 are higher priority tasks that can preempt task i only once (longer periods) Compare each fi to its utilization bound, U(n, Di). The results can be interpreted as before. Rate Monotonic Analysis, Nate Forman

  18. an a0 = Bi + S (Cj + 2S) an+1 = Bi + Ci + 2S + S (Cj + 2S) Tj j  H j  H + {i} Extended RT Test Theorem: If a task meets its first deadline with worst-case task phasing, that deadline will always be met. The above theorem still stands although the deadline is Di instead of Ti. For the response time find the least fixed-point of the recurrence below: where H is the set of tasks with higher priority than task i. Rate Monotonic Analysis, Nate Forman

  19. What really happened on Mars? (the first time) • Two tasks were critical for controlling communication on the lander’s communication bus, the scheduler task (bc_sched) and the distribution task (bc_dist). • Each of these tasks checked each cycle to be sure that the other had run successfully. time = 0.125 s bc_sched bc_dist bus active Rate Monotonic Analysis, Nate Forman

  20. Mars Pathfinder: The Problem • bc_dist was blocked by a much lower priority meteorological science task (ASI/MET) • ASI/MET was preempted by several medium priority processes such as accelerometers and radar altimeters. • bc_sched started and discovered that bc_dist had not completed. Under these circumstances, bc_sched reacted by reinitializing the lander’s hardware and software and terminating all ground command activities. Rate Monotonic Analysis, Nate Forman

  21. Mars Pathfinder: Resolution • “Faster, better, cheaper” had NASA and JPL using “shrink-wrap” hardware (IBM RS6000) and software (Wind River vxWorks RTOS). • Logging designed into vxWorks enabled NASA and Wind River to reproduce the failure on Earth. This reproduction made the priority inversion obvious. • NASA patched the lander’s software to enable priority inheritance. Rate Monotonic Analysis, Nate Forman

  22. Resources • www.sei.cmu.edu: Software Engineering Institute, technical reports and presentations on rate monotonic analysis • www.jpl.nasa.gov: NASA Jet Propulsion Laboratory, information about Mars missions, pictures • “Guaranteeing Real-Time Performance Using RMA,” The Embedded Systems Conference, R. Obenza & G. Mendal • research.microsoft.com: letter by Glenn Reeves of JPL about Mars Pathfinder mission • http://www.ece.utexas.edu/~bevans/courses/ee382c/projects/fall99/ -- The RMADriver Application Rate Monotonic Analysis, Nate Forman

More Related