skip to main content
research-article
Open Access

Approximate computation with outlier detection in Topaz

Published:23 October 2015Publication History
Skip Abstract Section

Abstract

We present Topaz, a new task-based language for computations that execute on approximate computing platforms that may occasionally produce arbitrarily inaccurate results. Topaz maps tasks onto the approximate hardware and integrates the generated results into the main computation. To prevent unacceptably inaccurate task results from corrupting the main computation, Topaz deploys a novel outlier detection mechanism that recognizes and precisely reexecutes outlier tasks. Outlier detection enables Topaz to work effectively with approximate hardware platforms that have complex fault characteristics, including platforms with bit pattern dependent faults (in which the presence of faults may depend on values stored in adjacent memory cells). Our experimental results show that, for our set of benchmark applications, outlier detection enables Topaz to deliver acceptably accurate results (less than 1% error) on our target approximate hardware platforms. Depending on the application and the hardware platform, the overall energy savings range from 5 to 13 percent. Without outlier detection, only one of the applications produces acceptably accurate results.

Skip Supplemental Material Section

Supplemental Material

References

  1. J. Barnes and P. Hut. A hierarchical o(n log n) forcecalculation algorithm. Nature, 324(4):446–449, 1986.Google ScholarGoogle ScholarCross RefCross Ref
  2. C. Bienia. Benchmarking Modern Multiprocessors. PhD thesis, Princeton University, January 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. M. Blum and S. Kanna. Designing programs that check their work. STOC, 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. M. Carbin and M. Rinard. Automatically identifying critical input regions and code in applications. ISSTA, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. M. Carbin, S. Misailovic, M. Kling, and M. Rinard. Detecting and escaping infinite loops with Jolt. ECOOP, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. M. Carbin, S. Misailovic, and M. Rinard. Verifying quantitative reliability for programs that execute on unreliable hardware. OOPSLA, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. M. de Kruijf, S. Nomura, and K. Sankaralingam. Relax: an architectural framework for software recovery of hardware faults. ISCA ’10. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 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
  9. H. Esmaeilzadeh, A. Sampson, L. Ceze, and D. Burger. Architecture support for disciplined approximate programming. In ASPLOS, pages 301–312, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. H. Esmaeilzadeh, A. Sampson, L. Ceze, and D. Burger. Neural acceleration for general-purpose approximate programs. MICRO, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. S. Fedotov. Lecture 7, introduction to financial mathematics. www.maths.manchester.ac.uk / sf/20912lecture7.pdf.Google ScholarGoogle Scholar
  12. W. Gropp and E. Lusk. Using MPI: Portable Parallel Programming with the Message-Passing Interface. The MIT Press, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. J. Henkel, L. Bauer, N. Dutt, P. Gupta, S. Nassif, M. Shafique, M. Tahoori, and N. Wehn. Reliable on-chip systems in the nano-era: Lessons learnt and future trends. In DAC, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. S. Irobi, Z. Al-Ars, and S. Hamdioui. Detecting memory faults in the presence of bit line coupling in sram devices. In ITC, 2010.Google ScholarGoogle ScholarCross RefCross Ref
  15. 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 multiplyadd unit with certainty tracking in 32nm cmos. In ISSCC, pages 182–184, 2012.Google ScholarGoogle Scholar
  16. V. Kiriansky and S. Amarasinghe. Reliable computation on unreliable hardware: Can we have our digital cake and eat it?Google ScholarGoogle Scholar
  17. M. Kling, S. Misailovic, M. Carbin, and M. Rinard. Bolt: on-demand infinite loop escape in unmodified binaries. OOPSLA, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. 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
  19. 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
  20. N. Leveson, S. Cha, J. C. Knight, and T. Shimeall. The use of self checks and voting in software error detection: An empirical study. IEEE TSE, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. J. Liu, B. Jaiyen, Y. Kim, C. Wilkerson, and O. Mutlu. An experimental study of data retention behavior in modern dram devices: Implications for retention time profiling mechanisms. In ISCA, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. S. Liu, K. Pattabiraman, T. Moscibroda, and B. G. Zorn. Flikker: saving dram refresh-power through critical data partitioning. In ASPLOS, pages 213–224, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. C.-K. Luk, R. S. Cohn, R. Muth, H. Patil, A. Klauser, P. G. Lowney, S. Wallace, V. J. Reddi, and K. M. Hazelwood. Pin: building customized program analysis tools with dynamic instrumentation. In PLDI, pages 190–200, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. G. S. May and C. J. Spanos. Fundamentals of semiconductor manufacturing and process control. John Wiley & Sons, 2006.Google ScholarGoogle ScholarCross RefCross Ref
  25. J. C. McCullough, Y. Agarwal, J. Chandrashekar, S. Kuppuswamy, A. C. Snoeren, and R. K. Gupta. Evaluating the e ffectiveness of model-based power characterization. In USENIX Annual Technical Conf, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. S. Misailovic, M. Carbin, S. Achour, Z. Qi, and M. C. Rinard. Chisel: reliability-and accuracy-aware optimization of approximate computational kernels. In OOPSLA, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. A. K. Mishra, R. Barik, and S. Paul. iact: A software-hardware framework for understanding the scope of approximate computing. 2014.Google ScholarGoogle Scholar
  28. S. Narayanan, J. Sartori, R. Kumar, and D. Jones. Scalable stochastic processors. DATE, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. D. S. Nikolopoulos, H. Vandierendonck, N. Bellas, C. D. Antonopoulos, S. Lalis, G. Karakonstantis, A. Burg, and U. Naumann. Energy e fficiency through significance-based computing. Computer, 47(7):82–85, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. K. Palem. Energy aware computing through probabilistic switching: A study of limits. TC, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. 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
  32. M. Rinard. Probabilistic accuracy bounds for fault-tolerant computations that discard tasks. ICS, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. M. C. Rinard. Probabilistic accuracy bounds for fault-tolerant computations that discard tasks. In ICS, pages 324–334, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. M. C. Rinard and M. S. Lam. The design, implementation, and evaluation of jade. ACM Trans. Program. Lang. Syst., 20 (3):483–545, 1998. 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. In PLDI, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. A. Sampson, J. Nelson, K. Strauss, and L. Ceze. Approximate storage in solid-state memories. In Proceedings of the 46th Annual IEEE /ACM International Symposium on Microarchitecture, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. A. Sara and M. C. Rinard. Topaz artifact. rhino.csail.mit.edu /sachour/topaz.oopsla15.artifact, 2015.Google ScholarGoogle Scholar
  38. B. Schroeder, E. Pinheiro, and W.-D. Weber. Dram errors in the wild: a large-scale field study. In PER, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. 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
  40. M. M. Shulaker, G. Hills, N. Patil, H. Wei, H.-Y. Chen, H. S. P. Wong, and S. Mitra. Carbon nanotube computer. Nature, 501 (7468):526–530, 09 2013.Google ScholarGoogle ScholarCross RefCross Ref
  41. S. Sidiroglou, S. Misailovic, H. Ho ffmann, and M. Rinard. Managing performance vs. accuracy trade-o ffs with loop perforation. FSE, 2011.Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. H. A. Simon. The architecture of complexity. Springer, 1991.Google ScholarGoogle ScholarCross RefCross Ref
  43. V. Sridharan and D. Liberty. A study of dram failures in the field. In SC, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. R. St Amant, A. Yazdanbakhsh, J. Park, B. Thwaites, H. Esmaeilzadeh, A. Hassibi, L. Ceze, and D. Burger. Generalpurpose code acceleration with limited-precision analog computation. ISCA, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. P. Stanley-Marbell and M. Rinard. Lax: Driver interfaces for approximate sensor device access. In 15th Workshop on Hot Topics in Operating Systems, HotOS XV, Kartause Ittingen, Switzerland, May 18-20, 2015, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. J. Y. F. Tong, D. Nagle, and R. A. Rutenbar. Reducing power by optimizing the necessary precision /range of floating-point arithmetic. IEEE Trans. VLSI Syst., 8(3):273–286, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. 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
  48. S. C. Woo, M. Ohara, E. Torrie, J. P. Singh, and A. Gupta. The splash-2 programs: Characterization and methodological considerations. In ACM SIGARCH Computer Architecture News, volume 23, pages 24–36, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Approximate computation with outlier detection in Topaz

    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 50, Issue 10
      OOPSLA '15
      October 2015
      953 pages
      ISSN:0362-1340
      EISSN:1558-1160
      DOI:10.1145/2858965
      • Editor:
      • Andy Gill
      Issue’s Table of Contents
      • cover image ACM Conferences
        OOPSLA 2015: Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications
        October 2015
        953 pages
        ISBN:9781450336895
        DOI:10.1145/2814270

      Copyright © 2015 Owner/Author

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 23 October 2015

      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!