Real-time dynamic voltage scaling for low-power embedded operating systems

In recent years, there has been a rapid and wide spread of non-traditional computing platforms, especially mobile and portable computing devices. As applications become increasingly sophisticated and processing power increases, the most serious limitation on these devices is the available battery life. Dynamic Voltage Scaling (DVS) has been a key technique in exploiting the hardware characteristics of processors to reduce energy dissipation by lowering the supply voltage and operating frequency. The DVS algorithms are shown to be able to make dramatic energy savings while providing the necessary peak computation power in general-purpose systems. However, for a large class of applications in embedded real-time systems like cellular phones and camcorders, the variable operating frequency interferes with their deadline guarantee mechanisms, and DVS in this context, despite its growing importance, is largely overlooked/under-developed. To provide real-time guarantees, DVS must consider deadlines and periodicity of real-time tasks, requiring integration with the real-time scheduler. In this paper, we present a class of novel algorithms called real-time DVS (RT-DVS) that modify the OS's real-time scheduler and task management service to provide significant energy savings while maintaining real-time deadline guarantees. We show through simulations and a working prototype implementation that these RT-DVS algorithms closely approach the theoretical lower bound on energy consumption, and can easily reduce energy consumption 20% to 40% in an embedded real-time system.

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

[2]  John P. Lehoczky,et al.  Algorithms for scheduling hard aperiodic tasks in fixed-priority systems using slack stealing , 1994, 1994 Proceedings Real-Time Systems Symposium.

[3]  Hal Wasserman,et al.  Comparing algorithm for dynamic speed-setting of a low-power CPU , 1995, MobiCom '95.

[4]  Robin Kravets,et al.  Power management techniques for mobile communication , 1998, MobiCom '98.

[5]  Joseph Y.-T. Leung,et al.  On the complexity of fixed-priority scheduling of periodic, real-time tasks , 1982, Perform. Evaluation.

[6]  Daniel Moss,et al.  Compiler-assisted dynamic power-aware scheduling for real-time applications , 2000 .

[7]  Alan Jay Smith,et al.  Apple Macintosh's energy consumption , 1998, IEEE Micro.

[8]  Johan A. Pouwelse,et al.  Energy priority scheduling for variable voltage processors , 2001, ISLPED '01.

[9]  Thomas D. Burd,et al.  Voltage scheduling in the IpARM microprocessor system , 2000, ISLPED'00: Proceedings of the 2000 International Symposium on Low Power Electronics and Design (Cat. No.00TH8514).

[10]  Scott Shenker,et al.  Scheduling for reduced CPU energy , 1994, OSDI '94.

[11]  Kang G. Shin,et al.  Emeralds: a small-memory real-time microkernel , 1999, Proceedings Sixth International Conference on Real-Time Computing Systems and Applications. RTCSA'99 (Cat. No.PR00306).

[12]  John P. Lehoczky,et al.  The rate monotonic scheduling algorithm: exact characterization and average case behavior , 1989, [1989] Proceedings. Real-Time Systems Symposium.

[13]  J. Flinn,et al.  Energy-aware adaptation for mobile applications , 1999, SOSP.

[14]  Krisztián Flautner,et al.  Automatic Performance Setting for Dynamic Voltage Scaling , 2001, MobiCom '01.

[15]  Trevor Pering,et al.  Energy Efficient Voltage Scheduling for Real-Time Operating Systems , 1998 .

[16]  Flavius Gruian Hard real-time scheduling for low-energy using stochastic data and DVS processors , 2001, ISLPED '01.

[17]  Thomas D. Burd,et al.  The simulation and evaluation of dynamic voltage scaling algorithms , 1998, Proceedings. 1998 International Symposium on Low Power Electronics and Design (IEEE Cat. No.98TH8379).

[18]  Yann-Hang Lee,et al.  Voltage-clock-scaling adaptive scheduling techniques for low power in hard real-time systems , 2000, Proceedings Sixth IEEE Real-Time Technology and Applications Symposium. RTAS 2000.

[19]  James W. Layland,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[20]  Trevor Mudge,et al.  Dynamic voltage scaling on a low-power microprocessor , 2001 .

[21]  Krishnendu Chakrabarty,et al.  Real-time task scheduling for energy-aware embedded systems , 2001, J. Frankl. Inst..

[22]  Thomas D. Burd,et al.  Energy efficient CMOS microprocessor design , 1995, Proceedings of the Twenty-Eighth Annual Hawaii International Conference on System Sciences.

[23]  R. Brodersen,et al.  Voltage Scheduling in the lpARM Microprocessor System , 2000 .

[24]  Jay K. Strosnider,et al.  ENHANCED APERIODIC RESPONSIVENESS IN HARD REAL-TIME ENVIRONMENTS. , 1987, RTSS 1987.

[25]  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.

[26]  Alan Jay Smith,et al.  Improving dynamic voltage scaling algorithms with PACE , 2001, SIGMETRICS '01.