A Context-Aware Library for Mathematical Approximations
ResumoWe have built a mathematical library that includes a series of functions with different implementations with varying precision. We couple this library with a system service that monitors the computer context, including energy consumption, and according to this context, using specified rules, dynamically changes the implementations used by the target applications. Our case studies show that our library can trade-off at most of 4% degradation in application quality up to 40% savings in energy consumption.
Baek, W. and Chilimbi, T. M. (2010). Green: A framework for supporting energyconscious programming using controlled approximation. SIGPLAN Not., 45(6).
Hashemi, S., Bahar, R. I., and Reda, S. (2015). Drum: A dynamic range unbiased multiplier for approximate applications. In ICCAD’15, pages 418–425. IEEE Press.
Miguel, J. S., Albericio, J., Moshovos, A., and Jerger, N. E. (2015). Doppelganger: A cache for approximate computing. In MICRO-48, pages 50–61. ACM.
Sampson, A., Dietl, W., Fortuna, E., Gnanapragasam, D., Ceze, L., and Grossman, D. (2011). Enerj: Approximate data types for safe and general low-power computation. SIGPLAN Not., 46(6):164–174.
Wanner, L., Elmalaki, S., Lai, L., Gupta, P., and Srivastava, M. (2013). Varemu: An emulation testbed for variability-aware software. In CODES+ISSS ’13. IEEE Press.
Wanner, L. and Srivastava, M. (2014). Virus: Virtual function replacement under stress. In HotPower’14, Berkeley, CA, USA. USENIX.