Title :
The performance and energy consumption of embedded real-time operating systems
Author :
Baynes, Kathleen ; Collins, Chris ; Fiterman, Eric ; Ganesh, Brinda ; Kohout, Paul ; Smit, Christine ; Zhang, Tiebing ; Jacob, Bruce
Author_Institution :
Verizon, Reston, VA, USA
Abstract :
We present the modelling of embedded systems with SimBed, an execution-driven simulation testbed that measures the execution behavior and power consumption of embedded applications and RTOSs by executing them on an accurate architectural model of a microcontroller with simulated real-time stimuli. We briefly describe the simulation environment and present a study that compares three RTOSs: μC/OS-II, a popular public-domain embedded real-time operating system; Echidna, a sophisticated, industrial-strength (commercial) RTOS; and NOS, a bare-bones multirate task scheduler reminiscent of typical "roll-your-own" RTOSs found in many commercial embedded systems. The microcontroller simulated in this study is the Motorola M-CORE processor: a low-power, 32-bit CPU core with 16-bit instructions, running at 20MHz. Our simulations show what happens when RTOSs are pushed beyond their limits and they depict situations in which unexpected interrupts or unaccounted-for task invocations disrupt timing, even when the CPU is lightly loaded. In general, there appears no clear winner in timing accuracy between preemptive systems and cooperative systems. The power-consumption measurements show that RTOS overhead is a factor of two to four higher than it needs to be, compared to the energy consumption of the minimal scheduler. In addition, poorly designed idle loops can cause the system to double its energy consumption-energy that could be saved by a simple hardware sleep mechanism.
Keywords :
digital simulation; embedded systems; microcontrollers; operating systems (computers); power consumption; processor scheduling; virtual machines; μC/OS-II; Chimera; Echidna; Motorola M-CORE processor; NOS; RTOS; SimBed embedded systems; cooperative systems; embedded real-time operating systems; energy consumption; energy modelling; execution-driven simulation testbed; microcontroller architectural model; multirate task scheduler; power modelling; preemptive systems; task invocations disrupt timing; Embedded system; Energy consumption; Job shop scheduling; Microcontrollers; Operating systems; Power measurement; Power system modeling; Real time systems; System testing; Timing;
Journal_Title :
Computers, IEEE Transactions on
DOI :
10.1109/TC.2003.1244943