Real-Time Rate Monotonic Analysis (RMA) is a mathematical method for proving that fixed-priority, periodic real-time tasks will always meet their deadlines under rate monotonic scheduling (RMS).
Ron Fredericks Presents RMA at Embedded Systems Conference
Developing real-time embedded software is a specialty that requires knowledge of both embedded system design and timing constraints imposed by physical limitations of the hardware. The target audience for this presentation includes safety-critical and mission-critical embedded device designers and developers. This presentation’s content will be equally useful to hardware designers who wish to utilize existing hardware more effectively and to software developers who wish to pack more features into their resource-constrained embedded applications. Another key sign that it is time to review this presentation is when you might mistakenly wish your priority-based preemptive real-time scheduler could be redesigned to improve software performance – use RMA to avoid redesign.
This 25-minute lecture demonstrates how to design predictable real-time software using the Unified Modeling Language (UML) for functional design, document functional timing, take advantage of the priority-based preemptive scheduler included in real-time operating systems, and then optimize task priorities to ensure deadlines are met on a physical device.
The core idea
- Tasks that run more frequently are given higher priority
- Tasks with longer periods get lower priority
- Priorities are fixed (they don’t change at runtime)
This makes RMS simple, predictable, and well-suited for hard real-time systems.
RMA helps you answer:
“Given these tasks and execution times, will every task always finish before its deadline?”
It’s a schedulability test, not a scheduling algorithm itself.
Key assumptions
Classic RMA assumes:
- Tasks are periodic
- Deadlines equal periods
- Tasks are independent (no shared resources)
- No blocking, no jitter
- Preemption is allowed
- Single-core processor
These assumptions are strict, but they make the analysis mathematically tractable.
The utilization bound (the famous result)
For n tasks, RMS is guaranteed to be schedulable if:

Where:
= execution time
= period
As
, the bound approaches ~69% CPU utilization.
Important:
- This bound is sufficient but not necessary
- Many task sets above 69% are still schedulable
Why RMA matters
- Provides provable timing guarantees
- Simple priority assignment
- Widely used in:
- Avionics
- Automotive Electronic Control Units (ECUs)
- Industrial control
- Medical devices
It’s one of the pillars of real-time systems theory.
Limitations (worth knowing)
- Conservative utilization bound
- Doesn’t handle shared resources well without extensions
- Not optimal compared to dynamic schedulers like Earliest Deadline First (EDF)
- Assumptions rarely hold perfectly in real systems
equation as a symbolic formula
equation as a symbolic formula
size=
size=
td (propagation time delay assigned to each gate)






is frequency in hertz
is capacitance in farads
is resistance in ohms
is duty cycle
is non-zero output duration
is the period of the output