Exploiting Errors for Efficiency: A Survey from Circuits to Applications

When a computational task tolerates a relaxation of its specification or when an algorithm tolerates the effects of noise in its execution, hardware, system software, and programming language compilers or their runtime systems can trade deviations from correct behavior for lower resource usage. We p...

Full description

Bibliographic Details
Main Authors: Stanley-Marbell, Phillip, Alaghi, Armin, Carbin, Michael James, Darulova, Eva, Dolecek, Lara, Gerstlauer, Andreas, Gillani, Ghayoor, Jevdjic, Djordje, Moreau, Thierry, Cacciotti, Mattia, Daglis, Alexandros, Jerger, Natalie Enright, Falsafi, Babak, Misailovic, Sasa, Sampson, Adrian, Zufferey, Damien
Other Authors: Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Format: Article
Language:English
Published: Association for Computing Machinery (ACM) 2021
Online Access:https://hdl.handle.net/1721.1/129955
_version_ 1826203937187823616
author Stanley-Marbell, Phillip
Alaghi, Armin
Carbin, Michael James
Darulova, Eva
Dolecek, Lara
Gerstlauer, Andreas
Gillani, Ghayoor
Jevdjic, Djordje
Moreau, Thierry
Cacciotti, Mattia
Daglis, Alexandros
Jerger, Natalie Enright
Falsafi, Babak
Misailovic, Sasa
Sampson, Adrian
Zufferey, Damien
author2 Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
author_facet Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Stanley-Marbell, Phillip
Alaghi, Armin
Carbin, Michael James
Darulova, Eva
Dolecek, Lara
Gerstlauer, Andreas
Gillani, Ghayoor
Jevdjic, Djordje
Moreau, Thierry
Cacciotti, Mattia
Daglis, Alexandros
Jerger, Natalie Enright
Falsafi, Babak
Misailovic, Sasa
Sampson, Adrian
Zufferey, Damien
author_sort Stanley-Marbell, Phillip
collection MIT
description When a computational task tolerates a relaxation of its specification or when an algorithm tolerates the effects of noise in its execution, hardware, system software, and programming language compilers or their runtime systems can trade deviations from correct behavior for lower resource usage. We present, for the first time, a synthesis of research results on computing systems that only make as many errors as their end-to-end applications can tolerate. The results span the disciplines of computer-aided design of circuits, digital system design, computer architecture, programming languages, operating systems, and information theory. Rather than over-provisioning the resources controlled by each of these layers of abstraction to avoid errors, it can be more efficient to exploit the masking of errors occurring at one layer and thereby prevent those errors from propagating to a higher layer. We demonstrate the potential benefits of end-to-end approaches using two illustrative examples. We introduce a formalization of terminology that allows us to present a coherent view across the techniques traditionally used by different research communities in their individual layer of focus. Using this formalization, we survey tradeoffs for individual layers of computing systems at the circuit, architecture, operating system, and programming language levels as well as fundamental information-theoretic limits to tradeoffs between resource usage and correctness.
first_indexed 2024-09-23T12:45:47Z
format Article
id mit-1721.1/129955
institution Massachusetts Institute of Technology
language English
last_indexed 2024-09-23T12:45:47Z
publishDate 2021
publisher Association for Computing Machinery (ACM)
record_format dspace
spelling mit-1721.1/1299552022-09-28T09:55:01Z Exploiting Errors for Efficiency: A Survey from Circuits to Applications A Survey from Circuits to Applications Stanley-Marbell, Phillip Alaghi, Armin Carbin, Michael James Darulova, Eva Dolecek, Lara Gerstlauer, Andreas Gillani, Ghayoor Jevdjic, Djordje Moreau, Thierry Cacciotti, Mattia Daglis, Alexandros Jerger, Natalie Enright Falsafi, Babak Misailovic, Sasa Sampson, Adrian Zufferey, Damien Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory When a computational task tolerates a relaxation of its specification or when an algorithm tolerates the effects of noise in its execution, hardware, system software, and programming language compilers or their runtime systems can trade deviations from correct behavior for lower resource usage. We present, for the first time, a synthesis of research results on computing systems that only make as many errors as their end-to-end applications can tolerate. The results span the disciplines of computer-aided design of circuits, digital system design, computer architecture, programming languages, operating systems, and information theory. Rather than over-provisioning the resources controlled by each of these layers of abstraction to avoid errors, it can be more efficient to exploit the masking of errors occurring at one layer and thereby prevent those errors from propagating to a higher layer. We demonstrate the potential benefits of end-to-end approaches using two illustrative examples. We introduce a formalization of terminology that allows us to present a coherent view across the techniques traditionally used by different research communities in their individual layer of focus. Using this formalization, we survey tradeoffs for individual layers of computing systems at the circuit, architecture, operating system, and programming language levels as well as fundamental information-theoretic limits to tradeoffs between resource usage and correctness. 2021-02-22T19:14:48Z 2021-02-22T19:14:48Z 2020-07 2020-12-04T16:55:10Z Article http://purl.org/eprint/type/ConferencePaper 0360-0300 1557-7341 https://hdl.handle.net/1721.1/129955 Stanley-Marbell, Phillip et al. "Exploiting Errors for Efficiency: A Survey from Circuits to Applications." ACM Computing Surveys 53, 3 (July 2020): dx.doi.org/10.1145/3394898 © 2020 ACM en http://dx.doi.org/10.1145/3394898 ACM Computing Surveys Creative Commons Attribution-Noncommercial-Share Alike http://creativecommons.org/licenses/by-nc-sa/4.0/ application/pdf Association for Computing Machinery (ACM) arXiv
spellingShingle Stanley-Marbell, Phillip
Alaghi, Armin
Carbin, Michael James
Darulova, Eva
Dolecek, Lara
Gerstlauer, Andreas
Gillani, Ghayoor
Jevdjic, Djordje
Moreau, Thierry
Cacciotti, Mattia
Daglis, Alexandros
Jerger, Natalie Enright
Falsafi, Babak
Misailovic, Sasa
Sampson, Adrian
Zufferey, Damien
Exploiting Errors for Efficiency: A Survey from Circuits to Applications
title Exploiting Errors for Efficiency: A Survey from Circuits to Applications
title_full Exploiting Errors for Efficiency: A Survey from Circuits to Applications
title_fullStr Exploiting Errors for Efficiency: A Survey from Circuits to Applications
title_full_unstemmed Exploiting Errors for Efficiency: A Survey from Circuits to Applications
title_short Exploiting Errors for Efficiency: A Survey from Circuits to Applications
title_sort exploiting errors for efficiency a survey from circuits to applications
url https://hdl.handle.net/1721.1/129955
work_keys_str_mv AT stanleymarbellphillip exploitingerrorsforefficiencyasurveyfromcircuitstoapplications
AT alaghiarmin exploitingerrorsforefficiencyasurveyfromcircuitstoapplications
AT carbinmichaeljames exploitingerrorsforefficiencyasurveyfromcircuitstoapplications
AT darulovaeva exploitingerrorsforefficiencyasurveyfromcircuitstoapplications
AT doleceklara exploitingerrorsforefficiencyasurveyfromcircuitstoapplications
AT gerstlauerandreas exploitingerrorsforefficiencyasurveyfromcircuitstoapplications
AT gillanighayoor exploitingerrorsforefficiencyasurveyfromcircuitstoapplications
AT jevdjicdjordje exploitingerrorsforefficiencyasurveyfromcircuitstoapplications
AT moreauthierry exploitingerrorsforefficiencyasurveyfromcircuitstoapplications
AT cacciottimattia exploitingerrorsforefficiencyasurveyfromcircuitstoapplications
AT daglisalexandros exploitingerrorsforefficiencyasurveyfromcircuitstoapplications
AT jergernatalieenright exploitingerrorsforefficiencyasurveyfromcircuitstoapplications
AT falsafibabak exploitingerrorsforefficiencyasurveyfromcircuitstoapplications
AT misailovicsasa exploitingerrorsforefficiencyasurveyfromcircuitstoapplications
AT sampsonadrian exploitingerrorsforefficiencyasurveyfromcircuitstoapplications
AT zuffereydamien exploitingerrorsforefficiencyasurveyfromcircuitstoapplications
AT stanleymarbellphillip asurveyfromcircuitstoapplications
AT alaghiarmin asurveyfromcircuitstoapplications
AT carbinmichaeljames asurveyfromcircuitstoapplications
AT darulovaeva asurveyfromcircuitstoapplications
AT doleceklara asurveyfromcircuitstoapplications
AT gerstlauerandreas asurveyfromcircuitstoapplications
AT gillanighayoor asurveyfromcircuitstoapplications
AT jevdjicdjordje asurveyfromcircuitstoapplications
AT moreauthierry asurveyfromcircuitstoapplications
AT cacciottimattia asurveyfromcircuitstoapplications
AT daglisalexandros asurveyfromcircuitstoapplications
AT jergernatalieenright asurveyfromcircuitstoapplications
AT falsafibabak asurveyfromcircuitstoapplications
AT misailovicsasa asurveyfromcircuitstoapplications
AT sampsonadrian asurveyfromcircuitstoapplications
AT zuffereydamien asurveyfromcircuitstoapplications