skip to main content
research-article

ECAx: Balancing Error Correction Costs in Approximate Accelerators

Authors Info & Claims
Published:07 October 2019Publication History
Skip Abstract Section

Abstract

Approximate computing has emerged as a design paradigm amenable to error-tolerant applications. It enables trading the quality of results for efficiency improvement in terms of delay, power, and energy consumption under user-provided tolerable quality degradation. Approximate accelerators have been proposed to expedite frequently executing code sections of error-resilient applications while meeting a defined quality level. However, these accelerators may produce unacceptable errors at run time if the input data changes or dynamic adjustments are made for a defined output quality constraint. State-of-the-art approaches in approximate computing address this issue by correctly re-computing those accelerator invocations that produce unacceptable errors; this is achieved by using the host processor or an alternate exact accelerator, which is activated on-demand. Nevertheless, such approaches can nullify the benefits of approximate computing, especially when input data variations are high at run time and errors due to approximations are above a tolerable threshold. As a robust and general solution to this problem, we propose ECAx, a novel methodology to explore low-overhead error correction in approximate accelerators by selectively correcting most significant errors, in terms of their magnitude, without losing the gains of approximations. We particularly consider the case of approximate accelerators built with approximate functional units such as approximate adders. Our novel methodology reduces the required exact re-computations on the host processor, achieving up to 20% performance gain compared to state-of-the-art approaches.

