Powered by OpenAIRE graph
Found an issue? Give us feedback
addClaim

Approximate Computing

Authors: Swagath Venkataramani; Kaushik Roy 0001; Anand Raghunathan;

Approximate Computing

Abstract

We face an urgent need for new sources of efficiency in computing due to the diminishing benefits from semiconductor technology scaling on the one hand, and the need to keep up with the explosive growth in data on the other. The very workloads that drive the demand for computing across the spectrum hold out promise for new opportunities. In data centers and the cloud, the demand for computing is driven by the need to organize, search through, analyze, and draw inferences from, exploding amounts of digital data. In mobile and embedded devices, the need to more naturally and intelligently interact with the physical world, and process richer media drive much of the computing demand.A common pattern that emerges from both ends of the spectrum is that these workloads - recognition, mining, search, and analytics, among others - are largely not about calculating one numerically precise result; instead, "correctness" is defined as producing results that are good enough, or of sufficient quality, to produce an acceptable user experience. As a result, these workloads are endowed with a high degree of intrinsic resilience to their underlying computations being executed in an approximate manner. Traditionally, this forgiving nature of applications is exploited only during the design of algorithms (e.g. the use of heuristics, probabilistic algorithms etc.) and applications, while their hardware/software implementations are designed to adhere to a strict notion of numerical/Boolean correctness. This view of computing platforms - as precise calculators that must produce a unique, golden result - is excessively restrictive and leaves significant opportunity for compute efficiency untapped.Approximate computing is an emerging design paradigm, and broadly refers to a class of design techniques that leverage intrinsic application resilience to design more efficient (faster, lower power) computing platforms. In this tutorial, we will present a comprehensive overview of the key design principles and methodologies to realize approximate computing at different layers of the computing stack viz. circuits, architecture and software. To this end, we will first motivate the need and opportunity for approximate computing by demonstrating how the nature of workloads has fundamentally changed in recent years. We then describe and quantify the sources of intrinsic application resilience in a broad class of emerging applications. Next, we will present the design philosophy behind approximate computing and outline a holistic cross-layered framework to design approximate computing platforms. We will present detailed description of the state-of-the-art in approximate computing at various levels of the stack: (i) manual designs and automatic design methodologies for approximate circuits, (ii) architecture level approaches to build application-specific as well as programmable approximate processors, and (iii) software techniques for approximate computing on general-purpose platforms. Finally, we will conclude by outlining the key challenges that need to be addressed for approximate computing to enter the mainstream.

Related Organizations
  • BIP!
    Impact byBIP!
    selected citations
    These citations are derived from selected sources.
    This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
    3
    popularity
    This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network.
    Average
    influence
    This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
    Average
    impulse
    This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network.
    Average
Powered by OpenAIRE graph
Found an issue? Give us feedback
selected citations
These citations are derived from selected sources.
This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
BIP!Citations provided by BIP!
popularity
This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network.
BIP!Popularity provided by BIP!
influence
This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
BIP!Influence provided by BIP!
impulse
This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network.
BIP!Impulse provided by BIP!
3
Average
Average
Average
Upload OA version
Are you the author of this publication? Upload your Open Access version to Zenodo!
It’s fast and easy, just two clicks!