skip to main content
research-article

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

Published:05 June 2010Publication History
Skip Abstract Section

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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. L. A. Barroso. Warehouse-scale computers. In USENIX Annual Technical Conference, 2007.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. E. O. Brigham. The fast Fourier transform and its applications. Prentice-Hall, Inc., Upper Saddle River, NJ, USA, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. J. G. Ganssle. A Guide to Approximation. http://www.ganssle.com/approx/approx.pdf.Google ScholarGoogle Scholar
  10. D. Gelernter and N. Carriero. Coordination languages and their significance. Commun. ACM, 35(2):97--107, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  12. J. T. Kajiya. The rendering equation. SIGGRAPH Comput. Graph., 20(4):143--150, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. R. Katz. Research directions in internet-scale computing. In 3rd International Week on Management of Networks and Services, 2007.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle ScholarCross RefCross Ref
  19. R. M. Metcalfe and D. R. Boggs. Ethernet: distributed packet switching for local computer networks. Commun. ACM, 19(7):395--404, 1976. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Phoenix Academic Program. http://research.microsoft.com/Phoenix/.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Standard Performance Evaluation Corporation, SPEC CPU Benchmarks. http://www.specbench.org/, 1995-2000.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

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

      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

      Full Access

      • 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

        Copyright © 2010 ACM

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 5 June 2010

        Check for updates

        Qualifiers

        • research-article

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!