|ARM Technical Support Knowledge Articles|
Applies to: General Topics
What is Rate Monotonic Scheduling?
In short, "rate monotonic scheduling" means that the tasks that have to be run most often get the highest priority.
The following information is available in Comp.realtime: Frequently Asked Questions (FAQs).
"Rate-Monotonic Analysis" is a term coined by researchers at CMU. It refers to the real-time performance analysis of a system design that uses static-priority driven scheduling, in particular, the "rate-monotonic" static priority assignment, where tasks with shorter periods get the higher priorities, in a typical static-priority driven real-time operating system like pSOS VxWorks VRTX etc.
Research (mostly) from CMU and U-York and Illinois gives you the mathematical tools to answer "what if I designed it this way???" analysis on your system workload. You need to break your software into "tasks" with "periods" and "deadlines" (relative to the period) and you must be able to guess or prototype a rough "execution time" for each task. Also, for more precise analysis, it helps to know all the critical sections and their runtimes and who shares them, or at the least, the length of the longest critical section in all of your software.
You can plug all this data into a "schedulability analyzer" tool (PERTS, MIMOSA, TimeWiz (TimeSys), Scheduler 1-2-3 (CMU), Software Engineer(?s) Notebook (CMU, newer)), or even the back of an envelope "Utilization Test" or "Formula Test" and find out if your workload will meet all its different deadlines.
If your workload does not meet deadlines, the better tools can help you to explore changes to your workload, in order to meet all the deadlines.
Article last edited on: 2005-08-03 11:49:54
Did you find this article helpful? Yes No
How can we improve this article?