skip to main content
10.1145/1993498.1993518acmconferencesArticle/Chapter ViewAbstractPublication PagespldiConference Proceedingsconference-collections
research-article

EnerJ: approximate data types for safe and general low-power computation

Published:04 June 2011Publication History

ABSTRACT

Energy is increasingly a first-order concern in computer systems. Exploiting energy-accuracy trade-offs is an attractive choice in applications that can tolerate inaccuracies. Recent work has explored exposing this trade-off in programming models. A key challenge, though, is how to isolate parts of the program that must be precise from those that can be approximated so that a program functions correctly even as quality of service degrades.

We propose using type qualifiers to declare data that may be subject to approximate computation. Using these types, the system automatically maps approximate variables to low-power storage, uses low-power operations, and even applies more energy-efficient algorithms provided by the programmer. In addition, the system can statically guarantee isolation of the precise program component from the approximate component. This allows a programmer to control explicitly how information flows from approximate data to precise data. Importantly, employing static analysis eliminates the need for dynamic checks, further improving energy savings. As a proof of concept, we develop EnerJ, an extension to Java that adds approximate data types. We also propose a hardware architecture that offers explicit approximate storage and computation. We port several applications to EnerJ and show that our extensions are expressive and effective; a small number of annotations lead to significant potential energy savings (10%-50%) at very little accuracy cost.

