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.
Supplemental Material
Available for Download
OVA Virtual Machine and AWS/VM/Compile Instructions
- J. Barnes and P. Hut. A hierarchical o(n log n) forcecalculation algorithm. Nature, 324(4):446–449, 1986.Google Scholar
Cross Ref
- C. Bienia. Benchmarking Modern Multiprocessors. PhD thesis, Princeton University, January 2011. Google Scholar
Digital Library
- M. Blum and S. Kanna. Designing programs that check their work. STOC, 1989. Google Scholar
Digital Library
- M. Carbin and M. Rinard. Automatically identifying critical input regions and code in applications. ISSTA, 2010. Google Scholar
Digital Library
- M. Carbin, S. Misailovic, M. Kling, and M. Rinard. Detecting and escaping infinite loops with Jolt. ECOOP, 2011. Google Scholar
Digital Library
- M. Carbin, S. Misailovic, and M. Rinard. Verifying quantitative reliability for programs that execute on unreliable hardware. OOPSLA, 2013. Google Scholar
Digital Library
- M. de Kruijf, S. Nomura, and K. Sankaralingam. Relax: an architectural framework for software recovery of hardware faults. ISCA ’10. Google Scholar
Digital Library
- 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 Scholar
- H. Esmaeilzadeh, A. Sampson, L. Ceze, and D. Burger. Architecture support for disciplined approximate programming. In ASPLOS, pages 301–312, 2012. Google Scholar
Digital Library
- H. Esmaeilzadeh, A. Sampson, L. Ceze, and D. Burger. Neural acceleration for general-purpose approximate programs. MICRO, 2012. Google Scholar
Digital Library
- S. Fedotov. Lecture 7, introduction to financial mathematics. www.maths.manchester.ac.uk / sf/20912lecture7.pdf.Google Scholar
- W. Gropp and E. Lusk. Using MPI: Portable Parallel Programming with the Message-Passing Interface. The MIT Press, 1994. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
- V. Kiriansky and S. Amarasinghe. Reliable computation on unreliable hardware: Can we have our digital cake and eat it?Google Scholar
- M. Kling, S. Misailovic, M. Carbin, and M. Rinard. Bolt: on-demand infinite loop escape in unmodified binaries. OOPSLA, 2012. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- L. Leem, H. Cho, J. Bau, Q. Jacobson, and S. Mitra. Ersa: error resilient system architecture for probabilistic applications. DATE’10. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- G. S. May and C. J. Spanos. Fundamentals of semiconductor manufacturing and process control. John Wiley & Sons, 2006.Google Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- A. K. Mishra, R. Barik, and S. Paul. iact: A software-hardware framework for understanding the scope of approximate computing. 2014.Google Scholar
- S. Narayanan, J. Sartori, R. Kumar, and D. Jones. Scalable stochastic processors. DATE, 2010. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- K. Palem. Energy aware computing through probabilistic switching: A study of limits. TC, 2005. Google Scholar
Digital Library
- 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 Scholar
- M. Rinard. Probabilistic accuracy bounds for fault-tolerant computations that discard tasks. ICS, 2006. Google Scholar
Digital Library
- M. C. Rinard. Probabilistic accuracy bounds for fault-tolerant computations that discard tasks. In ICS, pages 324–334, 2006. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- A. Sara and M. C. Rinard. Topaz artifact. rhino.csail.mit.edu /sachour/topaz.oopsla15.artifact, 2015.Google Scholar
- B. Schroeder, E. Pinheiro, and W.-D. Weber. Dram errors in the wild: a large-scale field study. In PER, 2009. Google Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Cross Ref
- S. Sidiroglou, S. Misailovic, H. Ho ffmann, and M. Rinard. Managing performance vs. accuracy trade-o ffs with loop perforation. FSE, 2011.Google Scholar
Digital Library
- H. A. Simon. The architecture of complexity. Springer, 1991.Google Scholar
Cross Ref
- V. Sridharan and D. Liberty. A study of dram failures in the field. In SC, 2012. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- S. Venkataramani, V. Chippa, S. Chakradhar, K. Roy, and A. Raghunathan. Quality programmable vector processors for approximate computing. MICRO, 2013. Google Scholar
Digital Library
- 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 Scholar
Digital Library
Index Terms
Approximate computation with outlier detection in Topaz
Recommendations
Approximate computation with outlier detection in Topaz
OOPSLA 2015: Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and ApplicationsWe 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 ...
High-Level Synthesis of Resource-oriented Approximate Designs for FPGAs
DAC '19: Proceedings of the 56th Annual Design Automation Conference 2019When attempting to make a design fit a set of the heterogeneous resources found in Field-Programmable Gate Arrays (FPGAs), designers using High-Level Synthesis (HLS) may resort to approximate approaches. However, current FPGA-oriented approximate HLS ...
High-Level Synthesis of Approximate Designs under Real-Time Constraints
Special Issue ESWEEK 2019, CASES 2019, CODES+ISSS 2019 and EMSOFT 2019The adoption of High-Level Synthesis (HLS) has increased as the latest HLS tools have evolved to provide high-quality results while improving productivity and time-to-market. Concurrently, many works have been proposing the incorporation of approximate ...






Comments