Repository logo
Log in(current)
Repository logoMIT Open ScholarshipDSpace@MIT
  1. Home
  2. MIT Open Access Articles
  3. MIT Open Access Articles
  4. Exploiting Errors for Efficiency: A Survey from Circuits to Applications
This is not the latest version of this item. The latest version can be found here.

Exploiting Errors for Efficiency: A Survey from Circuits to Applications

Thumbnail Image
Download
Name

1809.05859.pdf

Description
Submitted version
Size

2.22 MB

Format

Adobe PDF

Checksum (MD5)

e9545d6542f5f8de118402f8987f3057

sword-2020-12-04T16:55:10.original.xml (130 B)
Original SWORD entry document
Author(s)
Stanley-Marbell, Phillip
•
Alaghi, Armin
•
Carbin, Michael James
•
Darulova, Eva
•
Dolecek, Lara
•
Gerstlauer, Andreas
•
Gillani, Ghayoor
•
Jevdjic, Djordje
•
Moreau, Thierry
•
Cacciotti, Mattia
more
Alternative Title
A Survey from Circuits to Applications
Date Issued
July 2020
Journal
ACM Computing Surveys
Publisher
Association for Computing Machinery (ACM)
Citation
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
Version
Original manuscript
Abstract
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.
MIT Department
Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Terms of Use
Creative Commons Attribution-Noncommercial-Share Alike
http://creativecommons.org/licenses/by-nc-sa/4.0/
Persistent DSpace Link
https://hdl.handle.net/1721.1/129955
DOI of Published Version
http://dx.doi.org/10.1145/3394898
Repository logo
PrivacyPermissionsAccessibilityContact us
Repository logo
Notify us about copyright concerns.