Foundations and Trends® in Electronic Design Automation > Vol 11 > Issue 4

Error-Efficient Computing Systems

By Phillip Stanley-Marbell, University of Cambridge, UK, phillip.stanley-marbell@eng.cam.ac.uk | Martin Rinard, Massachusetts Institute of Technology, USA, rinard@csail.mit.edu

 
Suggested Citation
Phillip Stanley-Marbell and Martin Rinard (2017), "Error-Efficient Computing Systems", Foundations and TrendsĀ® in Electronic Design Automation: Vol. 11: No. 4, pp 362-461. http://dx.doi.org/10.1561/1000000049

Publication Date: 18 Dec 2017
© 2017 P. Stanley-Marbell and M. Rinard
 
Subjects
 

Free Preview:

Download extract

Share

Download article
In this article:
1. Introduction
2. Types of Errors and Randomization
3. Computation, Energy, and Noise
4. Tolerating Errors in Outputs
5. Tolerating Errors in Inputs
6. Conclusion
References

Abstract

This survey explores the theory and practice of techniques to make computing systems faster or more energy-efficient by allowing them to make controlled errors. In the same way that systems which only use as much energy as necessary are referred to as being energy-efficient, you can think of the class of systems addressed by this survey as being error-efficient: They only prevent as many errors as they need to. The definition of what constitutes an error varies across the parts of a system. And the errors which are acceptable depend on the application at hand. In computing systems, making errors, when behaving correctly would be too expensive, can conserve resources. The resources conserved may be time: By making some errors, systems may be faster. The resource may also be energy: A system may use less power from its batteries or from the electrical grid by only avoiding certain errors while tolerating benign errors that are associated with reduced power consumption. The resource in question may be an even more abstract quantity such as consistency of ordering of the outputs of a system. This survey is for anyone interested in an end-to-end view of one set of techniques that address the theory and practice of making computing systems more efficient by trading errors for improved efficiency.

DOI:10.1561/1000000049
ISBN: 978-1-68083-358-4
113 pp. $80.00
Buy book (pb)
 
ISBN: 978-1-68083-359-1
113 pp. $135.00
Buy E-book (.pdf)
Table of contents:
1. Introduction
2. Types of Errors and Randomization
3. Computation, Energy, and Noise
4. Tolerating Errors in Outputs
5. Tolerating Errors in Inputs
6. Conclusion
References

Error-Efficient Computing Systems

Error-Efficient Computing Systems explores the theory and practice of techniques to make computing systems faster or more energy-efficient by allowing them to make controlled errors. In the same way that systems which only use as much energy as necessary are referred to as being energy-efficient, the class of systems addressed by this survey can be thought of as being error-efficient: they only prevent as many errors as they need to. The definition of what constitutes an error varies across the parts of a system and which errors are acceptable depends on the application at hand.

In computing systems, making errors, when behaving correctly would be too expensive, can conserve resources. The resource conserved may be time: By making some errors, systems may be faster. The resource may also be energy: A system may use less power from its batteries or from the electrical grid by only avoiding certain errors while tolerating benign errors that are associated with reduced power consumption. The resource in question may be an even more abstract quantity such as consistency of ordering of the outputs of the system in question.

Error-Efficient Computing Systems is an ideal reference for anyone interested in a holistic summary of the theory, practice, and history of how to make computing systems more efficient by trading errors for improved efficiency.

 
EDA-049