[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/1806596.1806620acmconferencesArticle/Chapter ViewAbstractPublication PagespldiConference Proceedingsconference-collections
research-article

Green: a framework for supporting energy-conscious programming using controlled approximation

Published: 05 June 2010 Publication History

Abstract

Energy-efficient computing is important in several systems ranging from embedded devices to large scale data centers. Several application domains offer the opportunity to tradeoff quality of service/solution (QoS) for improvements in performance and reduction in energy consumption. Programmers sometimes take advantage of such opportunities, albeit in an ad-hoc manner and often without providing any QoS guarantees.
We propose a system called Green that provides a simple and flexible framework that allows programmers to take advantage of such approximation opportunities in a systematic manner while providing statistical QoS guarantees. Green enables programmers to approximate expensive functions and loops and operates in two phases. In the calibration phase, it builds a model of the QoS loss produced by the approximation. This model is used in the operational phase to make approximation decisions based on the QoS constraints specified by the programmer. The operational phase also includes an adaptation function that occasionally monitors the runtime behavior and changes the approximation decisions and QoS model to provide strong statistical QoS guarantees.
To evaluate the effectiveness of Green, we implemented our system and language extensions using the Phoenix compiler framework. Our experiments using benchmarks from domains such as graphics, machine learning, signal processing, and finance, and an in-production, real-world web search engine, indicate that Green can produce significant improvements in performance and energy consumption with small and controlled QoS degradation.

References

[1]
C. Alvarez and J. Corbal. Fuzzy memoization for floating-point multimedia applications. IEEE Trans. Comput., 54(7):922--927, 2005.
[2]
W. Baek, J. Chung, C. Cao Minh, C. Kozyrakis, and K. Olukotun. Towards soft optimization techniques for parallel cognitive applications. In 19th ACM Symposium on Parallelism in Algorithms and Architectures. June 2007.
[3]
L. A. Barroso. Warehouse-scale computers. In USENIX Annual Technical Conference, 2007.
[4]
C. Bienia, S. Kumar, J. P. Singh, and K. Li. The parsec benchmark suite: Characterization and architectural implications. In Proceedings of the 17th International Conference on Parallel Architectures and Compilation Techniques, October 2008.
[5]
P. P. Bonissone. Soft computing: the convergence of emerging reasoning technologies. Soft Computing - A Fusion of Foundations, Methodologies and Applications, 1(1):6--18, 1997.
[6]
M. A. Breuer, S. K. Gupta, and T. Mak. Defect and error tolerance in the presence of massive numbers of defects. IEEE Design and Test of Computers, 21(3):216--227, 2004.
[7]
E. O. Brigham. The fast Fourier transform and its applications. Prentice-Hall, Inc., Upper Saddle River, NJ, USA, 1988.
[8]
G. DeCandia, D. Hastorun, M. Jampani, G. Kakulapati, A. Lakshman, A. Pilchin, S. Sivasubramanian, P. Vosshall, and W. Vogels. Dynamo: amazon's highly available key-value store. SIGOPS Oper. Syst. Rev., 41(6):205--220, 2007.
[9]
J. G. Ganssle. A Guide to Approximation. http://www.ganssle.com/approx/approx.pdf.
[10]
D. Gelernter and N. Carriero. Coordination languages and their significance. Commun. ACM, 35(2):97--107, 1992.
[11]
H. Hoffmann, S. Misailovic, S. Sidiroglou, A. Agarwal, and M. Rinard. Using code perforation to improve performance, reduce energy consumption, and respond to failures. Technical Report MIT-CSAIL-TR-2209-037, EECS, MIT, August 2009.
[12]
J. T. Kajiya. The rendering equation. SIGGRAPH Comput. Graph., 20(4):143--150, 1986.
[13]
R. Katz. Research directions in internet-scale computing. In 3rd International Week on Management of Networks and Services, 2007.
[14]
V. Kianzad and S. S. Bhattacharyya. Multiprocessor clustering for embedded systems. In Euro-Par '01: Proceedings of the 7th International Euro-Par Conference Manchester on Parallel Processing, pages 697--701, London, UK, 2001. Springer-Verlag.
[15]
Y.-K. Kwok and I. Ahmad. Benchmarking the task graph scheduling algorithms. Parallel Processing Symposium, 1998. IPPS/SPDP 1998. Proceedings of the Symposium on Parallel and Distributed Processing 1998, pages 531--537, Mar-3 Apr 1998.
[16]
X. Li and D. Yeung. Exploiting soft computing for increased fault tolerance. In In Proceedings of Workshop on Architectural Support for Gigascale Integration, 2006.
[17]
X. Li and D. Yeung. Application-level correctness and its impact on fault tolerance. In HPCA '07: Proceedings of the 2007 IEEE 13th International Symposium on High Performance Computer Architecture, pages 181--192, Washington, DC, USA, 2007. IEEE Computer Society.
[18]
J. Liu, W.-K. Shih, K.-J. Lin, R. Bettati, and J.-Y. Chung. Imprecise computations. Proceedings of the IEEE, 82(1):83--94, Jan 1994.
[19]
R. M. Metcalfe and D. R. Boggs. Ethernet: distributed packet switching for local computer networks. Commun. ACM, 19(7):395--404, 1976.
[20]
Phoenix Academic Program. http://research.microsoft.com/Phoenix/.
[21]
M. Rinard. Probabilistic accuracy bounds for fault-tolerant computations that discard tasks. In ICS '06: Proceedings of the 20th annual international conference on Supercomputing, pages 324--334, New York, NY, USA, 2006. ACM.
[22]
M. C. Rinard. Using early phase termination to eliminate load imbalances at barrier synchronization points. In OOPSLA '07: Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications, pages 369--386, New York, NY, USA, 2007. ACM.
[23]
J. Sorber, A. Kostadinov, M. Garber, M. Brennan, M. D. Corner, and E. D. Berger. Eon: a language and runtime system for perpetual systems. In SenSys '07: Proceedings of the 5th international conference on Embedded networked sensor systems, pages 161--174, New York, NY, USA, 2007. ACM.
[24]
Standard Performance Evaluation Corporation, SPEC CPU Benchmarks. http://www.specbench.org/, 1995-2000.
[25]
J. Tong, D. Nagle, and R. Rutenbar. Reducing power by optimizing the necessary precision/range of floating-point arithmetic. Very Large Scale Integration (VLSI) Systems, IEEE Transactions on, 8(3):273--286, Jun 2000.

Cited By

View all
  • (2024)carbond: An Operating-System Daemon for Carbon AwarenessACM SIGEnergy Energy Informatics Review10.1145/3698365.36983744:3(52-57)Online publication date: 1-Jul-2024
  • (2024)Feature-driven Approximate Computing for Wearable Health-Monitoring SystemsProceedings of the Great Lakes Symposium on VLSI 202410.1145/3649476.3658719(712-717)Online publication date: 12-Jun-2024
  • (2024)Cycle-Oriented Dynamic Approximation: Architectural Framework to Meet Performance RequirementsIEEE Computer Architecture Letters10.1109/LCA.2024.343931823:2(211-214)Online publication date: Jul-2024
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
PLDI '10: Proceedings of the 31st ACM SIGPLAN Conference on Programming Language Design and Implementation
June 2010
514 pages
ISBN:9781450300193
DOI:10.1145/1806596
  • cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 45, Issue 6
    PLDI '10
    June 2010
    496 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/1809028
    Issue’s Table of Contents
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: 05 June 2010

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. controlled approximation
  2. energy-conscious programming

Qualifiers

  • Research-article

Conference

PLDI '10
Sponsor:

Acceptance Rates

Overall Acceptance Rate 406 of 2,067 submissions, 20%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)150
  • Downloads (Last 6 weeks)12
