Approximate Systems: Synergistically Approximating Sensing, Computing, Memory, and Communication Subsystems for Energy Efficiency

  • Arnab RahaEmail author
  • Vijay Raghunathan


Emerging application domains exhibit the property of intrinsic error resilience that enables new avenues for energy optimization of computing systems, namely the introduction of a small amount of approximations during system operation in exchange for substantial energy savings. Almost all prior work in the area of approximate computing has focused on individual subsystems of a computing system, e.g., the computational subsystem or the memory subsystem. Since they focus only on individual subsystems, these techniques are unable to exploit the large energy-saving opportunities that stem from adopting a full-system perspective and approximating multiple subsystems of a computing platform simultaneously in a coordinated manner. Towards this end, this chapter introduces the concept of an Approximate System that performs joint approximations across different subsystems, leading to significant energy benefits compared to approximating individual subsystems in isolation. We use the example of a smart camera system that executes various computer vision and image processing applications to illustrate how the sensing, memory, processing, and communication subsystems can all be approximated synergistically. The approximate smart camera system was implemented using an Altera Stratix IV GX FPGA development board, a Terasic TRDB-D5M 5 Megapixel camera module, a Terasic RFS WiFi module, and a 1 GB DDR3 DRAM SODIMM module. Experimental results obtained using six application benchmarks demonstrate that the proposed full-system approximation methodology achieves significant energy savings of 1.8 × to 5.5 × on average over individual subsystem-level approximations for minimal (<1%) application-level quality loss.


  1. 1.
    Gupta V, Mohapatra D, Park SP, Raghunathan A, Roy K (2011) IMPACT: IMPrecise adders for low-power approximate computing. In: Proceedings of ISLPED 2011, pp 409–414Google Scholar
  2. 2.
    Raha A, Jayakumar H, Raghunathan V (2016) Input-based dynamic reconfiguration of approximate arithmetic units for video encoding. IEEE Trans VLSI Syst 24(3):846–857CrossRefGoogle Scholar
  3. 3.
    Kulkarni P, Gupta P, Ercegovac M (2011) Trading accuracy for power with an underdesigned multiplier architecture. In: Proceedings of VLSI design, pp 346–351Google Scholar
  4. 4.
    Shin D, Gupta SK (March 2010) Approximate logic synthesis for error tolerant applications. In: Proceedings of DATE, pp 957–960Google Scholar
  5. 5.
    Krause PK, Polian I (March 2011) Adaptive voltage over-scaling for resilient applications. In: Proceedings of DATE, pp 1–6Google Scholar
  6. 6.
    Venkataramani S, Sabne A, Kozhikkottu V, Roy K, Raghunathan A (2012) Salsa: systematic logic synthesis of approximate circuits. In: Proceedings of DAC, pp 796–801Google Scholar
  7. 7.
    Ranjan A, Raha A, Venkataramani S, Roy K, Raghunathan A (2014) ASLAN: synthesis of approximate sequential circuits. In: Proceedings of DATE, pp 364:1–364:6Google Scholar
  8. 8.
    Raha A, Raghunathan V (2017) qLUT: input-aware quantized table lookup for energy-efficient approximate accelerators. ACM Trans Embed Comput Syst 16(5s):130:1–130:23CrossRefGoogle Scholar
  9. 9.
    Nepal K, Li Y, Bahar RI, Reda S (2014) ABACUS: a technique for automated behavioral synthesis of approximate computing circuits. In: Proceedings of DATE, pp 361:1–6Google Scholar
  10. 10.
    Esmaeilzadeh H, Sampson A, Ceze L, Burger D (2012) Neural acceleration for general-purpose approximate programs. In: Proceedings of MICRO-45, pp 449–460Google Scholar
  11. 11.
    Samadi M, Lee J, Jamshidi DA, Hormati A, Mahlke S (2013) SAGE: Self-tuning Approximation for Graphics Engines. In: Proceedings of MICRO-46, pp 13–24Google Scholar
  12. 12.
    Venkataramani S, Chippa V, Chakradhar S, Roy K, Raghunathan A (2013) Quality programmable vector processors for approximate computing. In: Proceedings of MICRO-46, pp 1–12Google Scholar
  13. 13.
    Sidiroglou-Douskos S, Misailovic S, Hoffmann H, Rinard M (2011) Managing performance vs. accuracy trade-offs with loop perforation. In: Proceedings of ESEC/FSE, pp 124–134Google Scholar
  14. 14.
    Raha A, Venkataramani S, Raghunathan V, Raghunathan A (2015) Quality configurable reduce-and-rank for energy efficient approximate computing. In: Proceedings of DATE, pp 89–98Google Scholar
  15. 15.
    Raha A, Venkataramani S, Raghunathan V, Raghunathan A (2017) Energy-efficient reduce-and-rank using input-adaptive approximations. IEEE Trans VLSI Syst 25:462–475CrossRefGoogle Scholar
  16. 16.
    Shoushtari M, BanaiyanMofrad A, Dutt N (2015) Exploiting partially-forgetful memories for approximate computing. IEEE Embed Syst Lett 7:19–22CrossRefGoogle Scholar
  17. 17.
    Raha A, Sutar S, Jayakumar H, Raghunathan V (2015) Quality-aware data allocation in approximate DRAM. In: Proceedings of CASES, pp 89–98Google Scholar
  18. 18.
    Ranjan A, Raha A, Raghunathan V, Raghunathan A (2017) Approximate memory compression for energy-efficiency. In: Proceedings of ISLPED, pp 1–6Google Scholar
  19. 19.
    Sampson A, Nelson J, Strauss K, Ceze L (2013) Approximate storage in solid-state memories. In: Proceedings of MICRO, pp 25–36Google Scholar
  20. 20.
    Sampaio F, Shafique M, Zatt B, Bampi S, Henkel J (2015) Approximation-aware multi-level cells STT-RAM cache architecture. In: Proceedings of CASES, pp 79–88Google Scholar
  21. 21.
    Mittal S (2016) A survey of techniques for approximate computing. ACM Comput Surv 48:62:1–62:33Google Scholar
  22. 22.
    Stanley-Marbell P, Rinard M (2015) Lax: driver interfaces for approximate sensor device access. In: HotOSGoogle Scholar
  23. 23.
    LiKamWa R, Priyantha B, Philipose M, Zhong L, Bahl P (2013) Energy characterization and optimization of image sensing toward continuous mobile vision. In: MobiSys, pp 69–82Google Scholar
  24. 24.
    Zhao M, Zhang H, Chen X, Chen Y, Xue CJ (2013) Online OLED dynamic voltage scaling for video streaming applications on mobile devices. In: Proceedings of CODES, pp 1–10Google Scholar
  25. 25.
    Stanley-Marbell P, Estellers V, Rinard M (2016) Crayon: saving power through shape and color approximation on next-generation displays. In: Proceedings of EuroSys, pp 11:1–11:17Google Scholar
  26. 26.
    Stanley-Marbell P, Rinard M (2016) Reducing serial i/o power in error-tolerant applications by efficient lossy encoding. In: Proceedings of DAC, pp 62:1–62:6Google Scholar
  27. 27.
    Kim Y, Behroozi S, Raghunathan V, Raghunathan A (2017) Axserbus: a quality-configurable approximate serial bus for energy-efficient sensing. In: Proceedings of ISLPED, pp 1–6Google Scholar
  28. 28.
    Zordan D, Martinez B, Vilajosana I, Rossi M (2014) On the performance of lossy compression schemes for energy constrained sensor networking. ACM Trans Sens Netw 11:15:1–15:34CrossRefGoogle Scholar
  29. 29.
    Sadler C, Martonosi M (2006) Data compression algorithms for energy-constrained devices in delay tolerant networks. In: Proceedings of SenSys, pp 265–278Google Scholar
  30. 30.
    Ma T, Hempel M, Peng D, Sharif H (2013) A survey of energy-efficient compression and communication techniques for multimedia in resource constrained systems. IEEE Commun Surv Tutorials 15:963–972CrossRefGoogle Scholar
  31. 31.
    Jung M, Mathew DM, Weis C, Wehn N (2016) Approximate computing with partially unreliable dynamic random access memory - approximate dram. In: Proceedings of DAC, pp 100:1–100:4Google Scholar
  32. 32.
    Raha A, Sutar S, Jayakumar H, Raghunathan V (2017) Quality configurable approximate DRAM. IEEE Trans Comput 66:1172–1187MathSciNetCrossRefGoogle Scholar
  33. 33.
    Raha A, Raghunathan V (2017) Towards full-system energy-accuracy tradeoffs: A case study of an approximate smart camera system. In: Proceedings of DACGoogle Scholar
  34. 34.
    Barr KC, Asanović K (2006) Energy-aware lossless data compression. ACM Trans Comput Syst 24:250–291CrossRefGoogle Scholar
  35. 35.
    Karakonstantis G, Panagopoulos G, Roy K (2010) Herqules: system level cross-layer design exploration for efficient energy-quality trade-offs. In: Proceedings of ISLPED, pp 117–122Google Scholar
  36. 36.
    Raha A, Raghunathan V (2017) Synergistic approximation of computation and memory subsystems for error-resilient applications. IEEE Embed Syst Lett 9(1):21–24CrossRefGoogle Scholar
  37. 37.
    Ko T, Charbiwala ZM, Ahmadian S, Rahimi M, Srivastava MB, Soatto S, Estrin D (2007) Exploring tradeoffs in accuracy, energy and latency of scale invariant feature transform in wireless camera networks. In: ICDCS, pp 313–320Google Scholar
  38. 38.
    Wikipedia (2017). JPEG — Wikipedia, the free EncyclopediaGoogle Scholar
  39. 39.
    Espressif (March 2017) ESP8266Google Scholar
  40. 40.
    Monsoon Solutions Inc. (May 2017) Power monitorGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.Intel LabsSanta ClaraUSA
  2. 2.Purdue UniversityWest LafayetteUSA

Personalised recommendations