Architecture support for disciplined approximate programming
Authors:
Open Access
- 3 March 2012
- journal article
- conference paper
- Published by Association for Computing Machinery (ACM) in ACM SIGPLAN Notices
- Vol. 47 (4) , 301-312
Abstract
Disciplined approximate programming lets programmers declare which parts of a program can be computed approximately and consequently at a lower energy cost. The compiler proves statically that all approximate computation is properly isolated from precise computation. The hardware is then free to selectively apply approximate storage and approximate computation with no need to perform dynamic correctness checks. In this paper, we propose an efficient mapping of disciplined approximate programming onto hardware. We describe an ISA extension that provides approximate operations and storage, which give the hardware freedom to save energy at the cost of accuracy. We then propose Truffle, a microarchitecture design that efficiently supports the ISA extensions. The basis of our design is dual-voltage operation, with a high voltage for precise operations and a low voltage for approximate operations. The key aspect of the microarchitecture is its dependence on the instruction stream to determine when to use the low voltage. We evaluate the power savings potential of in-order and out-of-order Truffle configurations and explore the resulting quality of service degradation. We evaluate several applications and demonstrate energy savings up to 43%.Keywords
This publication has 26 references indexed in Scilit:
- The future of microprocessorsCommunications of the ACM, 2011
- FlikkerACM SIGPLAN Notices, 2011
- ERSA: Error Resilient System Architecture for probabilistic applications2010
- Raksha2007
- A Dynamic Compilation Framework for Controlling Microprocessor Energy and Performance2006
- Ultra-Efficient (Embedded) SOC Architectures based on Probabilistic CMOS (PCMOS) Technology2006
- Fuzzy Memoization for Floating-Point Multimedia ApplicationsIEEE Transactions on Computers, 2005
- Secure program execution via dynamic information flow tracking2004
- Layout techniques supporting the use of dual supply voltages for cell-based designs1999
- Energy-efficient signal processing via algorithmic noise-tolerance1999