ViRUS: Virtual Function Replacement Under Stress

In this paper we introduce ViRUS: Virtual function Replacement Under Stress. ViRUS allows the runtime system to switch between blocks of code that perform equivalent functionality at different Quality-of-Service levels when the system is under stress -- be it in the form of scarce energy resources, temperature emergencies, or various sources of environmental and process variability -- with the ultimate goal of energy efficiency. We demonstrate ViRUS with a framework for transparent function replacement in shared libraries and a polymorphic version of the standard C math library in Linux. Case studies show how ViRUS can tradeoff upwards of 4% degradation in application quality for a band of upwards of 50% savings in energy consumption.

[1]  David A. Padua,et al.  Optimizing Sorting with Machine Learning Algorithms , 2007, 2007 IEEE International Parallel and Distributed Processing Symposium.

[2]  Pedro José Marrón,et al.  Meeting lifetime goals with energy levels , 2007, SenSys '07.

[3]  Woongki Baek,et al.  Green: a framework for supporting energy-conscious programming using controlled approximation , 2010, PLDI '10.

[4]  Alan Edelman,et al.  PetaBricks: a language and compiler for algorithmic choice , 2009, PLDI '09.

[5]  Christian Bienia,et al.  Benchmarking modern multiprocessors , 2011 .

[6]  Dan Grossman,et al.  EnerJ: approximate data types for safe and general low-power computation , 2011, PLDI '11.

[7]  Mark D. Corner,et al.  Eon: a language and runtime system for perpetual systems , 2007, SenSys '07.

[8]  Luis Ceze,et al.  Neural Acceleration for General-Purpose Approximate Programs , 2012, 2012 45th Annual IEEE/ACM International Symposium on Microarchitecture.

[9]  Puneet Gupta,et al.  VarEMU: An emulation testbed for variability-aware software , 2013, 2013 International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[10]  Steven G. Johnson,et al.  The Design and Implementation of FFTW3 , 2005, Proceedings of the IEEE.

[11]  Krste Asanovic,et al.  Energy-aware lossless data compression , 2006, TOCS.