skip to main content
research-article
Open Access

Chisel: reliability- and accuracy-aware optimization of approximate computational kernels

Published:15 October 2014Publication History
Skip Abstract Section

Abstract

The accuracy of an approximate computation is the distance between the result that the computation produces and the corresponding fully accurate result. The reliability of the computation is the probability that it will produce an acceptably accurate result. Emerging approximate hardware platforms provide approximate operations that, in return for reduced energy consumption and/or increased performance, exhibit reduced reliability and/or accuracy.

We present Chisel, a system for reliability- and accuracy-aware optimization of approximate computational kernels that run on approximate hardware platforms. Given a combined reliability and/or accuracy specification, Chisel automatically selects approximate kernel operations to synthesize an approximate computation that minimizes energy consumption while satisfying its reliability and accuracy specification.

We evaluate Chisel on five applications from the image processing, scientific computing, and financial analysis domains. The experimental results show that our implemented optimization algorithm enables Chisel to optimize our set of benchmark kernels to obtain energy savings from 8.7% to 19.8% compared to the fully reliable kernel implementations while preserving important reliability guarantees.

References

  1. T. Bao, Y. Zheng, and X. Zhang. White box sampling in uncertain data processing enabled by program analysis. In OOPSLA, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. J. Birge. Optimization Methods in Dynamic Portfolio Management (Chapter 20). Elsevier, 2007.Google ScholarGoogle Scholar
  3. B. Boston, A. Sampson, D. Grossman, and L. Ceze. Tuning approximate computations with constraint-based type inference. In WACAS'14.Google ScholarGoogle Scholar
  4. M. Carbin, D. Kim, S. Misailovic, and M. Rinard. Proving\,acceptability properties\,of\,relaxed\,nondeterministic\,approximate\,programs. PLDI'12. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. M. Carbin, D. Kim, S. Misailovic, and M. Rinard. Verified integrity properties for safe approximate program transformations. PEPM, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. M. Carbin, S. Misailovic, and M. Rinard. Verifying quantitative reliability for programs that execute on unreliable hardware. OOPSLA'13. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. M. Carbin and M. Rinard. Automatically identifying critical input regions and code in applications. In ISSTA, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. S. Chaudhuri, S. Gulwani, and R. Lublinerman. Continuity analysis of programs. In POPL, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. S. Chaudhuri, S. Gulwani, R. Lublinerman, and S. Navidpour. Proving programs robust. FSE, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. E. Darulova and V. Kuncak. Sound compilation of reals. POPL, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. P. Düben, J. Joven, A. Lingamneni, H. McNamara, G. De Micheli, K. Palem, and T. Palmer. On the use of inexact, pruned hardware in atmospheric modelling. Philosophical Transactions of the Royal Society, 372, 2014.Google ScholarGoogle Scholar
  12. H. Esmaeilzadeh, A. Sampson, L. Ceze, and D. Burger. Architecture support for disciplined approximate programming. ASPLOS, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. A. Gaffar, O. Mencer, W. Luk, P. Cheung, and N. Shirazi. Floating-point bitwidth analysis via automatic differentiation. In FPT, 2002.Google ScholarGoogle ScholarCross RefCross Ref
  14. Gurobi. http://www.gurobi.com/.Google ScholarGoogle Scholar
  15. H. Hoffmann, S. Sidiroglou, M. Carbin, S. Misailovic, A. Agarwal, and M. Rinard. Dynamic knobs for responsive power-aware computing. ASPLOS, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. H. Kaul, M. Anders, S. Mathew, S. Hsu, A Agarwal, F. Sheikh, R. Krishnamurthy, and S. Borkar. A 1.45ghz 52-to-162gflops/w variable-precision floating-point fused multiply-add unit with certainty tracking in 32nm cmos. In ISSCC, 2012.Google ScholarGoogle ScholarCross RefCross Ref
  17. K. Lee, A. Shrivastava, I. Issenin, N. Dutt, and N. Venkatasubramanian. Mitigating soft error failures for multimedia applications by selective data protection. CASES, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. L. Leem, H. Cho, J. Bau, Q. Jacobson, and S. Mitra. Ersa: error resilient system architecture for probabilistic applications. DATE'10. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. T. Lin, S. Tarsa, and H. T. Kung. Parallelization primitives for dynamic sparse computations. In HotPar, 2013.Google ScholarGoogle Scholar
  20. S. Liu, K. Pattabiraman, T. Moscibroda, and B. Zorn. Flikker: saving dram refresh-power through critical data partitioning. ASPLOS, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. S. Misailovic, M. Carbin, S. Achour, Z. Qi, and M. Rinard. Reliability-aware optimization of approximate computational kernels with rely. Technical Report MIT-CSAIL-TR-2014-001, MIT, 2014.Google ScholarGoogle Scholar
  22. S. Misailovic, M. Carbin, S. Achour, Qi. Z, and M. Rinard. Chisel: Reliability- and accuracy-aware optimization of approximate computational kernels (appendix). http://groups.csail.mit.edu/pac/chisel. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. S. Misailovic, D. Kim, and M. Rinard. Parallelizing sequential programs with statistical accuracy tests. ACM TECS Special Issue on Probabilistic Embedded Computing, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. S. Misailovic, D. Roy, and M. Rinard. Probabilistically accurate program transformations. SAS, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. S. Misailovic, S. Sidiroglou, H. Hoffmann, and M. Rinard. Quality of service profiling. ICSE, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. S. Narayanan, J. Sartori, R. Kumar, and D. Jones. Scalable stochastic processors. DATE, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. W. Osborne, R. Cheung, J. Coutinho, W. Luk, and O. Mencer. Automatic accuracy-guaranteed bit-width optimization for fixed and floating-point systems. In FPL, 2007.Google ScholarGoogle ScholarCross RefCross Ref
  28. K. Palem. Energy aware computing through probabilistic switching: A study of limits. IEEE Transactions on Computers, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. J. Palsberg and M. Naik. Ilp-based resource-aware compilation. Multiprocessor Systems-on-Chips, Elsevier, 2004.Google ScholarGoogle Scholar
  30. J. Park, X. Zhang, K. Ni, H. Esmaeilzadeh, and M. Naik. Expectation-oriented framework for automating approximate programming. Technical Report GT-CS-14-05, Georgia Institute of Technology, 2014.Google ScholarGoogle Scholar
  31. M. Rinard. Probabilistic accuracy bounds for fault-tolerant computations that discard tasks. ICS, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. M. Rinard. Using early phase termination to eliminate load imbalances at barrier synchronization points. OOPSLA, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. M. Rinard, C. Cadar, D. Dumitran, D.M. Roy, T. Leu, and W.S. Beebee Jr. Enhancing server availability and security through failure-oblivious computing. OSDI, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. P. Roy, R. Ray, C. Wang, and W. Wong. Asac: automatic sensitivity analysis for approximate computing. In LCTES, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. A. Sampson, W. Dietl, E. Fortuna, D. Gnanapragasam, L. Ceze, and D. Grossman. Enerj: Approximate data types for safe and general low-power computation. PLDI, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. A. Sampson, J. Nelson, K. Strauss, and L. Ceze. Approximate storage in solid-state memories. In MICRO, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. H. Saputra, M. Kandemir, N. Vijaykrishnan, M. J. Irwin, J. S. Hu, C-H. Hsu, and U. Kremer. Energy-conscious compilation based on voltage scaling. LCTES/SCOPES, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. M. Shoushtari, A. Banaiyan, and N. Dutt. Relaxing manufacturing guard-bands in memories for energy savings. Technical Report CECS TR 10-04, UCI, 2014.Google ScholarGoogle Scholar
  39. S. Sidiroglou, S. Misailovic, H. Hoffmann, and M. Rinard. Managing performance vs.\ accuracy trade-offs with loop perforation. FSE, 2011.Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. R. St Amant, A. Yazdanbakhsh, J. Park, B. Thwaites, H. Esmaeilzadeh, A. Hassibi, L. Ceze, and D. Burger. General-purpose code acceleration with limited-precision analog computation. In ISCA, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. J. Tong, D. Nagle, and R. Rutenbar. Reducing power by optimizing the necessary precision/range of floating-point arithmetic. IEEE Trans. Very Large Scale Integr. Syst., 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. S. Venkataramani, V. Chippa, S. Chakradhar, K. Roy, and A. Raghunathan. Quality programmable vector processors for approximate computing. MICRO, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Y. Yetim, S. Malik, and M. Martonosi. Eprof: An energy/performance/reliability optimization framework for streaming applications. In ASP-DAC, 2012.Google ScholarGoogle ScholarCross RefCross Ref
  44. Z. Zhu, S. Misailovic, J. Kelner, and M. Rinard. Randomized accuracy-aware program transformations for efficient approximate computations. POPL, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Chisel: reliability- and accuracy-aware optimization of approximate computational kernels

    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 SIGPLAN Notices
      ACM SIGPLAN Notices  Volume 49, Issue 10
      OOPSLA '14
      October 2014
      907 pages
      ISSN:0362-1340
      EISSN:1558-1160
      DOI:10.1145/2714064
      • Editor:
      • Andy Gill
      Issue’s Table of Contents
      • cover image ACM Conferences
        OOPSLA '14: Proceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages & Applications
        October 2014
        946 pages
        ISBN:9781450325851
        DOI:10.1145/2660193

      Copyright © 2014 Owner/Author

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 15 October 2014

      Check for updates

      Qualifiers

      • research-article

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader
    About Cookies On This Site

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

    Learn more

    Got it!