Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article
Free access

A compiler optimization paradigm for dynamic energy management

Published: 01 March 2000 Publication History
  • Get Citation Alerts
  • Abstract

    We present a compiler and microarchitecture assisted framework for dynamic energy monitoring by a program. The programs will perform an ealloc (The operating system will support energy allocation through a program level utility ealloc similar to the dynamic memory allocation primitives such as malloc.) before entering every logical algorithm such as sorting, FIR filter, convolution. Based on the actual energy allocated by the OS (return parameter of ealloc), a program will enter one of its many variants each consuming different amount of energy through an eswitch. The compiler needs to monitor energy more frequently, probably as often as once every basic block. The existing instruction level energy models can be used. Assuming reasonably accurate instruction level energy models, the compiler can compute fairly accurate energy value for a basic block. However, the uncertainty of the control flow paths makes it close to impossible for the compiler to maintain the program level energy value. We introduce a new semantics for the branch instructions to get around this problem. A branch instruction in addition to branch condition and target offset also contains two more fields: taken basic block energy, and not taken basic block energy. The microarchitecture is assumed to maintain an energy counter (EC) which is program visible. The branch instruction also modifies the EC by adding to it the energy of the taken or not taken basic block based on branch condition. The EC thus provides an exact model of program energy consumed until that point. An instruction to clear EC (make it zero) will allow the compiler to use EC to track energy used between some two fixed points in the program. The compiler can now insert transformations that are conditional upon EC.

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM SIGARCH Computer Architecture News
    ACM SIGARCH Computer Architecture News  Volume 28, Issue 1
    Special issue on interaction between compilers and computer architectures
    March 2000
    76 pages
    ISSN:0163-5964
    DOI:10.1145/346023
    Issue’s Table of Contents

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 01 March 2000
    Published in SIGARCH Volume 28, Issue 1

    Check for updates

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • 0
      Total Citations
    • 187
      Total Downloads
    • Downloads (Last 12 months)25
    • Downloads (Last 6 weeks)7
    Reflects downloads up to 12 Aug 2024

    Other Metrics

    Citations

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Get Access

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media