References

  1. A. Agarwal, M. Rinard, S. Sidiroglou, S. Misailovic, and H. Hoffmann. Using code perforation to improve performance, reduce energy consumption, and respond to failures. Technical report, MIT, 2009.Google ScholarGoogle Scholar
  2. A. Askarov and A. C. Myers. A semantic framework for declassification and endorsement. In ESOP, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. W. Baek and T. M. Chilimbi. Green: a framework for supporting energy-conscious programming using controlled approximation. In PLDI, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. V. Bhalodia. SCALE DRAM subsystem power analysis. Master's thesis, MIT, 2005.Google ScholarGoogle Scholar
  5. D. Brooks, V. Tiwari, and M. Martonosi. Wattch: a framework for architectural-level power analysis and optimizations. In ISCA, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. A. Carroll and G. Heiser. An analysis of power consumption in a smartphone. In USENIX, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. A. Chlipala, L. Petersen, and R. Harper. Strict bidirectional type checking. In TLDI, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. M. de Kruijf and K. Sankaralingam. Exploring the synergy of emerging workloads and silicon reliability trends. In SELSE, 2009.Google ScholarGoogle Scholar
  9. M. de Kruijf, S. Nomura, and K. Sankaralingam. Relax: an architectural framework for software recovery of hardware faults. In ISCA, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. D. Ernst, N. S. Kim, S. Das, S. Pant, R. Rao, T. Pham, C. Ziesler, D. Blaauw, T. Austin, K. Flautner, and T. Mudge. Razor: a low-power pipeline based on circuit-level timing speculation. In MICRO, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. M. D. Ernst. Type Annotations specification (JSR 308). http: //types.cs.washington.edu/jsr308/, 2008.Google ScholarGoogle Scholar
  12. X. Fan, W.-D. Weber, and L. A. Barroso. Power provisioning for a warehouse-sized computer. In ISCA, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. K. Flautner, N. S. Kim, S. Martin, D. Blaauw, and T. Mudge. Drowsy caches: simple techniques for reducing leakage power. In ISCA, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. J. S. Foster, M. Fähndrich, and A. Aiken. A theory of type qualifiers. In PLDI, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. M. Ghosh and H.-H. S. Lee. Smart refresh: An enhanced memory controller design for reducing energy in conventional and 3D diestacked DRAMs. In MICRO, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. A. Igarashi, B. C. Pierce, and P. Wadler. Featherweight Java: a minimal core calculus for Java and GJ. TOPLAS, 23(3), 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. A. Kahng, S. Kang, R. Kumar, and J. Sartori. Designing a processor from the ground up to allow voltage/reliability tradeoffs. In HPCA, 2010.Google ScholarGoogle ScholarCross RefCross Ref
  18. A. Kumar. SRAM Leakage-Power Optimization Framework: a System Level Approach. PhD thesis, University of California at Berkeley, 2008.Google ScholarGoogle Scholar
  19. L. Leem, H. Cho, J. Bau, Q. A. Jacobson, and S. Mitra. ERSA: error resilient system architecture for probabilistic applications. In DATE, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. S. Li, J. H. Ahn, R. Strong, J. Brockman, D. Tullsen, and N. Jouppi. McPAT: An integrated power, area, and timing modeling framework for multicore and manycore architectures. In MICRO, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. X. Li and D. Yeung. Exploiting soft computing for increased fault tolerance. In ASGI, 2006.Google ScholarGoogle Scholar
  22. X. Li and D. Yeung. Application-level correctness and its impact on fault tolerance. In HPCA, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. S. Liu, K. Pattabiraman, T. Moscibroda, and B. G. Zorn. Flikker: Saving refresh-power in mobile devices through critical data partitioning. I ASPLOS, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. A. Mahesri and V. Vardhan. Power consumption breakdown on a modern laptop. In PACS, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. S. Misailovic, S. Sidiroglou, H. Hoffman, and M. Rinard. Quality of service profiling. In ICSE, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. A. C. Myers. JFlow: practical mostly-static information flow control. In POPL, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. K. Natarajan, H. Hanson, S. W. Keckler, C. R. Moore, and D. Burger. Microprocessor pipeline energy analysis. In ISLPED, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. M. M. Papi, M. Ali, T. L. Correa Jr., J. H. Perkins, and M. D. Ernst. Practical pluggable types for Java. In ISSTA, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. F. Perry and D. Walker. Reasoning about control flow in the presence of transient faults. In SAS, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. F. Perry, L. Mackey, G. A. Reis, J. Ligatti, D. I. August, and D. Walker. Fault-tolerant typed assembly language. In PLDI, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. M. Rinard, H. Hoffmann, S. Misailovic, and S. Sidiroglou. Patterns and statistical analysis for understanding reduced resource computing. In Onward!, 2010.Google ScholarGoogle Scholar
  32. A. Sabelfeld and A. C. Myers. Language-based information-flow security. IEEE Journal on Selected Areas in Communications, special issue on Formal Methods for Security, 21(1), 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. A. Sampson, W. Dietl, E. Fortuna, D. Gnanapragasam, L. Ceze, and D. Grossman. EnerJ: Approximate Data Types for Safe and General Low-Power Computation--- Full Proofs. Technical Report UW-CSE-10-12-01, University of Washington, 2011.Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. J. Y. F. Tong, D. Nagle, and R. A. Rutenbar. Reducing power by optimizing the necessary precision/range of floating-point arithmetic. IEEE Trans. VLSI Syst., 8(3), 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. V. Wong and M. Horowitz. Soft error resilience of probabilistic inference applications. In SELSE, 2006.Google ScholarGoogle Scholar

Index Terms

  1. EnerJ: approximate data types for safe and general low-power computation

      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
        PLDI '11: Proceedings of the 32nd ACM SIGPLAN Conference on Programming Language Design and Implementation
        June 2011
        668 pages
        ISBN:9781450306638
        DOI:10.1145/1993498
        • General Chair:
        • Mary Hall,
        • Program Chair:
        • David Padua
        • cover image ACM SIGPLAN Notices
          ACM SIGPLAN Notices  Volume 46, Issue 6
          PLDI '11
          June 2011
          652 pages
          ISSN:0362-1340
          EISSN:1558-1160
          DOI:10.1145/1993316
          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: 4 June 2011

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        Overall Acceptance Rate406of2,067submissions,20%

        Upcoming Conference

        PLDI '24

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader