This Article 
 Bibliographic References 
 Add to: 
The Performance and Energy Consumption of Embedded Real-Time Operating Systems
November 2003 (vol. 52 no. 11)
pp. 1454-1469

Abstract—This paper presents the modeling 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.

[1] A. Allara, C. Brandolese, W. Fornaciari, F. Salice, and D. Sciuto, System-Level Performance Estimation Strategy for SW and HW Proc. Int'l Conf. Computer Design, Oct. 1998.
[2] M.J. Bach, The Design of the UNIX Operating System. Prentice Hall, 1990.
[3] S.R. Ball, Embedded Microprocessor Systems: Real World Design. Boston: Newnes, Butterworth Heinemann, 1996.
[4] K. Baynes, C. Collins, E. Fiterman, B. Ganesh, P. Kohout, C. Smit, T. Zhang, and B. Jacob, The Performance and Energy Consumption of Three Embedded Real-Time Operating Systems Proc. Fourth Workshop Compiler and Architecture Support for Embedded Systems (CASES '01), pp. 203-210, Nov. 2001.
[5] K. Baynes, C. Collins, E. Fiterman, C. Smit, T. Zhang, and B. Jacob, The Performance and Energy Consumption of Embedded Real-Time Operating Systems Technical Report UMD-SCA-TR-2000-04, Univ. of Maryland Systems&Computer Architecture Group, Nov. 2000.
[6] L. Benini and G.D. Micheli, System-Level Power Optimization: Techniques and Tools Proc. Int'l Symp. Low Power Electronics and Design, pp. 288-293, Aug. 1998.
[7] D. Brooks, V. Tiwari, and M. Martonosi, Wattch: A Framework for Architectural-Level Power Analysis and Optimizations Proc. 27th Ann. Int'l Symp. Computer Architecture, pp. 83-94, June 2000.
[8] C.M. Collins, An Evaluation of Embedded System Behavior Using Full-System Software Emulation Master's thesis, Univ. of Maryland at College Park, May 2000.
[9] Design&Test Roundtable, Hardware-Software Codesign IEEE Design and Test of Computers, vol. 14, no. 1, pp. 75-83, Jan.-Mar. 1997.
[10] R.P. Dick, G. Lakshminarayana, A. Raghunathan, and N.K. Jha, Power Analysis of Embedded Operating Systems Proc. 37th Design Automation Conf., pp. 312- 315, June 2000.
[11] C. Ellis, “The Case for Higher Level Power Management,” Proc. IEEE Hot Topics in Operating Systems (HotOS), Mar. 1999.
[12] Embedded Research Solutions, Embedded Zone Publications, http:/, 2000.
[13] J. Flinn and M. Satyanarayanan, Powerscope: A Tool for Profiling the Energy Usage of Mobile Applications Proc. Workshop Mobile Computing Systems and Applications, pp. 2-10, Feb. 1999.
[14] R. Fromm, S. Perissakis, N. Cardwell, C. Kozyrakis, B. McGaughy, D. Patterson, T. Anderson, and K. Yelick, The Energy Efficiency of IRAM Architectures Proc. 24th Ann. Int'l Symp. Computer Architecture (ISCA '97), pp. 327-337, June 1997.
[15] J. Ganssle, Conspiracy Theory The Embedded Muse, no. 46, 3 Mar. 2000.
[16] J. Ganssle, Conspiracy Theory, Take 2 The Embedded Muse, no. 47, 22 Mar. 2000.
[17] J.G. Ganssle, An OS in a Can Embedded Systems Programming, Jan. 1994.
[18] J.G. Ganssle, The Challenges of Real-Time Programming Embedded Systems Programming, vol. 11, no. 7, pp. 20-26, July 1997.
[19] R. Gonzalez and M. Horowitz, Energy Dissipation in General Purpose Microprocessors IEEE J. Solid-State Circuits, vol. 31, no. 9, Sept. 1996.
[20] J. Kin, G.M. Gupta, and W.H. Mangione-Smith, “The Filter Cache: An Energy Efficient Memory Structure,” Proc. 30th Ann. Int'l Symp. Microarchitecture, pp. 184-193, 1997.
[21] J. Hennessy and M. Heinrich, Hardware/Software Codesign of Processors: Concepts and Examples Hardware/Software Co-Design, G. De Micheli and M. Sami, eds., pp. 29-44, Kluwer Academic, 1996.
[22] M. Horowitz, T. Indermaur, and R. Gonzalalez, Low-Power Digital Design Proc. 1994 Symp. Low Power Electronics, pp. 8-11, Oct. 1994.
[23] D. Kalinsky, A Survey of Task Schedulers Proc. Embedded Systems Conf., Sept. 1999.
[24] J.J. Labrosse, MicroC/OS-II: The Real-Time Kernel. Lawrence, Kans.: R&D Books (Miller Freeman, Inc.), 1999.
[25] C. Lee, M. Potkonjak, and W.H. Mangione-Smith, MediaBench: A Tool For Evaluating and Synthesizing Multimedia and Communications Systems Proc. 30th Ann. IEEE/ACM Int'l Symp. Microarchitecture, pp. 330-335, 1997.
[26] Y. Li, M. Potkonjak, and W. Wolf, Real-Time Operating Systems for Embedded Computing Proc. Int'l Conf. Computer Design, Oct. 1997.
[27] C. Liema, F. Nacabal, C. Valderrama, P. Paulin, and A. Jerraya, System-on-a-Chip Cosimulation and Compilation IEEE Design and Test of Computers, vol. 14, no. 2, pp. 16-25, Apr.-June 1997.
[28] J.W.S. Liu, Real-Time Systems. Upper Saddle River N.J.: Prentice Hall, 2000.
[29] Mcore, M-CORE Reference Manual. Denver, Colo.: Motorola Literature Distribution, 1997.
[30] Mcore, M-CORE MMC2001 Reference Manual. Denver, Colo.: Motorola Literature Distribution, 1998.
[31] K. Roy and M.C. Johnson, “Software Design for Low Power,” NATO Advanced Study Inst. on Low Power Design in Deep Sub-Micron Electronics, Aug. 1996.
[32] J. Russell and M. Jacome, Software Power Estimation and Optimization for High Performance, 32-Bit Embedded Processors Proc. Int'l Conf. Computer Design, Oct. 1998.
[33] J. Scott, L. Lee, A. Chin, J. Arends, and B. Moyer, Designing the M.CORE M3 CPU Architecture Proc. Int'l Conf. Computer Design, Oct. 1999.
[34] SimOS, SimOS: The Complete Machine Simulator, Stanford Univ.,http:/, 1998.
[35] M.J. Smith, Application-Specific Integrated Circuits. Reading Mass.: Addison-Wesley, 1997.
[36] K. Knight and S. Luk, "Building a Large-Scale Knowledge Base for Machine Translation," Proc. Am. Assoc. Artificial Intelligence, AAAI Press, Menlo Park, Calif., 1994.
[37] D.B. Stewart, R.A. Volpe, and P.K. Khosla, Design of Dynamically Reconfigurable Real-Time Software Using Port-Based Objects IEEE Trans. Software Eng., vol. 23, no. 12, pp. 759-776, Dec. 1997.
[38] V. Tiwari and M.T.-C. Lee, Power Analysis of a 32-bit Embedded Microcontroller VLSI Design J., vol. 7, no. 3, 1998.
[39] V. Tiwari, S. Malik, and A. Wolfe, Power Analysis of Embedded Software: A First Step towards Software Power Minimization IEEE Trans. VLSI Systems, vol. 2, no. 4, pp. 1277-1284, Dec. 1994.
[40] J. Turley, M.Core Shrinks Code, Power Budgets Microprocessor Report, vol. 11, no. 14, pp. 12-15, Oct. 1997.
[41] J. Turley, M.Core for the Portable Millenium Microprocessor Report, vol. 12, no. 2, pp. 15-18, Feb. 1998.
[42] A. Vahdat, A. Lebeck, and C. Ellis, Every Joule Is Precious: The Case for Revisiting Operating System Design for Energy Efficiency Proc. SIGOPS European Workshop, Sept. 2000.
[43] N. Vijaykrishnan, M. Kandemir, M. J. Irwin, H. Kim, and W. Ye, “Energy-Driven Integrated Hardware-Software Optimizations Using SimplePower,” Proc. Int'l Symp. Computer Architecture, 2000.
[44] T. Zhang, RTOS Performance and Energy Consumption Analysis Based on an Embedded System Testbed Master's thesis, Univ. of Maryland at College Park, May 2001.

Index Terms:
Embedded systems, real-time operating systems (RTOS), power and energy modeling, performance modeling, Motorola M-CORE, µC/OS-II, Echidna, Chimera.
Kathleen Baynes, Chris Collins, Eric Fiterman, Brinda Ganesh, Paul Kohout, Christine Smit, Tiebing Zhang, Bruce Jacob, "The Performance and Energy Consumption of Embedded Real-Time Operating Systems," IEEE Transactions on Computers, vol. 52, no. 11, pp. 1454-1469, Nov. 2003, doi:10.1109/TC.2003.1244943
Usage of this product signifies your acceptance of the Terms of Use.