Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/581630.581663acmconferencesArticle/Chapter ViewAbstractPublication PagesesweekConference Proceedingsconference-collections
Article

On achieving balanced power consumption in software pipelined loops

Published: 08 October 2002 Publication History

Abstract

While a significant body of work in compilers has been devoted to reducing energy consumption in embedded systems, the role of a compiler in harnessing the power variation has not been widely explored. Since sharp power variations across time steps cause power supply noises and degrade reliability of functional blocks, power variation is a design constraint in embedded systems. With the advent of high performance embedded systems and extensive deployment of fine grain clock-gating, reducing variations in power is becoming increasingly important.This paper studies how compilation techniques, more specifically instruction scheduling, can ameliorate variations in power due to functional units during program execution. By extending our previous work on rate-optimal software pipelining, this paper formulates the problem of constructing a performance-optimal schedule that minimizes power variations as an integer linear programming (ILP) problem. The formulation can be solved using an ILP solver. We applied our approach on <tt>SPEC NAS</tt> benchmarks to construct software pipelined schedules that have minimum power variations. The benchmarks are executed on the Wattch power simulator. In comparison to the original (power-unaware) scheduler implemented in the MIPSpro compiler, our power-aware approach generates schedules which have significantly lower power variations while maintaining the same performance. Such schedules have the potential to reduce hardware cost on power delivery in designing embedded systems.

References

