The Performance and Energy Consumption of Embedded Real-Time Operating Systems

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: /spl mu/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]  John L. Hennessy,et al.  Hardware/Software Codesign of Processors: Concepts and Examples , 1996 .

[2]  Sharad Malik,et al.  Power analysis of embedded software: a first step towards software power minimization , 1994, IEEE Trans. Very Large Scale Integr. Syst..

[3]  B StewartDavid,et al.  Design of Dynamically Reconfigurable Real-Time Software Using Port-Based Objects , 1997 .

[4]  Puneet Gupta,et al.  Hardware-software codesign , 2002 .

[5]  Miodrag Potkonjak,et al.  MediaBench: a tool for evaluating and synthesizing multimedia and communications systems , 1997, Proceedings of 30th Annual International Symposium on Microarchitecture.

[6]  Mike Tien-Chien Lee,et al.  Power analysis of a 32-bit embedded microcontroller , 1995, Proceedings of ASP-DAC'95/CHDL'95/VLSI'95 with EDA Technofair.

[7]  JacobBruce,et al.  The Performance and Energy Consumption of Embedded Real-Time Operating Systems , 2003 .

[8]  Margaret Martonosi,et al.  Wattch: a framework for architectural-level power analysis and optimizations , 2000, Proceedings of 27th International Symposium on Computer Architecture (IEEE Cat. No.RS00201).

[9]  Bruce Jacob,et al.  The performance and energy consumption of three embedded real-time operating systems , 2001, CASES '01.

[10]  Miodrag Potkonjak,et al.  Real-time operating systems for embedded computing , 1997, Proceedings International Conference on Computer Design VLSI in Computers and Processors.

[11]  Maurice J. Bach The Design of the UNIX Operating System , 1986 .

[12]  K. Yelick,et al.  The Energy Efficiency Of Iram Architectures , 1997, Conference Proceedings. The 24th Annual International Symposium on Computer Architecture.

[13]  Christopher M. Collins,et al.  An Evaluation of Embedded System Behavior Using Full-System Software Emulation , 2000 .

[14]  Pradeep K. Khosla,et al.  The Chimera II real-time operating system for advanced sensor-based control applications , 1992, IEEE Trans. Syst. Man Cybern..

[15]  Mark C. Johnson,et al.  Software design for low power , 1997 .

[16]  Ahmed Amine Jerraya,et al.  System-on-a-Chip Cosimulation and Compilation , 1997, IEEE Des. Test Comput..

[17]  M. Horowitz,et al.  Low-power digital design , 1994, Proceedings of 1994 IEEE Symposium on Low Power Electronics.

[18]  Jean J. Labrosse,et al.  MicroC/OS-II: The Real Time Kernel , 1998 .

[19]  Carla Schlatter Ellis,et al.  The case for higher-level power management , 1999, Proceedings of the Seventh Workshop on Hot Topics in Operating Systems.

[20]  John Arends,et al.  Designing the M/spl middot/CORE/sup TM/ M3 CPU architecture , 1999, Proceedings 1999 IEEE International Conference on Computer Design: VLSI in Computers and Processors (Cat. No.99CB37040).

[21]  Pradeep K. Khosla,et al.  Design of Dynamically Reconfigurable Real-Time Software Using Port-Based Objects , 1997, IEEE Trans. Software Eng..

[22]  Luca Benini,et al.  System-level power optimization: techniques and tools , 1999, Proceedings. 1999 International Symposium on Low Power Electronics and Design (Cat. No.99TH8477).

[23]  Mahadev Satyanarayanan,et al.  PowerScope: a tool for profiling the energy usage of mobile applications , 1999, Proceedings WMCSA'99. Second IEEE Workshop on Mobile Computing Systems and Applications.

[24]  Amin Vahdat,et al.  Every joule is precious: the case for revisiting operating system design for energy efficiency , 2000, ACM SIGOPS European Workshop.

[25]  Jeffry T. Russell,et al.  Software power estimation and optimization for high performance, 32-bit embedded processors , 1998, Proceedings International Conference on Computer Design. VLSI in Computers and Processors (Cat. No.98CB36273).

[26]  William H. Mangione-Smith,et al.  The filter cache: an energy efficient memory structure , 1997, Proceedings of 30th Annual International Symposium on Microarchitecture.

[27]  D. Sciuto,et al.  System-level performance estimation strategy for sw and hw , 1998, Proceedings International Conference on Computer Design. VLSI in Computers and Processors (Cat. No.98CB36273).

[28]  Niraj K. Jha,et al.  Power analysis of embedded operating systems , 2000, Proceedings 37th Design Automation Conference.

[29]  Michael John Sebastian Smith,et al.  Application-specific integrated circuits , 1997 .

[30]  Stylianos Perissakis,et al.  The Energy Efficiency Of Iram Architectures , 1997, Conference Proceedings. The 24th Annual International Symposium on Computer Architecture.

[31]  Mark Horowitz,et al.  Energy dissipation in general purpose microprocessors , 1996, IEEE J. Solid State Circuits.

[32]  Mahmut T. Kandemir,et al.  Energy-driven integrated hardware-software optimizations using SimplePower , 2000, Proceedings of 27th International Symposium on Computer Architecture (IEEE Cat. No.RS00201).

[33]  Stuart R. Ball,et al.  Embedded Microprocessor Systems: Real World Design , 1996 .

[34]  Marco Platzner,et al.  Hardware-Software Codesign , 1997, IEEE Des. Test Comput..