Nothing Special   »   [go: up one dir, main page]

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 2011 Publication 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.
[2]
A. Askarov and A. C. Myers. A semantic framework for declassification and endorsement. In ESOP, 2010.
[3]
W. Baek and T. M. Chilimbi. Green: a framework for supporting energy-conscious programming using controlled approximation. In PLDI, 2010.
[4]
V. Bhalodia. SCALE DRAM subsystem power analysis. Master's thesis, MIT, 2005.
[5]
D. Brooks, V. Tiwari, and M. Martonosi. Wattch: a framework for architectural-level power analysis and optimizations. In ISCA, 2000.
[6]
A. Carroll and G. Heiser. An analysis of power consumption in a smartphone. In USENIX, 2010.
[7]
A. Chlipala, L. Petersen, and R. Harper. Strict bidirectional type checking. In TLDI, 2005.
[8]
M. de Kruijf and K. Sankaralingam. Exploring the synergy of emerging workloads and silicon reliability trends. In SELSE, 2009.
[9]
M. de Kruijf, S. Nomura, and K. Sankaralingam. Relax: an architectural framework for software recovery of hardware faults. In ISCA, 2010.
[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.
[11]
M. D. Ernst. Type Annotations specification (JSR 308). http: //types.cs.washington.edu/jsr308/, 2008.
[12]
X. Fan, W.-D. Weber, and L. A. Barroso. Power provisioning for a warehouse-sized computer. In ISCA, 2007.
[13]
K. Flautner, N. S. Kim, S. Martin, D. Blaauw, and T. Mudge. Drowsy caches: simple techniques for reducing leakage power. In ISCA, 2002.
[14]
J. S. Foster, M. Fähndrich, and A. Aiken. A theory of type qualifiers. In PLDI, 1999.
[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.
[16]
A. Igarashi, B. C. Pierce, and P. Wadler. Featherweight Java: a minimal core calculus for Java and GJ. TOPLAS, 23(3), 2001.
[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.
[18]
A. Kumar. SRAM Leakage-Power Optimization Framework: a System Level Approach. PhD thesis, University of California at Berkeley, 2008.
[19]
L. Leem, H. Cho, J. Bau, Q. A. Jacobson, and S. Mitra. ERSA: error resilient system architecture for probabilistic applications. In DATE, 2010.
[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.
[21]
X. Li and D. Yeung. Exploiting soft computing for increased fault tolerance. In ASGI, 2006.
[22]
X. Li and D. Yeung. Application-level correctness and its impact on fault tolerance. In HPCA, 2007.
[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.
[24]
A. Mahesri and V. Vardhan. Power consumption breakdown on a modern laptop. In PACS, 2004.
[25]
S. Misailovic, S. Sidiroglou, H. Hoffman, and M. Rinard. Quality of service profiling. In ICSE, 2010.
[26]
A. C. Myers. JFlow: practical mostly-static information flow control. In POPL, 1999.
[27]
K. Natarajan, H. Hanson, S. W. Keckler, C. R. Moore, and D. Burger. Microprocessor pipeline energy analysis. In ISLPED, 2003.
[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.
[29]
F. Perry and D. Walker. Reasoning about control flow in the presence of transient faults. In SAS, 2008.
[30]
F. Perry, L. Mackey, G. A. Reis, J. Ligatti, D. I. August, and D. Walker. Fault-tolerant typed assembly language. In PLDI, 2007.
[31]
M. Rinard, H. Hoffmann, S. Misailovic, and S. Sidiroglou. Patterns and statistical analysis for understanding reduced resource computing. In Onward!, 2010.
[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.
[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.
[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.
[35]
V. Wong and M. Horowitz. Soft error resilience of probabilistic inference applications. In SELSE, 2006.

Cited By

View all
  • (2024)DACO: Pursuing Ultra-low Power Consumption via DNN-Adaptive CPU-GPU CO-optimization on Mobile Devices2024 Design, Automation & Test in Europe Conference & Exhibition (DATE)10.23919/DATE58400.2024.10546884(1-2)Online publication date: 25-Mar-2024
  • (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)CoolerSpace: A Language for Physically Correct and Computationally Efficient Color ProgrammingProceedings of the ACM on Programming Languages10.1145/36897418:OOPSLA2(846-875)Online publication date: 8-Oct-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 '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
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: 04 June 2011

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. accuracy-aware computing
  2. critical data
  3. energy
  4. power-aware computing
  5. soft errors

Qualifiers

  • Research-article

Conference

PLDI '11
Sponsor:

Acceptance Rates

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

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)108
  • Downloads (Last 6 weeks)11
Reflects downloads up to 19 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)DACO: Pursuing Ultra-low Power Consumption via DNN-Adaptive CPU-GPU CO-optimization on Mobile Devices2024 Design, Automation & Test in Europe Conference & Exhibition (DATE)10.23919/DATE58400.2024.10546884(1-2)Online publication date: 25-Mar-2024
  • (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)CoolerSpace: A Language for Physically Correct and Computationally Efficient Color ProgrammingProceedings of the ACM on Programming Languages10.1145/36897418:OOPSLA2(846-875)Online publication date: 8-Oct-2024
  • (2024)On the Commutative Operation of Approximate CMOS Ripple Carry Adders (RCAs)IEEE Transactions on Nanotechnology10.1109/TNANO.2023.334284423(265-273)Online publication date: 2024
  • (2024)FlipBit: Approximate Flash Memory for IoT Devices2024 IEEE International Symposium on High-Performance Computer Architecture (HPCA)10.1109/HPCA57654.2024.00072(876-890)Online publication date: 2-Mar-2024
  • (2024)Approximate Computing: Concepts, Architectures, Challenges, Applications, and Future DirectionsIEEE Access10.1109/ACCESS.2024.346737512(146022-146088)Online publication date: 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)Turaco: Complexity-Guided Data Sampling for Training Neural Surrogates of ProgramsProceedings of the ACM on Programming Languages10.1145/36228567:OOPSLA2(1648-1676)Online publication date: 16-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)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
  • 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