[1]
D. H. Albonesi. Selective cache ways: On-demand cache resource allocation. In Proc. of the 32nd Ann. Intl. Symp. on Microarchitecture, pages 248--259, Haifa, Israel, Nov. 16--18, 1999.]]
[2]
R. Allen and K. Kennedy. Automatic translation of FORTRAN programs to vector form. ACM Trans. on Programming Languages and Systems, 9(4):491--542, Oct. 1987.]]
[3]
E. R. Altman, R. Govindarajan, and G. R. Gao. Scheduling and mapping: Software pipelining in the presence of structural hazards. In Proc. of the ACM SIGPLAN '95 Conf. on Programming Language Design and Implementation, pages 139--150, La Jolla, Calif., Jun. 18--21, 1995.]]
[4]
D. Brooks and M. Martonosi. Dynamic thermal management for high-performance microprocessors. In Proc. of the Seventh Intl. Symp. on High Performance Computer Architecture, Mexico, Jan 2001.]]
[5]
D. Brooks, V. Tiwari, and M. Martonosi. Wattch: A framework for architectural-level power analysis and optimizations. In Proc. of the 27th Ann. Intl. Symp. on Computer Architecture, pages 83--94, Vancouver, Brit. Col., Jun. 12--14, 2000.]]
[6]
D. Burger and T. Austin. The SimpleScalar tool set, version 2.0. Technical Report 1342, Computer Sciences Department, Univ. of Wisconsin, Madison, WI, 1997.]]
[7]
J. Casmira and D. Grunwald. Dynamic instruction scheduling slack. In Proc. of the 2000 KoolChips workshop, Monterey, California, Dec. 2000.]]
[8]
J. C. Dehnert and R. A. Towle. Compiling for Cydra 5. J. of Supercomputing, 7:181--227, May 1993.]]
[9]
D. Folegnani and A. González. Energy-effective issue logic. In Proc. of the 28th Ann. Intl. Symp. on Computer Architecture, pages 230--239, Göteborg, Sweden, Jun. 30--Jul. 4, 2001.]]
[10]
R. Gonzalez and M. Horowitz. Energy dissipation in general purpose microprocessors. IEEE Journal of Solid-State Circuits, 31(9), 1996.]]
[11]
M. K. Gowan, L. L. Biro, and D. B. Jackson. Power considerations in the design of the Alpha 21264 microprocessor. In Proc. of the 35th Design Automation Conf., San Francisco, CA, June 1998.]]
[12]
E. Grochowski, D. Ayers, and V. Tiwari. Microarchitectural simulation and control of di/dt induced power supply voltage variation. In Proc. of the Eighth Intl. Symp. on High-Performance Computer Architecture, Cambridge, MA, Feb 2002.]]
[13]
S. H. Gunther, F. Binns, D. M. Carmean, and J. C. Hall. Managing the impact of increasing microprocessor power consumption. Intel Technology Journal, Feb 2001.]]
[14]
C.-H. Hsu, U. Kremer, and M. Hsiao. Compiler-directed dynamic frequency and voltage scheduling. In Workshop on Power-Aware Computer Systems (PACS'00), Cambridge, MA, Nov 2000.]]
[15]
R. A. Huff. Lifetime-sensitive modulo scheduling. In Proc. of the ACM SIGPLAN '93 Conf. on Programming Language Design and Implementation, pages 258--267, Albuquerque, N. Mex., Jun. 23--25, 1993.]]
[16]
ILOG. CPLEX mixed integer solver. http://www.cplex.com.]]
[17]
Intel. Itanium Processor Microarchitecture Reference for Software Optimization, Aug. 2000.]]
[18]
J.Seng, E.Tune, and D.Tullsen. Reducing power with dynamic critical path information. In Proc. of the 34th Annual Intl. Symp. on Micro-architecture, Austin, TX, Dec 2001.]]
[19]
M. T. Kandemir, N. Vijaykrishnan, M. J. Irwin, and W. Ye. Influence of compiler optimizations on system power. In Proc. of the 37th Conf. on Design Automation (DAC-00), pages 304--307, NY, Jun. 5--9 2000.]]
[20]
M. Lam. Software pipelining: An effective scheduling technique for VLIW machines. In Proc. of the SIGPLAN '88 Conf. on Programming Language Design and Implementation, pages 318--328, Atlanta, Geor., Jun. 22--24, 1988.]]
[21]
C. Lee, J. K. Lee, and T. Hwang. Compiler optimization on instruction scheduling for low power. In Proc. of 13th Intl. Symp. on System Synthesis, Madrid, Spain, Sept 20-22 2000.]]
[22]
S. Leibson. Xscale (strongarm-2) muscles in. Microprocessor Report, Sept 2000.]]
[23]
T. Li and C. Ding. Instruction balance and its relation to program energy consumption. In Proc. of Intl. Workshop on Languages and Compilers for Parallel Computing, Kentucky, Aug 2001.]]
[24]
S. Mantripragada, S. Jain, and J. Dehnert. A new framework for integrated global local scheduling. In Proc. of the 1998 Intl. Conf. on Parallel Architectures and Compilation Techniques, pages 167--174, Paris, Oct. 12--18, 1998.]]
[25]
M.Kandemir, N. Vijaykrishnan, M. J. Irwin, W. Ye, and I. Demirkiran. Register relabeling: A post-compilation technique for energy reduction. In Workshop on Compilers and Operating Systems for Low Power 2000 (COLP'00), 2000.]]
[26]
M.T.-C.Lee, V.Tiwari, S.Malik, and M.Fujita. Power analysis and minimization techniques for embedded DSP software. IEEE Trans on Very Large Scale Integration(VLSI) Systems, 5(1), Mar 1997.]]
[27]
M. D. Pant, P. Pant, D. S. Wills, and V. Tiwari. An architectural solution for the inductive noise problem due to clock-gating. In 1999 Intl. Symp. on Low Power Electronics and Design Proceedings, San Diego, CA, 1999.]]
[28]
R. Pyreddy and G. Tyson. Evaluating design tradeoffs in dual speed pipelines. In Workshop on Complexity-Effective Design, Goteborg, Sweden, Jun 30 2001.]]
[29]
B. R. Rau. Iterative modulo scheduling: An algorithm for software pipelining loops. In Proc. of the 27th Ann. Intl. Symp. on Microarchitecture, pages 63--74, San Jose, Calif., Nov. 30--Dec.2, 1994.]]
[30]
J. Ruttenberg, G. R. Gao, A. Stouchinin, and W. Lichtenstein. Software pipelining showdown: Optimal vs. heuristic methods in a production compiler. In Proc. of the ACM SIGPLAN '96 Conf. on Programming Language Design and Implementation, pages 1--11, Philadelphia, May 22--24, 1996.]]
[31]
T. Simunic, L. Benini, and G. D. Micheli. Energy-efficient design of battery-powered embedded systems. IEEE Transactions on Very Large Scale Integration(VLSI) Systems, 9(1), Feb 2001.]]
[32]
V. Tiwari, D. Singh, S. Rajgopal, G. Mehta, R. Patel, and F. Baez. Reducing power in high performance microprocessors. In Proc. of the 1998 Conf. on Design Automation (DAC-98), pages 732--737, Los Alamitos, CA, Jun. 15--19 1998.]]
[33]
M. C. Toburen. Power analysis and instruction scheduling for reduced $di/dt$ in the execution core of high-performance microprocessors. Master's thesis, North Carolina State University, 1999.]]
[34]
W. Zhang, N.Vijaykrishnan, M.Kandemir, M.Irwin, D.Duarte, and Y. Tsai. Exploiting VLIW schedule slacks for dynamic and leakage energy reduction. In Proc. of the 34th Annual Intl. Symp. on Microarchitecture, Austin, TX, Dec. 2001.]]

Cited By

View all
  • (2020)CODIR: Towards an MLIR Codelet Model Dialect2020 IEEE/ACM Fourth Annual Workshop on Emerging Parallel and Distributed Runtime Systems and Middleware (IPDRM)10.1109/IPDRM51949.2020.00009(33-40)Online publication date: Nov-2020
  • (2015)The Design and Experiments of A SID-Based Power-Aware Simulator for Embedded Multicore SystemsACM Transactions on Design Automation of Electronic Systems10.1145/269983420:2(1-27)Online publication date: 2-Mar-2015
  • (2015)Compilers for Low Power with Design Patterns on Embedded Multicore SystemsJournal of Signal Processing Systems10.1007/s11265-014-0917-980:3(277-293)Online publication date: 1-Sep-2015
  • Show More Cited By

Index Terms

  1. On achieving balanced power consumption in software pipelined loops

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    CASES '02: Proceedings of the 2002 international conference on Compilers, architecture, and synthesis for embedded systems
    October 2002
    324 pages
    ISBN:1581135750
    DOI:10.1145/581630
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 08 October 2002

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. instruction level parallelism
    2. power-aware compilation
    3. software pipelining

    Qualifiers

    • Article

    Acceptance Rates

    Overall Acceptance Rate 52 of 230 submissions, 23%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)4
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 13 Nov 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2020)CODIR: Towards an MLIR Codelet Model Dialect2020 IEEE/ACM Fourth Annual Workshop on Emerging Parallel and Distributed Runtime Systems and Middleware (IPDRM)10.1109/IPDRM51949.2020.00009(33-40)Online publication date: Nov-2020
    • (2015)The Design and Experiments of A SID-Based Power-Aware Simulator for Embedded Multicore SystemsACM Transactions on Design Automation of Electronic Systems10.1145/269983420:2(1-27)Online publication date: 2-Mar-2015
    • (2015)Compilers for Low Power with Design Patterns on Embedded Multicore SystemsJournal of Signal Processing Systems10.1007/s11265-014-0917-980:3(277-293)Online publication date: 1-Sep-2015
    • (2015)Thermal-aware code transformation across functional unitsConcurrency and Computation: Practice & Experience10.1002/cpe.325327:3(594-609)Online publication date: 10-Mar-2015
    • (2013)Compilers for Low Power with Design Patterns on Embedded Multicore SystemsProceedings of the 2013 42nd International Conference on Parallel Processing10.1109/ICPP.2013.125(1052-1060)Online publication date: 1-Oct-2013
    • (2012)Studying the impact of application-level optimizations on the power consumption of multi-core architecturesProceedings of the 9th conference on Computing Frontiers10.1145/2212908.2212927(123-132)Online publication date: 15-May-2012
    • (2011)Automated empirical tuning of scientific codes for performance and power consumptionProceedings of the 6th International Conference on High Performance and Embedded Architectures and Compilers10.1145/1944862.1944880(107-116)Online publication date: 24-Jan-2011
    • (2011)Thermal-Aware Code Transformation across Functional UnitsProceedings of the 2011 IFIP 9th International Conference on Embedded and Ubiquitous Computing10.1109/EUC.2011.70(300-305)Online publication date: 24-Oct-2011
    • (2010)Power aware SID-based simulator for embedded multicore DSP subsystemsProceedings of the eighth IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthesis10.1145/1878961.1878981(95-104)Online publication date: 24-Oct-2010
    • (2010)Integrated energy-aware cyclic and acyclic scheduling for clustered VLIW processors2010 IEEE International Symposium on Parallel & Distributed Processing, Workshops and Phd Forum (IPDPSW)10.1109/IPDPSW.2010.5470906(1-8)Online publication date: Apr-2010
    • Show More Cited By

    View Options

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media