Abstract
The approximation based programming paradigm is especially attractive for developing error-resilient applications, targeting low power embedded devices. It allows for program data to be computed and stored approximately for better energy efficiency. The duration of battery in the smartphones, tablets, etc. is generally more of a concern to users than an application's accuracy or fidelity beyond certain acceptable quality of service. Therefore, relaxing accuracy to improve energy efficiency is an attractive trade-off when permissible by the application's domain. Recent works suggest source code annotations and type qualifiers to facilitate safe approximate computation and data manipulation. It requires rewriting of programs or the availability of source codes for annotations. This may not be feasible as real-world applications tend to be large, with source code that is not readily available.
In this paper, we propose a novel sensitivity analysis that automatically generates annotations for programs for the purpose of approximate computing. Our framework, ASAC, extracts information about the sensitivity of the output with respect to program data. We show that the program output is sensitive to only a subset of program data that we deem critical, and hence must be precise. The rest of the data can be computed and stored approximately.We evaluated our analysis on a range of applications, and achieved a 86% accuracy compared to manual annotations by programmers. We validated our analysis by showing that the applications are within the acceptable QoS threshold if we approximate the non-critical data.
- J. Ansel, Y. L. Wong, C. Chan, M. Olszewski, A. Edelman,and S. Amarasinghe. Language and compiler support for autotuningvariable-accuracy algorithms. In Proceedings of the 9th Annual IEEE/ACM International Symposium on Code Generation and Optimization, CGO'11, pages 85--96, Washington, DC, USA, 2011. IEEE Computer Society. ISBN 978--1--61284--356--8. URL http://dl.acm.org/citation.cfm?id=2190025.2190056. Google Scholar
Digital Library
- W. Baek and T. M. Chilimbi. Green: A framework for supporting energy-conscious programming using controlled approximation. In Proceedings of the 2010 ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI'10, pages 198--209, New York, NY, USA, 2010. ACM. ISBN 978--1--4503-0019--3. URL http://doi.acm.org/10.1145/1806596.1806620. Google Scholar
Digital Library
- F. Benz, A. Hildebrandt, and S. Hack. A dynamic program analysis to find floating-point accuracy problems. In Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI'12, pages 453--462, New York, NY, USA, 2012. ACM. ISBN 978--1--4503--1205--9. URL http://doi.acm.org/10.1145/2254064.2254118. Google Scholar
Digital Library
- M. Carbin and M. C. Rinard. Automatically identifying critical input regions and code in applications. In Proceedings of the 19th International Symposium on Software Testing and Analysis, ISSTA'10, pages 37--48, New York, NY, USA, 2010. ACM. ISBN 978--1--60558--823-0. URL http://doi.acm.org/10.1145/1831708.1831713. Google Scholar
Digital Library
- V. Chippa, A. Raghunathan, K. Roy, and S. Chakradhar. Dynamic effort scaling: Managing the quality-efficiency tradeoff. In Proceedings of the 48th Design Automation Conference, DAC'11, pages 603--608, New York, NY, USA, 2011. ACM. ISBN 978--1--4503-0636--2. URL http://doi.acm.org/10.1145/2024724.2024863. Google Scholar
Digital Library
- V. K. Chippa, D. Mohapatra, A. Raghunathan, K. Roy, and S. T. Chakradhar. Scalable effort hardware design: Exploiting algorithmic resilience for energy efficiency. In Proceedings of the 47th Design Automation Conference, DAC'10, pages 555--560, NewYork, NY, USA, 2010. ACM. ISBN 978--1--4503-0002--5. URL http://doi.acm.org/10.1145/1837274.1837411. Google Scholar
Digital Library
- V. K. Chippa, D. Mohapatra, A. Raghunathan, K. Roy, and S. T. Chakradhar. Scalable effort hardware design: Exploiting algorithmic resilience for energy efficiency. In Proceedings of the 47th Design Automation Conference, DAC'10, pages 555--560, New York, NY, USA, 2010. ACM. ISBN 978--1--4503-0002--5. URL http://doi.acm.org/10.1145/1837274.1837411. Google Scholar
Digital Library
- V. K. Chippa, S. T. Chakradhar, K. Roy, and A. Raghunathan. Analysis and characterization of inherent application resilience for approximate computing. In Proceedings of the 50th Annual Design Automation Conference, DAC'13, pages 113:1--113:9, New York, NY, USA, 2013. ACM. ISBN 978--1--4503--2071--9. URL http://doi.acm.org/10.1145/2463209.2488873. Google Scholar
Digital Library
- H. Esmaeilzadeh, A. Sampson, L. Ceze, and D. Burger. Architecture support for disciplined approximate programming. In Proceedings of the Seventeenth International Conference on Architectural Support for Programming Languages and OperatingSystems, ASPLOS XVII, pages 301--312, New York, NY, USA, 2012. ACM. ISBN 978--1--4503-0759--8. URL http://doi.acm.org/10.1145/2150976.2151008. Google Scholar
Digital Library
- V. Gupta, D. Mohapatra, S. P. Park, A. Raghunathan, and K. Roy. Impact: Imprecise adders for low-power approximate computing. In Proceedings of the 17th IEEE/ACM International Symposium on Lowpower Electronics and Design, ISLPED '11, pages 409--414, Piscataway, NJ, USA, 2011. IEEE Press. ISBN 978--1--61284--660--6. URL http://dl.acm.org/citation.cfm?id=2016802.2016898. Google Scholar
Digital Library
- M. R. Guthaus, J. S. Ringenberg, D. Ernst, T. M. Austin, T. Mudge, and R. B. Brown. Mibench: A free, commercially representative embedded benchmark suite. WWC'01, 2001. Google Scholar
Digital Library
- H. Hoffmann, S. Sidiroglou, M. Carbin, S. Misailovic, A. Agarwal, and M. Rinard. Dynamic knobs for responsive power-aware computing. In Proceedings of the Sixteenth International Conference on Architectural Support for Programming Languages and 103 Operating Systems, ASPLOS XVI, pages 199--212, New York, NY, USA, 2011. ACM. ISBN 978--1--4503-0266--1. URL http://doi.acm.org/10.1145/1950365.1950390. Google Scholar
Digital Library
- J. Hu, F. Li, V. Degalahal, M. Kandemir, N. Vijaykrishnan, and M. J. Irwin. Compiler-assisted soft error detection under performance and energy constraints in embedded systems. ACM Trans. Embed. Comput. Syst., 8(4):27:1--27:30, July 2009. ISSN 1539--9087. URL http://doi.acm.org/10.1145/1550987.1550990. Google Scholar
Digital Library
- J. Lee and A. Shrivastava. Static analysis to mitigate soft errors in register files. In Proceedings of the Conference on Design, Automation and Test in Europe, DATE '09, pages 1367--1372, 3001 Leuven, Belgium, Belgium, 2009. European Design and Automation Association. ISBN 978--3--9810801--5--5. URL http://dl.acm.org/citation.cfm?id=1874620.1874949. 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. In Proceedings of the 2006 International Conference on Compilers, Architecture and Synthesis for Embedded Systems, CASES'06, pages 411--420, New York, NY, USA, 2006. ACM. ISBN 1--59593--543--6. URL http://doi.acm.org/10.1145/1176760.1176810. Google Scholar
Digital Library
- S. Liu, K. Pattabiraman, T. Moscibroda, and B. G. Zorn. Flikker: Saving dram refresh-power through critical data partitioning. In Proceedings of the Sixteenth International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS XVI, pages 213--224, New York, NY, USA, 2011. ACM. ISBN 978--1--4503-0266--1. URL http://doi.acm.org/10.1145/1950365.1950391. Google Scholar
Digital Library
- M. D. McKay, R. J. Beckman, and W. J. Conover. A comparison o three methods for selecting values of input variables in the analysis of output from a computer code. Technometrics, 42(1):55--61, Feb. 2000. ISSN 0040--1706. . URL http://dx.doi.org/10.2307/1271432. Google Scholar
Digital Library
- S. Misailovic, D. Kim, and M. Rinard. Parallelizing sequential programs with statistical accuracy tests. ACM Trans. Embed. Comput. Syst., 12(2s):88:1--88:26, May 2013. ISSN 1539--9087. . URL http://doi.acm.org/10.1145/2465787.2465790. Google Scholar
Digital Library
- T. Naughton, W. Bland, G. Vallee, C. Engelmann, and S. L. Scott. Fault injection framework for system resilience evaluation: Fake faults for finding future failures. In Proceedings of the 2009 Workshop on Resiliency in High Performance, Resilience'09, pages 23--28, New York, NY, USA, 2009. ACM. ISBN 978--1--60558--593--2. URL http://doi.acm.org/10.1145/1552526.1552530. Google Scholar
Digital Library
- S. Palaniappan, B. Gyori, B. Liu, D. Hsu, and P. Thiagarajan. Statistical model checking based calibration and analysis of bio-pathway models. In A. Gupta and T. Henzinger, editors, Computational Methods in Systems Biology, volume 8130 of Lecture Notes in Computer Science, pages 120--134. Springer Berlin Heidelberg, 2013. ISBN 978--3--642--40707--9. URL http://dx.doi.org/10.1007/978--3--642--40708--6--10.Google Scholar
- R. Pozo and B. Miller. Scimark 2.0. www.math.nist.gov/scimark2/.Google Scholar
- F. M. Quintao Pereira, R. E. Rodrigues, and V. H. Sperle Campos. A fast and low-overhead technique to secure programs against integer overflows. In Proceedings of the 2013 IEEE/ACM International Symposium on Code Generation and Optimization (CGO), CGO'13, pages 1--11, Washington, DC, USA, 2013. IEEE Computer Society. ISBN 978--1--4673--5524--7. URL http://dx.doi.org/10.1109/CGO.2013.6494996. 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 Proceedings of the 32Nd ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI'11, pages 164--174, New York, NY, USA, 2011. ACM. ISBN 978--1--4503-0663--8. URL http://doi.acm.org/10.1145/1993498.1993518. 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, MICRO-46, pages 25--36, New York, NY, USA, 2013. ACM. ISBN 978-1-4503-2638-4. URL http://doi.acm.org/10.1145/2540708.2540712. Google Scholar
Digital Library
- M. Shafique, S. Rehman, P. V. Aceituno, and J. Henkel. Exploiting program-level masking and error propagation for constrained reliability optimization. In Proceedings of the 50th Annual Design Automation Conference, DAC'13, pages 17:1--17:9, New York, NY, USA, 2013. ACM. ISBN 978--1--4503--2071--9. URL http://doi.acm.org/10.1145/2463209.2488755. Google Scholar
Digital Library
- A. Shrivastava, J. Lee, and R. Jeyapaul. Cache vulnerability equations for protecting data in embedded processor caches from soft errors. In Proceedings of the ACM SIGPLAN/SIGBED 2010 Conference on Languages, Compilers, and Tools for Embedded Systems, LCTES'10, pages 143--152, New York, NY, USA, 2010. ACM. ISBN 978--1--60558--953--4. URL http://doi.acm.org/10.1145/1755888.1755910. Google Scholar
Digital Library
- S. Sidiroglou-Douskos, S. Misailovic, H. Hoffmann, and M. Rinard. Managing performance vs. accuracy trade-offs with loopperforation. In Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering, ESEC/FSE'11, pages 124--134, New York,NY, USA, 2011. ACM. ISBN 978--1--4503-0443--6. URL http://doi.acm.org/10.1145/2025113.2025133. Google Scholar
Digital Library
- SPEC-CPU2006. Spec benchamrks. www.spec.org/cpu2006/.Google Scholar
- S. Venkataramani, V. K. Chippa, S. T. Chakradhar, K. Roy, and A. Raghunathan. Quality programmable vector processors for approximate computing. In Proceedings of the 46th Annual IEEE/ACM International Symposium on Microarchitecture, MICRO-46, pages 1--12, New York, NY, USA, 2013. ACM. ISBN 978--1--4503--2638--4. URL http://doi.acm.org/10.1145/2540708.2540710. Google Scholar
Digital Library
- Z. A. Zhu, S. Misailovic, J. A. Kelner, and M. Rinard. Randomized accuracy-aware program transformations for efficient approximate computations. In Proceedings of the 39th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL'12, pages 441--454, New York, NY, USA, 2012. ACM. ISBN 978--1--4503--1083--3. URL http://doi.acm.org/10.1145/2103656.2103710. Google Scholar
Digital Library
- Z. A. Zhu, S. Misailovic, J. A. Kelner, and M. Rinard. Randomized accuracy-aware program transformations for efficient approximate computations. In Proceedings of the 39th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL'12, pages 441--454, New York, NY, USA, 2012. ACM. ISBN 978--1--4503--1083--3. URL http://doi.acm.org/10.1145/2103656.2103710. Google Scholar
Digital Library
Index Terms
ASAC: automatic sensitivity analysis for approximate computing
Recommendations
ASAC: automatic sensitivity analysis for approximate computing
LCTES '14: Proceedings of the 2014 SIGPLAN/SIGBED conference on Languages, compilers and tools for embedded systemsThe approximation based programming paradigm is especially attractive for developing error-resilient applications, targeting low power embedded devices. It allows for program data to be computed and stored approximately for better energy efficiency. The ...
EnerJ: approximate data types for safe and general low-power computation
PLDI '11Energy is increasingly a first-order concern in computer systems. Exploiting energy-accuracy trade-offs is an attractive choice in applications that can tolerate inaccuracies. Recent work has explored exposing this trade-off in programming models. A key ...
EnerJ: approximate data types for safe and general low-power computation
PLDI '11: Proceedings of the 32nd ACM SIGPLAN Conference on Programming Language Design and ImplementationEnergy is increasingly a first-order concern in computer systems. Exploiting energy-accuracy trade-offs is an attractive choice in applications that can tolerate inaccuracies. Recent work has explored exposing this trade-off in programming models. A key ...







Comments