References

  1. Muhammad Kamran Ayub, Osman Hasan, and Muhammad Shafique. 2017. Statistical error analysis for low power approximate adders. In 2017 54th ACM/EDAC/IEEE Design Automation Conference (DAC). 1--6. DOI:https://doi.org/10.1145/3061639.3062319Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Woongki Baek and Trishul M. Chilimbi. 2010. 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). ACM, New York, NY, USA, 198--209. DOI:https://doi.org/10.1145/1806596.1806620Google ScholarGoogle Scholar
  3. Kartikeya Bhardwaj, Pravin S. Mane, and Jörg Henkel. 2014. Power- and area-efficient approximate wallace tree multiplier for error-resilient systems. In Fifteenth International Symposium on Quality Electronic Design. 263--269. DOI:https://doi.org/10.1109/ISQED.2014.6783335Google ScholarGoogle ScholarCross RefCross Ref
  4. Andrew Canis, Jongsok Choi, Mark Aldham, Victor Zhang, Ahmed Kammoona, Tomasz Czajkowski, Stephen D. Brown, and Jason H. Anderson. 2013. LegUp: An open-source high-level synthesis tool for FPGA-based processor/accelerator systems. ACM Trans. Embed. Comput. Syst. 13, 2, Article 24 (Sept. 2013), 27 pages. DOI:https://doi.org/10.1145/2514740Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Jorge Castro-Godínez, Sven Esser, Muhammad Shafique, Santiago Pagani, and Jörg Henkel. 2018. Compiler-driven error analysis for designing approximate accelerators. In 2018 Design, Automation Test in Europe Conference Exhibition (DATE). 1027--1032. DOI:https://doi.org/10.23919/DATE.2018.8342163Google ScholarGoogle Scholar
  6. Vinay K. Chippa, Srimat T. Chakradhar, Kaushik Roy, and Anand Raghunathan. 2013. Analysis and characterization of inherent application resilience for approximate computing. In 2013 50th ACM/EDAC/IEEE Design Automation Conference (DAC). 1--9. DOI:https://doi.org/10.1145/2463209.2488873Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Jason Cong, Mohammad Ali Ghodrat, Michael Gill, Beayna Grigorian, Karthik Gururaj, and Glenn Reinman. 2014. Accelerator-rich architectures: Opportunities and progresses. In 2014 51st ACM/EDAC/IEEE Design Automation Conference (DAC). 1--6. DOI:https://doi.org/10.1145/2593069.2596667Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Alberto A. Del Barrio, Roman Hermida, Seda Ogrenci Memik, Jose M. Mendias, and Maria C. Molina. 2013. Multispeculative additive trees in high-level synthesis. In 2013 Design, Automation Test in Europe Conference Exhibition (DATE). 188--193. DOI:https://doi.org/10.7873/DATE.2013.052Google ScholarGoogle Scholar
  9. Sunil Dutt, Harsh Patel, Sukumar Nandi, and Gaurav Trivedi. 2016. Exploring approximate computing for yield improvement via re-design of adders for error-resilient applications. In 2016 29th International Conference on VLSI Design and 2016 15th International Conference on Embedded Systems (VLSID). 134--139. DOI:https://doi.org/10.1109/VLSID.2016.101Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Hadi Esmaeilzadeh, Adrian Sampson, Luis Ceze, and Doug Burger. 2012. Neural acceleration for general-purpose approximate programs. In 2012 45th Annual IEEE/ACM International Symposium on Microarchitecture. 449--460. DOI:https://doi.org/10.1109/MICRO.2012.48Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. G. A. Gillani, Muhammad Abdullah Hanif, M. Krone, Sabih H. Gerez, Muhammad Shafique, and André B. J. Kokkeler. 2018. SquASH: Approximate square-accumulate with self-healing. IEEE Access 6 (2018), 49112--49128. DOI:https://doi.org/10.1109/ACCESS.2018.2868036Google ScholarGoogle Scholar
  12. Soheil Hashemi, R. Iris Bahar, and Sherief Reda. 2015. DRUM: A dynamic range unbiased multiplier for approximate applications. In 2015 IEEE/ACM International Conference on Computer-Aided Design (ICCAD). 418--425. DOI:https://doi.org/10.1109/ICCAD.2015.7372600Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. John L. Hennessy and David A. Patterson. 2012. Computer Architecture: A Quantitative Approach (5 ed.). Morgan Kaufmann.Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Andrew B. Kahng and Seokhyeong Kang. 2012. Accuracy-configurable adder for approximate arithmetic designs. In DAC Design Automation Conference 2012. 820--825. DOI:https://doi.org/10.1145/2228360.2228509Google ScholarGoogle Scholar
  15. Daya S. Khudia, Babak Zamirai, Mehrzad Samadi, and Scott Mahlke. 2015. Rumba: An online quality management system for approximate computing. In 2015 ACM/IEEE 42nd Annual International Symposium on Computer Architecture (ISCA). 554--566. DOI:https://doi.org/10.1145/2749469.2750371Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Chaofan Li, Wei Luo, Sachin S. Sapatnekar, and Jiang Hu. 2015. Joint precision optimization and high level synthesis for approximate computing. In 2015 52nd ACM/EDAC/IEEE Design Automation Conference (DAC). 1--6. DOI:https://doi.org/10.1145/2744769.2744863Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Jinghang Liang, Jie Han, and Fabrizio Lombardi. 2013. New metrics for the reliability of approximate and probabilistic adders. IEEE Trans. Comput. 62, 9 (Sep. 2013), 1760--1771. DOI:https://doi.org/10.1109/TC.2012.146Google ScholarGoogle Scholar
  18. Divya Mahajan, Amir Yazdanbakhsh, Jongse Park, Bradley Thwaites, and Hadi Esmaeilzadeh. 2016. Towards statistical guarantees in controlling quality tradeoffs for approximate acceleration. In 2016 ACM/IEEE 43rd Annual International Symposium on Computer Architecture (ISCA). 66--77. DOI:https://doi.org/10.1109/ISCA.2016.16Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Hamid Reza Mahdiani, Ali Ahmadi, Sied Mehdi Fakhraie, and Caro Lucas. 2010. Bio-inspired imprecise computational blocks for efficient VLSI implementation of soft-computing applications. IEEE Transactions on Circuits and Systems I: Regular Papers 57, 4 (April 2010), 850--862. DOI:https://doi.org/10.1109/TCSI.2009.2027626Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Sana Mazahir, Osman Hasan, Rehan Hafiz, Muhammad Shafique, and Jörg Henkel. 2016. An area-efficient consolidated configurable error correction for approximate hardware accelerators. In 2016 53rd ACM/EDAC/IEEE Design Automation Conference (DAC). 1--6. DOI:https://doi.org/10.1145/2897937.2897981Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Sana Mazahir, Osman Hasan, Rehan Hafiz, Muhammad Shafique, and Jörg Henkel. 2017. Probabilistic error modeling for approximate adders. IEEE Trans. Comput. 66, 3 (March 2017), 515--530. DOI:https://doi.org/10.1109/TC.2016.2605382Google ScholarGoogle Scholar
  22. Sana Mazahir, Osman Hasan, and Muhammad Shafique. 2018. Adaptive approximate computing in arithmetic datapaths. IEEE Design Test 35, 4 (Aug 2018), 65--74. DOI:https://doi.org/10.1109/MDAT.2017.2772874Google ScholarGoogle ScholarCross RefCross Ref
  23. Mehrzad Samadi, Janghaeng Lee, D. Anoushe Jamshidi, Amir Hormati, and Scott Mahlke. 2013. SAGE: Self-tuning approximation for graphics engines. In Proceedings of the 46th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO-46). ACM, New York, NY, USA, 13--24. DOI:https://doi.org/10.1145/2540708.2540711Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Muhammad Shafique, Waqas Ahmad, Rehan Hafiz, and Jörg Henkel. 2015. A low latency generic accuracy configurable adder. In 2015 52nd ACM/EDAC/IEEE Design Automation Conference (DAC). 1--6. DOI:https://doi.org/10.1145/2744769.2744778Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Muhammad Shafique, Rehan Hafiz, Semeen Rehman, Walaa El-Harouni, and Jörg Henkel. 2016. Invited: Cross-layer approximate computing: From logic to architectures. In 2016 53nd ACM/EDAC/IEEE Design Automation Conference (DAC). 1--6. DOI:https://doi.org/10.1145/2897937.2905008Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Thomas N. Theis and H.-S. Philip Wong. 2017. The end of Moore’s law: A new beginning for information technology. Computing in Science Engineering 19, 2 (Mar 2017), 41--50. DOI:https://doi.org/10.1109/MCSE.2017.29Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Ajay K. Verma, Phillip Brisk, and Paolo Ienne. 2008. Variable latency speculative addition: A new paradigm for arithmetic circuit design. In 2008 Design, Automation and Test in Europe. 1250--1255. DOI:https://doi.org/10.1109/DATE.2008.4484850Google ScholarGoogle Scholar
  28. Ting Wang, Qian Zhang, Nam Sung Kim, and Qiang Xu. 2016. On effective and efficient quality management for approximate computing. In Proceedings of the 2016 International Symposium on Low Power Electronics and Design (ISLPED’16). ACM, New York, NY, USA, 156--161. DOI:https://doi.org/10.1145/2934583.2934608Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Qiang Xu, Todd Mytkowicz, and Nam Sung Kim. 2016. Approximate computing: A survey. IEEE Design Test 33, 1 (Feb 2016), 8--22. DOI:https://doi.org/10.1109/MDAT.2015.2505723Google ScholarGoogle ScholarCross RefCross Ref
  30. Siyuan Xu and Benjamin Carrion Schafer. 2017. Exposing approximate computing optimizations at different levels: From behavioral to gate-level. IEEE Transactions on Very Large Scale Integration (VLSI) Systems 25, 11 (Nov 2017), 3077--3088. DOI:https://doi.org/10.1109/TVLSI.2017.2735299Google ScholarGoogle ScholarCross RefCross Ref
  31. Rong Ye, Ting Wang, Feng Yuan, Rakesh Kumar, and Qiang Xu. 2013. On reconfiguration-oriented approximate adder design and its application. In 2013 IEEE/ACM International Conference on Computer-Aided Design (ICCAD). 48--54. DOI:https://doi.org/10.1109/ICCAD.2013.6691096Google ScholarGoogle ScholarCross RefCross Ref
  32. Ning Zhu, Wang Ling Goh, and Kiat Seng Yeo. 2009. An enhanced low-power high-speed adder for error-tolerant application. In Proceedings of the 2009 12th International Symposium on Integrated Circuits. 69--72.Google ScholarGoogle Scholar

Index Terms

  1. ECAx: Balancing Error Correction Costs in Approximate Accelerators

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • Published in

          cover image ACM Transactions on Embedded Computing Systems
          ACM Transactions on Embedded Computing Systems  Volume 18, Issue 5s
          Special Issue ESWEEK 2019, CASES 2019, CODES+ISSS 2019 and EMSOFT 2019
          October 2019
          1423 pages
          ISSN:1539-9087
          EISSN:1558-3465
          DOI:10.1145/3365919
          Issue’s Table of Contents

          Copyright © 2019 ACM

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 7 October 2019
          • Accepted: 1 July 2019
          • Revised: 1 June 2019
          • Received: 1 April 2019
          Published in tecs Volume 18, Issue 5s

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article
          • Research
          • Refereed

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader

        HTML Format

        View this article in HTML Format .

        View HTML Format
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!