Minimizing expected energy consumption in real-time systems through dynamic voltage scaling

Many real-time systems, such as battery-operated embedded devices, are energy constrained. A common problem for these systems is how to reduce energy consumption in the system as much as possible while still meeting the deadlines; a commonly used power management mechanism by these systems is dynamic voltage scaling (DVS). Usually, the workloads executed by these systems are variable and, more often than not, unpredictable. Because of the unpredictability of the workloads, one cannot guarantee to minimize the energy consumption in the system. However, if the variability of the workloads can be captured by the probability distribution of the computational requirement of each task in the system, it is possible to achieve the goal of minimizing the expected energy consumption in the system. In this paper, we investigate DVS schemes that aim at minimizing expected energy consumption for frame-based hard real-time systems. Our investigation considers various DVS strategies (i.e., intra-task DVS, inter-task DVS, and hybrid DVS) and both an ideal system model (i.e., assuming unrestricted continuous frequency, well-defined power-frequency relation, and no speed change overhead) and a realistic system model (i.e., the processor provides a set of discrete speeds, no assumption is made on power-frequency relation, and speed change overhead is considered). The highlights of the investigation are two practical DVS schemes: Practical PACE (PPACE) for a single task and Practical Inter-Task DVS (PITDVS2) for general frame-based systems. Evaluation results show that our proposed schemes outperform and achieve significant energy savings over existing schemes.

[1]  Gang Quan,et al.  A unified approach to variable voltage scheduling for nonideal DVS processors , 2004, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[2]  Ozalp Babaoglu,et al.  ACM Transactions on Computer Systems , 2007 .

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

[4]  Klara Nahrstedt,et al.  Energy-efficient soft real-time CPU scheduling for mobile multimedia systems , 2003, SOSP '03.

[5]  Rami G. Melhem,et al.  Dynamic and aggressive scheduling techniques for power-aware real-time systems , 2001, Proceedings 22nd IEEE Real-Time Systems Symposium (RTSS 2001) (Cat. No.01PR1420).

[6]  Ragunathan Rajkumar,et al.  Critical power slope: understanding the runtime effects of frequency scaling , 2002, ICS '02.

[7]  Manish Gupta,et al.  Power-Aware Microarchitecture: Design and Modeling Challenges for Next-Generation Microprocessors , 2000, IEEE Micro.

[8]  Clifford Stein,et al.  Introduction to Algorithms, 2nd edition. , 2001 .

[9]  Ronald L. Rivest,et al.  Introduction to Algorithms , 1990 .

[10]  Margaret Martonosi,et al.  Power prediction for Intel XScale/spl reg/ processors using performance monitoring unit events , 2005, ISLPED '05. Proceedings of the 2005 International Symposium on Low Power Electronics and Design, 2005..

[11]  Flavius Gruian On energy reduction in hard real-time systems containing tasks with stochastic execution times , 2001 .

[12]  Krzysztof Kuchcinski,et al.  Uncertainty-based scheduling: energy-efficient ordering for tasks with variable execution time , 2003, ISLPED '03.

[13]  MelhemRami,et al.  Minimizing expected energy consumption in real-time systems through dynamic voltage scaling , 2007 .

[14]  Alan Jay Smith,et al.  Operating System Modifications for Task-Based Speed and Voltage , 2003, MobiSys '03.

[15]  S. Lang Calculus of Several Variables , 1973 .

[16]  Rami G. Melhem,et al.  Minimizing expected energy in real-time embedded systems , 2005, EMSOFT.

[17]  Michael Ian Shamos,et al.  Computational geometry: an introduction , 1985 .

[18]  Gilberto Contreras,et al.  Power prediction for Intel XScale processors using performance monitoring unit events , 2005 .

[19]  Taewhan Kim,et al.  Optimal integration of inter-task and intra-task dynamic voltage scaling techniques for hard real-time applications , 2005, ICCAD-2005. IEEE/ACM International Conference on Computer-Aided Design, 2005..

[20]  Theodore P. Baker,et al.  The cyclic executive model and Ada , 2006, Real-Time Systems.