Reflects downloads up to 10 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2024)carbond: An Operating-System Daemon for Carbon AwarenessACM SIGEnergy Energy Informatics Review10.1145/3698365.36983744:3(52-57)Online publication date: 1-Jul-2024
  • (2024)Feature-driven Approximate Computing for Wearable Health-Monitoring SystemsProceedings of the Great Lakes Symposium on VLSI 202410.1145/3649476.3658719(712-717)Online publication date: 12-Jun-2024
  • (2024)Cycle-Oriented Dynamic Approximation: Architectural Framework to Meet Performance RequirementsIEEE Computer Architecture Letters10.1109/LCA.2024.343931823:2(211-214)Online publication date: Jul-2024
  • (2024)Approximate Similarity-Aware Compression for Non-Volatile Main MemoryJournal of Computer Science and Technology10.1007/s11390-023-2565-739:1(63-81)Online publication date: 30-Jan-2024
  • (2023)The Odd One Out: Energy is Not Like Other MetricsACM SIGEnergy Energy Informatics Review10.1145/3630614.36306273:3(71-77)Online publication date: 25-Oct-2023
  • (2023)carbond: An Operating-System Daemon for Carbon AwarenessProceedings of the 2nd Workshop on Sustainable Computer Systems10.1145/3604930.3605707(1-6)Online publication date: 9-Jul-2023
  • (2023)AutoConstruct: Automated Neural Surrogate Model Building and Deployment for HPC ApplicationsProceedings of the 13th Workshop on AI and Scientific Computing at Scale using Flexible Computing10.1145/3589013.3596677(33-40)Online publication date: 10-Aug-2023
  • (2023)Auto-HPCnet: An Automatic Framework to Build Neural Network-based Surrogate for High-Performance Computing ApplicationsProceedings of the 32nd International Symposium on High-Performance Parallel and Distributed Computing10.1145/3588195.3592985(31-44)Online publication date: 7-Aug-2023
  • (2023)HPAC-Offload: Accelerating HPC Applications with Portable Approximate Computing on the GPUProceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis10.1145/3581784.3607095(1-14)Online publication date: 12-Nov-2023
  • (2023)Twins or False Friends? A Study on Energy Consumption and Performance of Configurable Software2023 IEEE/ACM 45th International Conference on Software Engineering (ICSE)10.1109/ICSE48619.2023.00177(2098-2110)Online publication date: May-2023
  • Show More Cited By

View Options

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