JouleGuard: Energy Guarantees for Approximate Applications (2015)

This is one of the earliest papers on combining ML (or AI) and control theory and addresses approximate applications: those that can produce a range of outputs that vary in quality, also known as approximate applications. Lower quality (or lower accuracy) outputs require fewer resources.

Specifically, this paper explores approximate applications running on energy aware systems (those that can trade reduced performance for increased energy efficiency).

This paper uses reinforcement learning to estimate the energy efficiency of a number of low-level system configurations (think chip-level resource usage like number of cores and clock speed) and then puts the system in the most energy efficient configuration.

The information about the expected performance is then passed on to a control system which uses that information and the energy feedback to produce the highest quality (or most accurate) result for a given energy budget.

This paper demonstrated the idea on a mobile system, a small laptop/desktop type system and a large server.

Read abstract

Energy consumption limits battery life in mobile devices and increases costs for servers and data centers. Approximate computing addresses these energy concerns by enabling applications to trade accuracy for reduced energy usage. While existing approximation frameworks can guarantee accuracy or performance and generally reduce energy consumption, they do not provide guarantees on energy usage. Such guarantees would benefit users with fixed energy budgets who seek to maximize application accuracy within those constraints.

To address this need, we present JouleGuard, a runtime control system that coordinates approximate applications with system resource usage to provide control-theoretic formal guarantees on energy consumption while maximizing accuracy. JouleGuard is implemented and tested across three different platforms (a mobile device, a tablet, and a server) using eight approximate applications from two different frameworks.

Our results demonstrate that JouleGuard adheres to energy budgets, delivers near-optimal accuracy, adapts to workload phases, and outperforms approaches that rely on either application approximation or system resource adaptation alone. JouleGuard’s generality across applications and systems makes it a versatile runtime solution for a variety of approximate computing frameworks