[21]  Hiroto Yasuura,et al.  Voltage scheduling problem for dynamically variable voltage processors , 1998, Proceedings. 1998 International Symposium on Low Power Electronics and Design (IEEE Cat. No.98TH8379).

[22]  Rami G. Melhem,et al.  Collaborative operating system and compiler power management for real-time applications , 2003, The 9th IEEE Real-Time and Embedded Technology and Applications Symposium, 2003. Proceedings..

[23]  Alan Jay Smith,et al.  PACE: a new approach to dynamic voltage scaling , 2004, IEEE Transactions on Computers.

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

[25]  Sharad Malik,et al.  Compile-time dynamic voltage scaling settings: opportunities and limits , 2003, PLDI '03.

[26]  Kang G. Shin,et al.  Real-time dynamic voltage scaling for low-power embedded operating systems , 2001, SOSP.

[27]  Rami G. Melhem,et al.  Energy-efficient policies for request-driven soft real-time systems , 2004, Proceedings. 16th Euromicro Conference on Real-Time Systems, 2004. ECRTS 2004..

[28]  Miodrag Potkonjak,et al.  Synthesis techniques for low-power hard real-time systems on variable voltage processors , 1998, Proceedings 19th IEEE Real-Time Systems Symposium (Cat. No.98CB36279).

[29]  F. Frances Yao,et al.  A scheduling model for reduced CPU energy , 1995, Proceedings of IEEE 36th Annual Foundations of Computer Science.

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

[31]  Krithi Ramamritham,et al.  Scheduling algorithms and operating systems support for real-time systems , 1994, Proc. IEEE.

[32]  Thomas D. Burd,et al.  Design issues for Dynamic Voltage Scaling , 2000, ISLPED'00: Proceedings of the 2000 International Symposium on Low Power Electronics and Design (Cat. No.00TH8514).

[33]  Alan Jay Smith,et al.  Operating systems techniques for reducing processor energy consumption , 2001 .

[34]  Frank Mueller,et al.  Feedback EDF scheduling exploiting dynamic voltage scaling , 2004, Proceedings. RTAS 2004. 10th IEEE Real-Time and Embedded Technology and Applications Symposium, 2004..

[35]  Todd M. Austin,et al.  SimpleScalar: An Infrastructure for Computer System Modeling , 2002, Computer.

[36]  Kevin Skadron,et al.  Optimal procrastinating voltage scheduling for hard real-time systems , 2005, Proceedings. 42nd Design Automation Conference, 2005..

[37]  Dongkun Shin,et al.  Intra-Task Voltage Scheduling for Low-Energy, Hard Real-Time Applications , 2001, IEEE Des. Test Comput..

[38]  Anantha Chandrakasan,et al.  Dynamic voltage scheduling using adaptive filtering of workload traces , 2001, VLSI Design 2001. Fourteenth International Conference on VLSI Design.

[39]  A Mahalanobis,et al.  Distance-classifier correlation filters for multiclass target recognition. , 1996, Applied optics.

[40]  Ragunathan Rajkumar,et al.  Practical voltage-scaling for fixed-priority RT-systems , 2003, The 9th IEEE Real-Time and Embedded Technology and Applications Symposium, 2003. Proceedings..

[41]  Ulrich Kremer,et al.  The design, implementation, and evaluation of a compiler algorithm for CPU energy reduction , 2003, PLDI '03.

[42]  Sang Lyul Min,et al.  Performance comparison of dynamic voltage scaling algorithms for hard real-time systems , 2002, Proceedings. Eighth IEEE Real-Time and Embedded Technology and Applications Symposium.

[43]  Rami G. Melhem,et al.  Practical PACE for embedded systems , 2004, EMSOFT '04.

[44]  Neil Weste,et al.  Principles of CMOS VLSI Design , 1985 .

[45]  Rolf Ernst,et al.  Embedded program timing analysis based on path clustering and architecture classification , 1997, 1997 Proceedings of IEEE International Conference on Computer Aided Design (ICCAD).

[46]  E. J. McShane Jensen's inequality , 1937 .

[47]  Rolf Ernst,et al.  Embedded program timing analysis based on path clustering and architecture classification , 1997, ICCAD 1997.