260 likes | 587 Views
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
E N D
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 • Demonstration • Mars Pathfinder Mission Rate Monotonic Analysis, Nate Forman
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
Anatomy of a Task t1 t2 t3 time Task Execution Time (C) End Of Period (T = Period Length) Rate Monotonic Analysis, Nate Forman
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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