skip to main content
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

Recommendations

Comments

Information & Contributors

Information

Published In

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
  • 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
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: 05 June 2010
Published in SIGPLAN Volume 45, Issue 6

Check for updates

Author Tags

  1. controlled approximation
  2. energy-conscious programming

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)81
  • Downloads (Last 6 weeks)3
Reflects downloads up to 25 Jan 2025

Other Metrics

Citations

Cited By

View all

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media