Managing performance vs. accuracy trade-offs with loop perforation
Authors:
Top Cited Papers
Open Access
- 9 September 2011
- conference paper
- Published by Association for Computing Machinery (ACM)
- p. 124-134
Abstract
Many modern computations (such as video and audio encoders, Monte Carlo simulations, and machine learning algorithms) are designed to trade off accuracy in return for increased performance. To date, such computations typically use ad-hoc, domain-specific techniques developed specifically for the computation at hand. Loop perforation provides a general technique to trade accuracy for performance by transforming loops to execute a subset of their iterations. A criticality testing phase filters out critical loops (whose perforation produces unacceptable behavior) to identify tunable loops (whose perforation produces more efficient and still acceptably accurate computations). A perforation space exploration algorithm perforates combinations of tunable loops to find Pareto-optimal perforation policies. Our results indicate that, for a range of applications, this approach typically delivers performance increases of over a factor of two (and up to a factor of seven) while changing the result that the application produces by less than 10%Keywords
This publication has 19 references indexed in Scilit:
- Proving programs robust2011
- Patterns and statistical analysis for understanding reduced resource computing2010
- Green2010
- The PARSEC benchmark suite2008
- A comparison of extrinsic clustering evaluation metrics based on formal constraintsInformation Retrieval Journal, 2008
- Probabilistic accuracy bounds for fault-tolerant computations that discard tasks2006
- Articulated Body Motion Capture by Stochastic SearchInternational Journal of Computer Vision, 2005
- Real-time dynamic voltage scaling for low-power embedded operating systems2001
- SPL2001
- Energy-aware adaptation for mobile applications1999