Header menu link for other important links
X
Data Subsetting: A Data-Centric Approach to Approximate Computing
Published in Institute of Electrical and Electronics Engineers Inc.
2019
Pages: 576 - 581
Abstract
Approximate Computing (AxC), which leverages the intrinsic resilience of applications to approximations in their underlying computations, has emerged as a promising approach to improving computing system efficiency. Most prior efforts in AxC take a compute-centric approach and approximate arithmetic or other compute operations through design techniques at different levels of abstraction. However, emerging workloads such as machine learning, search and data analytics process large amounts of data and are significantly limited by the memory sub-systems of modern computing platforms.In this work, we shift the focus of approximations from computations to data, and propose a data-centric approach to AxC, which can boost the performance of memory-subsystem-limited applications. The key idea is to modulate the application's data-accesses in a manner that reduces off-chip memory traffic. Specifically, we propose a data-access approximation technique called data subsetting, in which all accesses to a data structure are redirected to a subset of its elements so that the overall footprint of memory accesses is decreased. We realize data subsetting in a manner that is transparent to hardware and requires only minimal changes to application software. Recognizing that most applications of interest represent and process data as multi-dimensional arrays or tensors, we develop a templated data structure called SubsettableTensor that embodies mechanisms to define the accessible subset and to suitably redirect accesses to elements outside the subset. As a further optimization, we observe that data subsetting may cause some computations to become redundant and propose a mechanism for application software to identify and eliminate such computations. We implement SubsettableTensor as a C++ class and evaluate it using parallel software implementations of 7 machine learning applications on a 48-core AMD Opteron server. Our experiments indicate that data subsetting enables 1.33×-4.44× performance improvement with <0.5% loss in application-level quality, underscoring its promise as a new approach to approximate computing. © 2019 EDAA.
Concepts (14)
  •  related image
    Application programs
  •  related image
    C++ (programming language)
  •  related image
    Data analytics
  •  related image
    Data structures
  •  related image
    Machine learning
  •  related image
    APPLICATION LEVEL
  •  related image
    APPROXIMATION TECHNIQUES
  •  related image
    DATA-CENTRIC APPROACHES
  •  related image
    LARGE AMOUNTS OF DATA
  •  related image
    Levels of abstraction
  •  related image
    MACHINE LEARNING APPLICATIONS
  •  related image
    MULTIDIMENSIONAL ARRAYS
  •  related image
    OFF-CHIP MEMORY TRAFFICS
  •  related image
    Search engines