A formal approach to frequent energy adaptations for multimedia applications

Much research has recently been done on adapting architectural resources of general-purpose processors to save energy at the cost of increased execution time. This work examines adaptation control algorithms for such processors running real-time multimedia applications. The best previous algorithms are mostly heuristics-based and ad hoc, requiring an impractically large amount of application-specific tuning and resource-specific tuning. We take a more formal approach that does not require the large tuning effort of previous approaches, and yet obtains average energy savings comparable to the best previous approach. We pose control algorithm design as a constrained optimization problem: what configuration should be used at each point in the program to minimize energy for a targeted performance given that each configuration has a different energy-performance tradeoff at each point? We solve this with the method of Lagrange multipliers, which assumes knowledge of the energy-performance tradeoffs. We develop a technique to estimate these tradeoffs using properties of multimedia applications. Our technique is likely extendible to other application domains. We compare our algorithm to the best previous algorithm for real-time multimedia applications, which is heuristics-based. We demonstrate the practical difficulty of the tuning process for the previous algorithm. Compared to a painstakingly hand-tuned version of that algorithm, our new algorithm provides similar energy savings through a more formal approach that does not need such heroic tuning, making it practical to implement.

[1]  Srilatha Manne,et al.  Power and energy reduction via pipeline balancing , 2001, ISCA 2001.

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

[3]  Christopher J. Hughes,et al.  Joint local and global hardware adaptations for energy , 2002, ASPLOS X.

[4]  Michael C. Huang,et al.  Positional adaptation of processors: application to energy reduction , 2003, ISCA '03.

[5]  Rohit Jain,et al.  Variability in the execution of multimedia applications and implications for architecture , 2001, ISCA 2001.

[6]  Kevin Skadron,et al.  Control-theoretic dynamic frequency and voltage scaling for multimedia workloads , 2002, CASES '02.

[7]  Gürhan Küçük,et al.  Reducing power requirements of instruction scheduling through dynamic allocation of multiple datapath resources , 2001, MICRO.

[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]  David H. Albonesi,et al.  Selective cache ways: on-demand cache resource allocation , 1999, MICRO-32. Proceedings of the 32nd Annual ACM/IEEE International Symposium on Microarchitecture.

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

[11]  Dirk Grunwald,et al.  Using IPC Variation in Workloads with Externally Specified R ates to Reduce Power Consumption , 2000 .

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

[13]  Michael L. Scott,et al.  Integrating adaptive on-chip storage structures for reduced dynamic power , 2002, Proceedings.International Conference on Parallel Architectures and Compilation Techniques.

[14]  Seung-Moon Yoo,et al.  A framework for dynamic energy efficiency and temperature management , 2000, Proceedings 33rd Annual IEEE/ACM International Symposium on Microarchitecture. MICRO-33 2000.

[15]  Douglas L. Jones,et al.  Design and evaluation of a cross-layer adaptation framework for mobile multimedia systems , 2003, IS&T/SPIE Electronic Imaging.

[16]  Christopher J. Hughes,et al.  General-purpose processors for multimedia applications: predictability and energy efficiency , 2003 .

[17]  Dirk Grunwald,et al.  Pipeline gating: speculation control for energy reduction , 1998, ISCA.

[18]  Christopher J. Hughes,et al.  Saving energy with architectural and frequency adaptations for multimedia applications , 2001, Proceedings. 34th ACM/IEEE International Symposium on Microarchitecture. MICRO-34.

[19]  Douglas L. Jones,et al.  Computationally efficient optimal power allocation algorithms for multicarrier communication systems , 2000, IEEE Trans. Commun..

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

[21]  Carla Schlatter Ellis,et al.  Memory controller policies for DRAM power management , 2001, ISLPED '01.

[22]  Yu Bai,et al.  Dynamically Reconfiguring Processor Resources to Reduce Power Consumption in High-Performance Processors , 2000, PACS.

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

[24]  Christopher J. Hughes,et al.  RSIM: Simulating Shared-Memory Multiprocessors with ILP Processors , 2002, Computer.

[25]  Sandhya Dwarkadas,et al.  Characterizing and predicting program behavior and its variability , 2003, 2003 12th International Conference on Parallel Architectures and Compilation Techniques.

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

[27]  David M. Brooks,et al.  An Adaptive Issue Queue for Reduced Power at High Performance , 2000, PACS.

[28]  Brad Calder,et al.  Phase tracking and prediction , 2003, ISCA '03.

[29]  Michael C. Huang,et al.  Positional processor adaptation: application to energy reduction , 2003 .

[30]  Margaret Martonosi,et al.  Dynamically exploiting narrow width operands to improve processor power and performance , 1999, Proceedings Fifth International Symposium on High-Performance Computer Architecture.