Exploiting Errors for Efficiency: A Survey from Circuits to Algorithms

09/16/2018
by   Phillip Stanley-Marbell, et al.
0

When a computational task tolerates a relaxation of its specification or when an algorithm tolerates the effects of noise in its execution, hardware, programming languages, and system software 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 users can tolerate, from across the disciplines of computer aided design of circuits, digital system design, computer architecture, programming languages, operating systems, and information theory. Rather than over-provisioning resources at each layer to avoid errors, it can be more efficient to exploit the masking of errors occurring at one layer which can prevent them from propagating to a higher layer. We survey tradeoffs for individual layers of computing systems from the circuit level to the operating system level and illustrate the potential benefits of end-to-end approaches using two illustrative examples. To tie together the survey, we present a consistent formalization of terminology, across the layers, which does not significantly deviate from the terminology traditionally used by research communities in their layer of focus.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
01/19/2022

How ISO C became unusable for operating systems development

The C programming language was developed in the 1970s as a fairly unconv...
research
12/25/2018

Induction, Coinduction, and Fixed Points: A Concise Survey

In this survey paper (which hitherto is an ongoing work-in-progress) we ...
research
03/23/2022

Which programming languages do hackers use? A survey at the German Chaos Computer Club

There are numerous articles about the programming languages most commonl...
research
07/15/2020

A Survey of Aging Monitors and Reconfiguration Techniques

CMOS technology scaling makes aging effects an important concern for the...
research
09/18/2017

A Survey of Machine Learning for Big Code and Naturalness

Research at the intersection of machine learning, programming languages,...
research
12/11/2017

Cross-Layer Optimization for Power-Efficient and Robust Digital Circuits and Systems

With the increasing digital services demand, performance and power-effic...
research
11/16/2020

Opportunities and Challenges for Circuit Board Level Hardware Description Languages

Board-level hardware description languages (HDLs) are one approach to in...

Please sign up or login with your details

Forgot password? Click here to reset