Exploiting Errors for Efficiency
Autor: | Andreas Gerstlauer, Damien Zufferey, Babak Falsafi, Lara Dolecek, Alexandros Daglis, Ghayoor Gillani, Phillip Stanley-Marbell, Sasa Misailovic, Adrian Sampson, Natalie Enright Jerger, Armin Alaghi, Michael Carbin, Djordje Jevdjic, Thierry Moreau, Eva Darulova, Mattia Cacciotti |
---|---|
Přispěvatelé: | Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory |
Jazyk: | angličtina |
Rok vydání: | 2020 |
Předmět: |
neural-networks
computation Correctness architecture General Computer Science Exploit Computer science design cross-layer optimization Cross-layer optimization 02 engineering and technology computer.software_genre Theoretical Computer Science Abstraction layer cost 0202 electrical engineering electronic engineering information engineering Layer (object-oriented design) approximation reliability error efficiency accuracy 020207 software engineering Approximate computing n/a OA procedure 020202 computer hardware & architecture Computer engineering Systems design Compiler limits computer performance System software |
Zdroj: | arXiv |
ISSN: | 0360-0300 |
Popis: | 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. |
Databáze: | OpenAIRE |
Externí odkaz: |