skip to main content
10.1145/1967677.1967700acmconferencesArticle/Chapter ViewAbstractPublication PagescpsweekConference Proceedingsconference-collections
research-article

Global productiveness propagation: a code optimization technique to speculatively prune useless narrow computations

Published:11 April 2011Publication History

ABSTRACT

This paper proposes a unique hardware-software collaborative strategy to remove useless work at 16-bit data-width granularity. The underlying motivation is to design a low power execution platform by exploiting 'narrow' computations. The proposal uses a strictly narrow bit-wide microarchitecture (16-bit integer datapath), which realizes the goal of a low cost, low hardware complexity, low power execution engine. Software dynamically maps the 64-bit computations by translating them into an equivalent 16-bit instruction stream and optimizing them.

In this paper, we propose an optimization technique, called Global Productiveness Propagation (GPP), which is a dynamic, profile-based optimization technique that infers the minimum required dataflow by pruning narrow computations that are most-probably useless (non-productive). More precisely, GPP speculatively prunes the static backward slices of selected narrow computations: computations that result in the same value (in their respective storage location) as that at the input of the region. This speculative optimization technique is formulated around the concept of 'narrow' computations because the same allow a finer granularity to distinguish between useful (productive) and useless (non-productive) work. GPP has been evaluated on an in-order narrow bit-wide execution core, achieving an average dynamic instruction stream reduction of 6.6%, while improving overall performance by 4.2%.

References

  1. Brooks et al., Dynamically Exploiting Narrow Width Operands to Improve Processor Power and Performance, Proceedings of the 5th International Symposium on High Performance Computer Architecture, p.13, January 09--12, 199. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Brooks et al., Wattch: a framework for architectural-level power analysis and optimizations, Proceedings of the 27th annual international symposium on Computer architecture, 200. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Budiu et al., BitValue Inference: Detecting and Exploiting Narrow Bitwidth Computations, Proceedings from the 6th International Euro-Par Conference on Parallel Processing, p.969--979, August 29-September 01, 200. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Calder et al, Value profiling, Proceedings of the 30th annual ACM/IEEE international symposium on Microarchitecture, December 01-03, 199. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Canal et al., Very low power pipelines using significance compression, Proceedings of the 33rd annual ACM/IEEE international symposium on Microarchitecture, p.181--190, December 200. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Canal et al., Software-Controlled Operand-Gating, Proceedings of the international symposium on Code generation and optimization: feedback-directed and runtime optimization, p.125, March 20--24, 200. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Ceze et al., Bulk Disambiguation of Speculative Threads in Multiprocessors. In Procs. of the 33th Intl Symp on Compute. Architecture, June 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Cheng et al., Self-timed carry-lookahead adders, IEEE Transactions on Computers, 200. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Cintra et al., Architectural Support for Scalable Speculative Parallelization in Shared-Memory Systems, 27th Annual International Symposium on Computer Architecture (ISCA), June 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Ergin et al., Register Packing: Exploiting Narrow-Width Operands for Reducing Register File Pressure, International Symposium on Microarchitecture, December 200. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Ferrante et al., The program dependence graph and its use in optimization, ACM Transactions on Programming Languages and Systems (TOPLAS), 198. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Kim et al., Leakage Current: Moore's Law Meets Static Power, IEEE Computer, 200. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Kondo et al., A Small, Fast and Low-Power Register File by Bit-Partitioning, Proceedings of the 11th International Symposium on High-Performance Computer Architecture, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Li et al., Bit section instruction set extension of ARM for embedded applications, Proceedings of the 2002 international conference on Compilers, architecture, and synthesis for embedded systems, October 08--11, 200. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Loh et al., Exploiting data-width locality to increase superscalar execution bandwidth, Proceedings of the 35th annual ACM/IEEE international symposium on Microarchitecture, November 18--22, 200. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Mahlke et al., Bitwidth cognizant architecture synthesis of custom hardwareaccelerators, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, November 200. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Moore et al., LogTM: Log-based TransactionalMemory. In Procs. of the 12th Intl Symp on High-Performance Computer Architecture, Feb. 2006.Google ScholarGoogle Scholar
  18. Muralimanohar et al., Cacti 6.5, HP Laboratories Palo Alto, 200.Google ScholarGoogle Scholar
  19. Pokam et al., Speculative software management of datapath-width for energy optimization, Proceedings of the 2004 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems, June 11--13, 200. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Shriraman et al., Flexible Decoupled Transactional Memory Support. In Procs. of the 35th Intl Symp on Computer Architecture, June 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Steffan et al., A Scalable Approach to Thread-Level Speculation, International Symposium on Computer Architecture, Vancouver, BC, June, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Stephenson et al., Bidwidth analysis with application to silicon compilation, Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation, 200. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Segars et al., Low power design techniques for microprocessors, International Solid-State Circuits Conference Tutorial, 200.Google ScholarGoogle Scholar
  24. Tallam et al., Bitwidth aware global register allocation, ACM SIGPLAN Notices, v.38 n.1, p.85--96, January 200. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Vijaykrishnan et al., Energy-driven integrated hardware-software optimizations using SimplePower, Proceedings of the 27th annual international symposium on Computer architecture, p.95--106, June 200. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Wang et al., Intel® atom" processor core made FPGA-synthesizable, Proceeding of the ACM/SIGDA international symposium on Field programmable gate arrays, 200. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Yang et al., An Embedded Low Power/Cost 16-Bit Data/Instruction Microprocessor Compatible with ARM7 Software Tools, Proceedings of the 2007 conference on Asia South Pacific design automation, p.902, 23--26 Jan. 200.Google ScholarGoogle Scholar
  28. M. T. Yourst, PTLsim: A Cycle Accurate Full System x86-64 Microarchitectural Simulator, IEEE International Symposium on Performance Analysis of Systems & Software, 200.Google ScholarGoogle Scholar
  29. Submission in progress. Omitted for the sake of anonymity.Google ScholarGoogle Scholar

Index Terms

  1. Global productiveness propagation: a code optimization technique to speculatively prune useless narrow computations

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      LCTES '11: Proceedings of the 2011 SIGPLAN/SIGBED conference on Languages, compilers and tools for embedded systems
      April 2011
      182 pages
      ISBN:9781450305556
      DOI:10.1145/1967677
      • cover image ACM SIGPLAN Notices
        ACM SIGPLAN Notices  Volume 46, Issue 5
        LCTES '10
        May 2011
        170 pages
        ISSN:0362-1340
        EISSN:1558-1160
        DOI:10.1145/2016603
        Issue’s Table of Contents

      Copyright © 2011 ACM

      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]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 11 April 2011

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      Overall Acceptance Rate116of438submissions,26%
    • Article Metrics

      • Downloads (Last 12 months)1
      • Downloads (Last 6 weeks)0

      Other Metrics

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader