Advertisement

On Accelerating Data Analytics: An Introduction to the Approximate Computing Technique

  • Georgios ZervakisEmail author
Chapter
Part of the Power Systems book series (POWSYS)

Abstract

Approximate computing is a computation technique which returns a possibly inaccurate result rather than a guaranteed accurate result, and can be used for applications where an approximate result is sufficient for its purpose. This technique is gaining traction as a computing paradigm for data analytics and cognitive applications that aim to extract deep insight from vast quantities of data, such as those that affect the smart-grid domain. This chapter introduces the technology drawbacks for enhancing further the processing power of computational resources and then proposes the concept of approximate computing. A survey for these techniques applied both at software and hardware level are also discussed.

References

  1. 1.
    Agrawal, A., Choi, J., Gopalakrishnan, K., Gupta, S., Nair, R., Oh, J., Prener, D.A., Shukla, S., Srinivasan, V., Sura, Z.: Approximate computing: challenges and opportunities. In: 2016 IEEE International Conference on Rebooting Computing (ICRC), pp. 1–8 (2016)Google Scholar
  2. 2.
    Baek, W., Chilimbi, T.M.: Green: A framework for supporting energy-conscious programming using controlled approximation. In: Proceedings of the 31st ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI ’10, pp. 198–209. ACM, New York, NY, USA (2010).  https://doi.org/10.1145/1806596.1806620
  3. 3.
    Banescu, S., de Dinechin, F., Pasca, B., Tudoran, R.: Multipliers for floating-point double precision and beyond on fpgas. SIGARCH Comput. Archit. News 38(4), 73–79 (2011)CrossRefGoogle Scholar
  4. 4.
    Beaty, D.: Internal it load profile variability. ASHRAE J. 55, 72–74 (2013)Google Scholar
  5. 5.
    Bohr, M.: A 30 year retrospective on dennard’s mosfet scaling paper. IEEE Solid-State Circuits Soc. Newsl. 12(1), 11–13 (2007)CrossRefGoogle Scholar
  6. 6.
  7. 7.
    Bornholt, J., Mytkowicz, T., McKinley, K.S.: Uncertain\(<\)t\(>\): abstractions for uncertain hardware and software. IEEE Micro 35(3), 132–143 (2015)CrossRefGoogle Scholar
  8. 8.
    Carbin, M., Misailovic, S., Rinard, M.C.: Verifying quantitative reliability for programs that execute on unreliable hardware. In: Proceedings of the 2013 ACM SIGPLAN International Conference on Object Oriented Programming Systems Languages & Applications, OOPSLA ’13, pp. 33–52. ACM, New York, NY, USA (2013).  https://doi.org/10.1145/2509136.2509546
  9. 9.
    Castellazzi, L., Maria, A., Bertoldi, P.: Trends in data centre energy consumption under the european code of conduct for data centre energy efficiency. Technical report, European Commission, Joint Research Centre (JRC) (2017)Google Scholar
  10. 10.
    Chakradhar, S.T., Raghunathan, A.: Best-effort computing: re-thinking parallel software and hardware. In: Design Automation Conference (DAC), pp. 865–870 (2010)Google Scholar
  11. 11.
    Chippa, V.K., Chakradhar, S.T., Roy, K., Raghunathan, A.: Analysis and characterization of inherent application resilience for approximate computing. In: Design Automation Conference, pp. 1–9 (2013)Google Scholar
  12. 12.
    Dennard, R.H., Cai, J., Kumar, A.: A perspective on todays scaling challenges and possible future directions. Solid-State Electron. 51(4):518 – 525 (2007). http://www.sciencedirect.com/science/article/pii/S0038110107000500CrossRefGoogle Scholar
  13. 13.
    Dennard, R.H., Gaensslen, F.H., Rideout, V.L., Bassous, E., LeBlanc, A.R.: Design of ion-implanted mosfet’s with very small physical dimensions. IEEE J. Solid-State Circuits 9(5), 256–268 (1974)CrossRefGoogle Scholar
  14. 14.
  15. 15.
    Esmaeilzadeh, H.: Approximate acceleration for a post multicore era. Ph.D. thesis, University of Washington (2013)Google Scholar
  16. 16.
    Esmaeilzadeh, H., Blem, E., St. Amant, R., Sankaralingam, K., Burger, D.: Dark silicon and the end of multicore scaling. In: International Symposium on Computer Architecture (ISCA), pp. 365–376 (2011)Google Scholar
  17. 17.
    Esmaeilzadeh, H., Blem, E., St. Amant, R., Sankaralingam, K., Burger, D.: Dark silicon and the end of multicore scaling. IEEE Micro 32(3), 122–134 (2012)CrossRefGoogle Scholar
  18. 18.
    Esmaeilzadeh, H., Sampson, A., Ceze, L., Burger, D.: Architecture support for disciplined approximate programming. In: International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), pp. 301–312 (2012)Google Scholar
  19. 19.
    Esmaeilzadeh, H., Sampson, A., Ceze, L., Burger, D.: Neural acceleration for general-purpose approximate programs. In: Proceedings of the 2012 45th Annual IEEE/ACM International Symposium on Microarchitecture, MICRO-45, pp. 449–460 (2012)Google Scholar
  20. 20.
    Ghasemzadeh, H., Jafari, R.: Ultra low-power signal processing in wearable monitoring systems: a tiered screening architecture with optimal bit resolution. ACM Trans. Embed. Comput. Syst. 13(1):9:1–9:23 (2013).  https://doi.org/10.1145/2501626.2501636CrossRefGoogle Scholar
  21. 21.
    Goiri, I., Bianchini, R., Nagarakatte, S., Nguyen, T.D.: Approxhadoop: Bringing approximations to mapreduce frameworks. In: Proceedings of the Twentieth International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS ’15, pp. 383–397. ACM, New York, NY, USA (2015).  https://doi.org/10.1145/2694344.2694351
  22. 22.
    Gupta, S., Agrawal, A., Gopalakrishnan, K., Narayanan, P.: Deep learning with limited numerical precision. In: International Conference on Machine Learning, pp. 1737–1746 (2015)Google Scholar
  23. 23.
    Gupta, V., Mohapatra, D., Park, S.P., Raghunathan, A., Roy, K.: Impact: Imprecise adders for low-power approximate computing. In: IEEE/ACM International Symposium on Low Power Electronics and Design, pp. 409–414 (2011)Google Scholar
  24. 24.
    Han, J., Orshansky, M.: Approximate computing: An emerging paradigm for energy-efficient design. In: 2013 18th IEEE European Test Symposium (ETS), pp. 1–6 (2013)Google Scholar
  25. 25.
    Hashemi, S., Bahar, R.I., Reda, S.: Drum: a dynamic range unbiased multiplier for approximate applications. In: Proceedings of the IEEE/ACM International Conference on Computer-Aided Design, pp. 418–425 (2015)Google Scholar
  26. 26.
    Henzinger, T.A., Sifakis, J.: The embedded systems design challenge. In: Proceedings of the 14th International Conference on Formal Methods, FM’06, pp. 1–15. Springer, Berlin, Heidelberg (2006).  https://doi.org/10.1007/11813040_1Google Scholar
  27. 27.
    Horowitz, M.: 1.1 computing’s energy problem (and what we can do about it). In: 2014 IEEE International Solid-State Circuits Conference Digest of Technical Papers (ISSCC), pp. 10–14 (2014)Google Scholar
  28. 28.
    Hu, C.: Gate oxide scaling limits and projection. In: International Electron Devices Meeting. Technical Digest, pp. 319–322 (1996)Google Scholar
  29. 29.
    Jiang, H., Han, J., Qiao, F., Lombardi, F.: Approximate radix-8 booth multipliers for low-power and high-performance operation. IEEE Trans. Comput. 65(8), 2638–2644 (2016)MathSciNetCrossRefGoogle Scholar
  30. 30.
    Kant, K.: Data center evolution: a tutorial on state of the art, issues, and challenges. Comput. Netw. 53(17), 2939–2965 (2009)CrossRefGoogle Scholar
  31. 31.
    King, E., Swartzlander, E.: Data dependent truncated scheme for parallel multiplication. In: Proceedings of the Thirty First Asilomar Conference on Signals, Circuits and Systems, pp. 1178–1182 (1998)Google Scholar
  32. 32.
    Koh, M., Mizubayashi, W., Iwamoto, K., Murakami, H., Ono, T., Tsuno, M., Mihara, T., Shibahara, K., Miyazaki, S., Hirose, M.: Limit of gate oxide thickness scaling in mosfets due to apparent threshold voltage fluctuation induced by tunnel leakage current. IEEE Trans. Electron Devices 48(2), 259–264 (2001)CrossRefGoogle Scholar
  33. 33.
    Krishnan, D.R., Quoc, D.L., Bhatotia, P., Fetzer, C., Rodrigues, R.: Incapprox: A data analytics system for incremental approximate computing. In: Proceedings of the 25th International Conference on World Wide Web, WWW ’16, pp. 1133–1144. International World Wide Web Conferences Steering Committee, Republic and Canton of Geneva, Switzerland (2016).  https://doi.org/10.1145/2872427.2883026
  34. 34.
    Kuhn, K.J.: Moore’s law past 32 nm: future challenges in device scaling. In: 2009 13th International Workshop on Computational Electronics, pp. 1–6 (2009)Google Scholar
  35. 35.
    Kuhn, K.J.: Cmos transistor scaling past 32 nm and implications on variation. In: 2010 IEEE/SEMI Advanced Semiconductor Manufacturing Conference (ASMC), pp. 241–246 (2010)Google Scholar
  36. 36.
    Kulkarni, P., Gupta, P., Ercegovac, M.: Trading accuracy for power with an underdesigned multiplier architecture. In: 24th International Conference on VLSI Design, pp. 346–351 (2011)Google Scholar
  37. 37.
    Lee, S., John, L.K., Gerstlauer, A.: High-level synthesis of approximate hardware under joint precision and voltage scaling. In: Design, Automation Test in Europe, pp. 187–192 (2017)Google Scholar
  38. 38.
    Li, C., Luo, W., Sapatnekar, S.S., Hu, J.: Joint precision optimization and high level synthesis for approximate computing. In: Design Automation Conference (DAC), pp. 104:1–104:6 (2015)Google Scholar
  39. 39.
    Lingamneni, A., Enz, C., Palem, K., Piguet, C.: Synthesizing parsimonious inexact circuits through probabilistic design techniques. ACM Trans. Embed. Comput. Syst. 12(2s):93:1–93:26 (2013)CrossRefGoogle Scholar
  40. 40.
    Liu, C., Han, J., Lombardi, F.: A low-power, high-performance approximate multiplier with configurable partial error recovery. In: Design, Automation and Test in Europe, pp. 1–4 (2014)Google Scholar
  41. 41.
    Liu, W., Qian, L., Wang, C., Jiang, H., Han, J., Lombardi, F.: Design of approximate radix-4 booth multipliers for error-tolerant computing. IEEE Trans. Comput. 66(8), 1435–1441 (2017)MathSciNetCrossRefGoogle Scholar
  42. 42.
    Liu, Y., Zhang, T., Parhi, K.K.: Computation error analysis in digital signal processing systems with overscaled supply voltage. IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 18(4):517–526 (2010)CrossRefGoogle Scholar
  43. 43.
    Mahdiani, H.R., Ahmadi, A., Fakhraie, S.M., Lucas, C.: Bio-inspired imprecise computational blocks for efficient vlsi implementation of soft-computing applications. IEEE Trans. Circuits Syst. I Regul. Pap. 57(4), 850–862 (2010).  https://doi.org/10.1109/TCSI.2009.2027626MathSciNetCrossRefGoogle Scholar
  44. 44.
    Miao, J., Gerstlauer, A., Orshansky, M.: Multi-level approximate logic synthesis under general error constraints. In: International Conference on Computer-Aided Design (ICCAD), pp. 504–510 (2014)Google Scholar
  45. 45.
    Miao, J., He, K., Gerstlauer, A., Orshansky, M.: Modeling and synthesis of quality-energy optimal approximate adders. In: International Conference on Computer-Aided Design, pp. 728–735 (2012)Google Scholar
  46. 46.
    Misailovic, S., Carbin, M., Achour, S., Qi, Z., Rinard, M.C.: Chisel: Reliability- and accuracy-aware optimization of approximate computational kernels. In: Proceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages Applications, pp. 309–328 (2014)Google Scholar
  47. 47.
    Misailovic, S., Sidiroglou, S., Hoffmann, H., Rinard, M.: Quality of service profiling. In: Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1, ICSE ’10, pp. 25–34. ACM, New York, NY, USA (2010).  https://doi.org/10.1145/1806799.1806808
  48. 48.
    Mishra, A.K., Barik, R., Paul, S.: iact: a software-hardware framework for understanding the scope of approximate computing. In: Workshop on Approximate Computing Across the System Stack (WACAS) (2014)Google Scholar
  49. 49.
    Mitra, S., Gupta, M.K., Misailovic, S., Bagchi, S.: Phase-aware optimization in approximate computing. In: Proceedings of the 2017 International Symposium on Code Generation and Optimization, CGO ’17, pp. 185–196. IEEE Press, Piscataway, NJ, USA (2017). http://dl.acm.org/citation.cfm?id=3049832.3049853
  50. 50.
    Momeni, A., Han, J., Montuschi, P., Lombardi, F.: Design and analysis of approximate compressors for multiplication. IEEE Trans. Comput. 64(4), 984–994 (2015)MathSciNetCrossRefGoogle Scholar
  51. 51.
    Moore, G.E.: Cramming more components onto integrated circuits, reprinted from electronics, volume 38, number 8, 19 April 1965, pp. 114 ff. IEEE Solid-State Circuits Soc. Newsl. 11(3):33–35 (2006)CrossRefGoogle Scholar
  52. 52.
    Nair, R.: Big data needs approximate computing: technical perspective. Commun. ACM 58(1):104–104 (2014).  https://doi.org/10.1145/2688072CrossRefGoogle Scholar
  53. 53.
    Narayanamoorthy, S., Moghaddam, H.A., Liu, Z., Park, T., Kim, N.S.: Energy-efficient approximate multiplication for digital signal processing and classification applications. IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 23(6):1180–1184 (2015)CrossRefGoogle Scholar
  54. 54.
    Nepal, K., Li, Y., Bahar, R.I., Reda, S.: Abacus: a technique for automated behavioral synthesis of approximate computing circuits. In: Design, Automation & Test in Europe (DATE), pp. 361:1–361:6 (2014)Google Scholar
  55. 55.
    von Neumann, J.: Probabilistic logics and the synthesis of reliable organisms from unreliable components. Automata Studies, pp. 43–98. Princeton University Press, Princeton (1956)Google Scholar
  56. 56.
    Ni, J., Bai, X.: A review of air conditioning energy performance in data centers. Renew. Sustain. Energy Rev. 67:625–640 (2017).  https://doi.org/10.1016/j.rser.2016.09.050, http://www.sciencedirect.com/science/article/pii/S136403211630541XCrossRefGoogle Scholar
  57. 57.
    Oro, E., Depoorter, V., Garcia, A., Salom, J.: Energy efficiency and renewable energy integration in data centres. Strat. Model. Rev. 42 (2015)Google Scholar
  58. 58.
    Park, J., Amaro, E., Mahajan, D., Thwaites, B., Esmaeilzadeh, H.: Axgames: towards crowdsourcing quality target determination in approximate computing. In: Proceedings of the Twenty-First International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS ’16, pp. 623–636. ACM, New York, NY, USA (2016).  https://doi.org/10.1145/2872362.2872376
  59. 59.
    Poppelbaum, W.J., Afuso, C., Esch, J.W.: Stochastic computing elements and systems. In: Proceedings of the 14–16 November 1967, Fall Joint Computer Conference, AFIPS ’67 (Fall), pp. 635–644. ACM, New York, NY, USA (1967).  https://doi.org/10.1145/1465611.1465696
  60. 60.
    Quoc, D.L.: Approximate data analytics systems. Ph.D. thesis, Technische Universitat Dresden (2017)Google Scholar
  61. 61.
    Ringenburg, M., Sampson, A., Ackerman, I., Ceze, L., Grossman, D.: Monitoring and debugging the quality of results in approximate programs. In: Proceedings of the Twentieth International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS ’15, pp. 399–411. ACM, New York, NY, USA (2015).  https://doi.org/10.1145/2694344.2694365
  62. 62.
    Rong, H., Zhang, H., Xiao, S., Li, C., Hu, C.: Optimizing energy consumption for data centers. Renew. Sustain. Energy Rev. 58, 674–691 (2016)CrossRefGoogle Scholar
  63. 63.
    Rubio-Gonzlez, C., Nguyen, C., Nguyen, H.D., Demmel, J., Kahan, W., Sen, K., Bailey, D.H., Iancu, C., Hough, D.: Precimonious: tuning assistant for floating-point precision. In: 2013 SC - International Conference for High Performance Computing, Networking, Storage and Analysis (SC), pp. 1–12 (2013)Google Scholar
  64. 64.
    Samadi, M., Jamshidi, D.A., Lee, J., Mahlke, S.: Paraprox: Pattern-based approximation for data parallel applications. In: Proceedings of the 19th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS ’14, pp. 35–50. ACM, New York, NY, USA (2014).  https://doi.org/10.1145/2541940.2541948
  65. 65.
    Samadi, M., Lee, J., Jamshidi, D.A., Hormati, A., Mahlke, S.: Sage: Self-tuning approximation for graphics engines. In: 2013 46th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO), pp. 13–24 (2013)Google Scholar
  66. 66.
    Sampson, A.: Approximate acceleration for a post multicore era. Ph.D. thesis, University of Washington (2015)Google Scholar
  67. 67.
    Sampson, A., Dietl, W., Fortuna, E., Gnanapragasam, D., Ceze, L., Grossman, D.: Enerj: approximate data types for safe and general low-power computation. In: Proceedings of the 32nd ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI ’11, pp. 164–174 (2011)Google Scholar
  68. 68.
    Sampson, A., Panchekha, P., Mytkowicz, T., McKinley, K.S., Grossman, D., Ceze, L.: Expressing and verifying probabilistic assertions. In: Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI ’14, pp. 112–122. ACM, New York, NY, USA (2014).  https://doi.org/10.1145/2594291.2594294
  69. 69.
    Schkufza, E., Sharma, R., Aiken, A.: Stochastic optimization of floating-point programs with tunable precision. In: Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI ’14, pp. 53–64. ACM, New York, NY, USA (2014).  https://doi.org/10.1145/2594291.2594302
  70. 70.
    Schulte, M., Swartzlander, E.: Truncated multiplication with correction constant. In: VLSI Signal Processing VI, pp. 388–396 (1993)Google Scholar
  71. 71.
    Shahidi, G.G., Warnock, J.D., Comfort, J., Fischer, S., McFarland, P.A., Acovic, A., Chappell, T.I., Chappell, B.A., Ning, T.H., Anderson, C.J., Dennard, R.H., Sun, J.Y.C., Polcari, M.R., Davari, B.: Cmos scaling in the 0.1-\(\upmu \), 1.x-volt regime for high-performance applications. IBM J. Res. Dev. 39(1.2):229–244 (1995)Google Scholar
  72. 72.
    Shehabi, A., Smith, S.J., Sartor, D.A., Brown, R.E., Herrlin, M., Koomey, J.G., Masanet, E.R., Nathaniel, H., Azevedoan, I.L., William, L.: United states data center energy usage report. Technical report, Lawrence Berkley National Laboratory (2016)Google Scholar
  73. 73.
    Sui, X., Lenharth, A., Fussell, D.S., Pingali, K.: Proactive control of approximate programs. In: Proceedings of the Twenty-First International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS ’16, pp. 607–621. ACM, New York, NY, USA (2016).  https://doi.org/10.1145/2872362.2872402
  74. 74.
    Venkataramani, S., Chakradhar, S.T., Roy, K., Raghunathan, A.: Approximate computing and the quest for computing efficiency. In: Proceedings of the 52nd Annual Design Automation Conference, DAC ’15, pp. 120:1–120:6. ACM, New York, NY, USA (2015).  https://doi.org/10.1145/2744769.2751163
  75. 75.
    Venkataramani, S., Sabne, A., Kozhikkottu, V., Roy, K., Raghunathan, A.: Salsa: systematic logic synthesis of approximate circuits. In: Design Automation Conference (DAC), pp. 796–801 (2012)Google Scholar
  76. 76.
    Venkatesan, R., Agarwal, A., Roy, K., Raghunathan, A.: Macaco: modeling and analysis of circuits for approximate computing. In: International Conference on Computer-Aided Design, pp. 667–673 (2011)Google Scholar
  77. 77.
    Verma, A.K., Brisk, P., Ienne, P.: Variable latency speculative addition: a new paradigm for arithmetic circuit design. In: Design, Automation and Test in Europe, pp. 1250–1255 (2008)Google Scholar
  78. 78.
    Zendegani, R., Kamal, M., Bahadori, M., Afzali-Kusha, A., Pedram, M.: RoBa multiplier: a rounding-based approximate multiplier for high-speed yet energy-efficient digital signal processing. IEEE Trans. Very Large Scale Integr. Syst. 25(2), 393–401 (2017)CrossRefGoogle Scholar
  79. 79.
    Zervakis, G., Xydis, S., Tsoumanis, K., Soudris, D., Pekmestzi, K.: Hybrid approximate multiplier architectures for improved power-accuracy trade-offs. In: International Symposium on Low Power Electronics and Design (ISLPED), pp. 79–84 (2015)Google Scholar
  80. 80.
    Zhu, N., Goh, W.L., Zhang, W., Yeo, K.S., Kong, Z.H.: Design of low-power high-speed truncation-error-tolerant adder and its application in digital signal processing. IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 18(8):1225–1229 (2010)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.School of ECENational Technical University of AthensAthensGreece

Personalised recommendations