Abstract
Despite the fact that approximate computations have come to dominate many areas of computer science, the field of program transformations has focused almost exclusively on traditional semantics-preserving transformations that do not attempt to exploit the opportunity, available in many computations, to acceptably trade off accuracy for benefits such as increased performance and reduced resource consumption.
We present a model of computation for approximate computations and an algorithm for optimizing these computations. The algorithm works with two classes of transformations: substitution transformations (which select one of a number of available implementations for a given function, with each implementation offering a different combination of accuracy and resource consumption) and sampling transformations (which randomly discard some of the inputs to a given reduction). The algorithm produces a (1+ε) randomized approximation to the optimal randomized computation (which minimizes resource consumption subject to a probabilistic accuracy specification in the form of a maximum expected error or maximum error variance).
Supplemental Material
Available for Download
Additional proofs.
- S. Acharya, P. Gibbons, V. Poosala, and S. Ramaswamy. Join synopses for approximate query answering. In SIGMOD, 1999. Google Scholar
Digital Library
- J. Ansel, C. Chan, Y. Wong, M. Olszewski, Q. Zhao, A. Edelman, and S. Amarasinghe. Petabricks: A language and compiler for algorithmic choice. In PLDI, 2009. Google Scholar
Digital Library
- W. Baek and T. Chilimbi. Green: A framework for supporting energy-conscious programming using controlled approximation. In PLDI '10. Google Scholar
Digital Library
- L. Chakrapani, K. Muntimadugu, A. Lingamneni, J. George, and K. Palem. Highly energy and performance efficient embedded computing through approximately correct arithmetic: A mathematical foundation and preliminary experimental validation. In CASES, 2008. Google Scholar
Digital Library
- S. Chaudhuri, S. Gulwani, and R. Lublinerman. Continuity analysis of programs. In POPL, 2010. Google Scholar
Digital Library
- S. Chaudhuri, S. Gulwani, R. Lublinerman, and S. Navidpour. Proving Programs Robust. In FSE, 2011. Google Scholar
Digital Library
- S. Chaudhuri and A. Solar-Lezama. Smooth interpretation. In PLDI, 2010. Google Scholar
Digital Library
- S. Chaudhuri and A. Solar-Lezama. Smoothing a program soundly and robustly. In CAV, 2011. Google Scholar
Digital Library
- J. Flinn and M. Satyanarayanan. Energy-aware adaptation for mobile applications. In SOSP, 1999. Google Scholar
Digital Library
- R. Hameed, W. Qadeer, M. Wachs, O. Azizi, A. Solomatnikov, B. Lee, S. Richardson, C. Kozyrakis, and M. Horowitz. Understanding sources of inefficiency in general-purpose chips. In ISCA, 2010. Google Scholar
Digital Library
- J. Hellerstein, P. Haas, and H. Wang. Online aggregation. In SIGMOD/PODS, 1997. Google Scholar
Digital Library
- H. Hoffman, S. Sidiroglou, M. Carbin, S. Misailovic, A. Agarwal, and M. Rinard. Dynamic knobs for power-aware computing. In ASPLOS, 2011. Google Scholar
Digital Library
- H. Hoffmann, M. Maggio, M. D. Santambrogio, A. Leva, and A. Agarwal. Seec: A general and extensible framework for self-aware computing. Technical Report MIT-CSAIL-TR-2011-046, 2011.Google Scholar
- H. Hoffmann, S. Misailovic, S. Sidiroglou, A. Agarwal, and M. Rinard. Using Code Perforation to Improve Performance, Reduce Energy Consumption, and Respond to Failures. Technical Report MIT-CSAIL-TR-2009-042, 2009.Google Scholar
- W.-C. Hou, G. Ozsoyoglu, and B. K. Taneja. Processing aggregate relational queries with hard time constraints. SIGMOD, 1989. Google Scholar
Digital Library
- Y. Hu, S. Sundara, and J. Srinivasan. Supporting time-constrained SQL queries in Oracle. VLDB, 2007. Google Scholar
Digital Library
- S. Liu, K. Pattabiraman, T. Moscibroda, and B. Zorn. Flikker: Saving dram refresh-power through critical data partitioning. ASPLOS, 2011. Google Scholar
Digital Library
- R. Majumdar and I. Saha. Symbolic robustness analysis. In RTSS '09. Google Scholar
Digital Library
- R. Majumdar, I. Saha, and Z. Wang. Systematic testing for control applications. In MEMOCODE, 2010.Google Scholar
Digital Library
- J. Meng, S. Chakradhar, and A. Raghunathan. Best-Effort Parallel Execution Framework for Recognition and Mining Applications. In IPDPS, 2009. Google Scholar
Digital Library
- J. Meng, A. Raghunathan, and S. B. S. Chakradhar. Exploiting the Forgiving Nature of Applications for Scalable Parallel Execution. In IPDPS, 2010.Google Scholar
- S. Misailovic, D. Roy, and M. Rinard. Probabilistic and statistical analysis of perforated patterns. Technical Report MIT-CSAIL-TR-2011-003, January 2011.Google Scholar
- S. Misailovic, D. Roy, and M. Rinard. Probabilistically Accurate Program Transformations. In SAS, 2011. Google Scholar
Digital Library
- S. Misailovic, S. Sidiroglou, H. Hoffmann, and M. Rinard. Quality of service profiling. In ICSE, 2010. Google Scholar
Digital Library
- R. Motwani and P. Raghavan. Randomized algorithms. Cambridge University Press, 1995. Google Scholar
Digital Library
- J. Reed and B. C. Pierce. Distance makes the types grow stronger: a calculus for differential privacy. In ICFP, 2010. Google Scholar
Digital Library
- M. Rinard. Probabilistic accuracy bounds for fault-tolerant computations that discard tasks. In ICS, 2006. Google Scholar
Digital Library
- M. Rinard. Using early phase termination to eliminate load imbalances at barrier synchronization points. In OOPSLA, 2007. Google Scholar
Digital Library
- R. Rubinfeld. Sublinear time algorithms. In Intl. Congress of Mathematicians, 2006.Google Scholar
- 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
- S. Sidiroglou, S. Misailovic, H. Hoffmann, and M. Rinard. Managing Performance vs. Accuracy Tradeoffs With Loop Perforation. In FSE, 2011.Google Scholar
- K. Sohraby, D. Minoli, and T. Znati. Wireless sensor networks: technology, protocols, and applications. Wiley-Blackwell, 2007. Google Scholar
Digital Library
- J. Sorber, A. Kostadinov, M. Garber, M. Brennan, M. D. Corner, and E. D. Berger. Eon: a language and runtime system for perpetual systems. In SenSys, 2007. Google Scholar
Digital Library
- P. Stanley-Marbell and D. Marculescu. Deviation-Tolerant Computation in Concurrent Failure-Prone Hardware. Technical Report ESR-2008-01, Eindhoven University of Technology, 2008.Google Scholar
- D. Suciu, D. Olteanu, C. Ré, and C. Koch. Probabilistic Databases. Morgan-Claypool, 2011. Google Scholar
Digital Library
Index Terms
Randomized accuracy-aware program transformations for efficient approximate computations
Recommendations
Randomized accuracy-aware program transformations for efficient approximate computations
POPL '12: Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesDespite the fact that approximate computations have come to dominate many areas of computer science, the field of program transformations has focused almost exclusively on traditional semantics-preserving transformations that do not attempt to exploit ...
Transformations of CCP programs
We introduce a transformation system for concurrent constraint programming (CCP). We define suitable applicability conditions for the transformations that guarantee the input/output CCP semantics is also preserved when distinguishing deadlocked ...
Verified integrity properties for safe approximate program transformations
PEPM '13: Proceedings of the ACM SIGPLAN 2013 workshop on Partial evaluation and program manipulationApproximate computations (for example, video, audio, and image processing, machine learning, and many scientific computations) have the freedom to generate a range of acceptable results. Approximate program transformations (for example, task skipping ...







Comments