Application-Level Speculative Processor Power Management

In this paper we perform application-level energy minimization through the control of the CPU power states during the program execution. To attain this goal we model the program and the underlying architecture with Markov Decision Process (MDP) models. The MDP model augments the program CFG with probabilities of how likely is to take the conditional branches and costs expressing how long and how much energy it takes to execute the various regions of code. We learn the models through program profiling, obtain offline an optimal solution, apply the solution to the existing program and then run the program to validate that the theoretical results are met. Using this method we are able to minimize the average total energy of the program, while keeping the average execution time below a given threshold. In certain cases we are also able to obtain better program Energy Delay Product (EDP) when following the standard optimal MDP policy than with other standard assignments of CPU power states. For example, the program EDP of the optimal solution can be 30% less than the EDP for the maximum performance power state. We also develop some new algorithms to tackle the problem of non-negligible CPU transition latencies with MDP optimization. This is but an instance of quantitative analysis and optimization. We can apply this method as well for the analysis and control of the Quality of Results (QoR) or the memory used by the software.

[1]  Alexandru E. Susu Stochastic Optimization for Environmentally Powered WSNs using MDP Models with Multi-epoch Actions , 2010, ICINCO.

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

[3]  E. Altman Constrained Markov Decision Processes , 1999 .

[4]  Martin L. Puterman,et al.  Markov Decision Processes: Discrete Stochastic Dynamic Programming , 1994 .

[5]  Michael A. Harrison,et al.  Accurate static estimators for program optimization , 1994, PLDI '94.

[6]  Lieven Eeckhout,et al.  Control flow modeling in statistical simulation for accurate and efficient processor design studies , 2004, Proceedings. 31st Annual International Symposium on Computer Architecture, 2004..

[7]  Marta Z. Kwiatkowska On Quantitative Software Verification , 2009, SPIN.

[8]  Lijun Zhang,et al.  Probabilistic Reachability for Parametric Markov Models , 2009, SPIN.

[9]  John M. Wilson,et al.  Introduction to Stochastic Programming , 1998, J. Oper. Res. Soc..

[10]  Simon Goldsmith,et al.  Measuring empirical computational complexity , 2007, ESEC-FSE '07.

[11]  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).

[12]  Edmund H. Durfee,et al.  Stationary Deterministic Policies for Constrained MDPs with Multiple Rewards, Costs, and Discount Factors , 2005, IJCAI.

[13]  David C. Snowdon,et al.  Integrating real time and power management in a real system , 2008 .

[14]  Gul A. Agha,et al.  A Markov Reward Model for Software Reliability , 2007, 2007 IEEE International Parallel and Distributed Processing Symposium.

[15]  Michael S. Hsiao,et al.  Compiler-directed dynamic voltage/frequency scheduling for energy reduction in microprocessors , 2001, ISLPED '01.

[16]  Craig Boutilier,et al.  Expressive Banner Ad Auctions and Model-Based Online Optimization for Clearing , 2008, AAAI.

[17]  Warren B. Powell,et al.  Approximate Dynamic Programming: Solving the Curses of Dimensionality (Wiley Series in Probability and Statistics) , 2007 .

[18]  R. Govindarajan,et al.  Compiler-Directed Dynamic Voltage Scaling Using Program Phases , 2007, HiPC.

[19]  Margaret Martonosi,et al.  Live, Runtime Phase Monitoring and Prediction on Real Systems with Application to Dynamic Power Management , 2006, 2006 39th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO'06).

[20]  Sanjit A. Seshia,et al.  Game-theoretic timing analysis , 2008, ICCAD 2008.

[21]  Sumit Gulwani,et al.  SPEED: precise and efficient static estimation of program computational complexity , 2009, POPL '09.

[22]  C. V. Ramamoorthy,et al.  Analysis of computational systems: Discrete Markov analysis of computer programs , 1965, ACM '65.

[23]  Margaret Martonosi,et al.  The XTREM power and performance simulator for the Intel XScale core: Design and experiences , 2007, TECS.

[24]  James R. Goodman,et al.  Hardware techniques to improve the performance of the processor/memory interface , 1998 .

[25]  Alon Naveh,et al.  Power and Thermal Management in the Intel Core Duo Processor , 2006 .

[26]  Martin C. Rinard Probabilistic accuracy bounds for fault-tolerant computations that discard tasks , 2006, ICS '06.

[27]  Craig Boutilier,et al.  Decision-Theoretic Planning: Structural Assumptions and Computational Leverage , 1999, J. Artif. Intell. Res..

[28]  Xianfeng Li,et al.  Chronos: A timing analyzer for embedded software , 2007, Sci. Comput. Program..

[29]  Gabriel H. Loh,et al.  Zesto: A cycle-level simulator for highly detailed microarchitecture exploration , 2009, 2009 IEEE International Symposium on Performance Analysis of Systems and Software.