Trustworthy Systems

Energy and Power Management

Overview

batteries

The energy and power management efforts within TS are focused on building effective schemes to improve the energy efficiency and manageability of computer systems. While our focus is on embedded systems, the techniques we develop are generally applicable to other classes of systems.

There is an abundance of work in the area, much of which makes naive assumptions about the way hardware consumes energy.

To ensure that our research is relevant to the real world, we use measurements of power consumption of various parts of real hardware (instead of simulation and other commonly used estimation techniques) to evaluate and optimise our solutions. We also test our techniques using real-world benchmarks with minimal assumptions.

Our current work focuses on optimisation of power consumption on multi-core devices, both in embedded systems like smartphones, and in desktop, laptop and server class systems where power management is equally important.

Mobile multi-cores

Energy efficiency is an important concern in mobile systems, such as the smartphone, due to battery constraints. At the same time, multi-core processors are now commonplace in this space. Such systems present new challenges, but also opportunities, for energy saving.

In our HotPower'13 paper, we show the surprising result that on a whole class of platforms, turning off cores does not save power. This is due to low per-core static power. In these cases it makes the most sense to use all the available cores whenever where are enough runnable threads. The Exynos system-on-chip has this property, and the first graph below shows that using extra cores doesn't increases power consumption, but does allow the CPU to run at lower, more energy-efficient frequencies.

Not all processors have low per-core static power, such as Snapdragon SoCs, as shown in the second graph. In RTAS'14, we extend our work to show how to reduce energy consumption without affecting performance on such processors. The optimal operating point depends on balancing the static cost of turning on cores, with the dynamic cost of increasing frequency.

The outcome of this work is medusa, an offline-aware cpufreq governor for Linux

TODO TODO

Understanding energy usage

A prerequisite for implementing effective energy management is understanding how energy is actually used in devices under realistic usage scenarios. While full-system energy consumption can be useful, we take a more fine-grained approach and directly measure the individual components that make up a system: the CPU, RAM, display, wireless radios, etc. This approach allows us to target the most energy-hungry components, and provides important ground-truth to the myriad of modelling and esimation work that can be found in the literature.

In USENIX'10 we presented a fine-grained measurement and analysis of the Openmoko FreeRunner smartphone, and compared that with full-system measurements on two other devices: the HTC Dream (G1), and the Google Nexus One (N1). In APSys'13 we show that this kind of instrumentation is in fact feasible on mass-market devices, and present the first detailed energy consumption analysis on a high-end smartphone, the Samsung Galaxy S III (S3). Images of the instrumented S3, and a close-up of a single instrumented supply, are shown below.

TODO TODO

Koala

a koala

Our early investigations into dynamic frequency & voltage scaling showed that many of the assumptions made in academic research invalidate the (otherwise interesting) solutions to the dynamic voltage scaling problem. In response to these findings, we developed Koala, which is an OS platform for advanced dynamic voltage & frequency scaling.

Our thesis is that effective power management requires a deep understanding on the part of the management software. As such, we model the effect that DVFS has on performance and power of the system (presented in papers at OSPERT and EMSOFT).

Supporting this is a large body of work investigating the effect that DVFS has on the system. In our EuroSys'09 paper we investigated some of these quirks before using our modelling techniques to effectively manage the power in real systems. In some circumstances we were able to save ~30% of the energy for a benchmark, for only a 4% performance loss!

The other significant component of Koala, investigated in the same paper, is the policies used to select the frequency based on the models (which is effectively separated from the modelling mechanisms). We developed the generalised energy-delay policy, which allows a single parameter to govern a variety of workloads in a fair manner, varying the intent from maximum performance, through minimum energy to minimum power. The graphs below show what happens when our Linux-based implementation runs on a Dell Latitude D600 laptop. When alpha is 1.0, everything runs at its maximum performance. When alpha decreases to 0.0, the policy is minimum energy and when alpha decreases further to -1.0, we get the minimum power. The parameter allows these policies to be expressed in a completely workload-agnostic way. See the EuroSys'09 paper for further details.

Alpha Performance Alpha Energy

Platforms

We use a variety of platforms for testing and validation, including:

Measurement

All of our experiments are either conducted or validated via measurement of the real hardware. For low-voltage platforms (such as battery-powered laptops and embedded systems), we have designed a programmable instrumentation device called the Echidna. For servers and other devices fed from the mains supply, we use an Extech 380801: True RMS Single Phase Power Adapter.

For our component-level instrumentation work, we use a National Instruments PCI-6229 32-channel data acquisition system.

Benchmarking

Benchmarking real-world scenarios is important to demonstrate the practicality of research. To aid this, we developed a tool for recording and replaying (3 KiB, last updated 2010/05/12) input events on Linux systems. Automating benchmarks in this fashion not only simplifies the process, but greatly improves repeatability. We used this tool to benchmark Android-based smartphones in our USENIX'10 and APSys'13 papers.

People

Past

  • Aaron Carroll
  • David C. Snowdon
  • Etienne Le Sueur
  • Gernot Heiser
  • Simon Rodgers

Publications

Abstract PDF Aaron Carroll
Understanding and reducing smartphone energy consumption
PhD Thesis, UNSW, Sydney, Australia, May, 2017
Abstract
Slides
PDF Aaron Carroll and Gernot Heiser
Unifying DVFS and offlining in mobile multicores
IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS), pp. 287–296, Berlin, Germany, April, 2014
Abstract
Slides
PDF Aaron Carroll and Gernot Heiser
Mobile multicores: Use them or waste them
Workshop on Power Aware Computing and Systems, pp. 5, Farmington, PA, USA, November, 2013
A revised version of this paper was published in Operating Systems Review, Volume 48, Issue 1, January 2014, pages 44-48.
Abstract
Slides
PDF Aaron Carroll and Gernot Heiser
The systems hacker’s guide to the Galaxy: Energy usage in a modern smartphone
Asia-Pacific Workshop on Systems (APSys), pp. 7, Singapore, July, 2013
Best Student Paper Award
Abstract Slides
Video
Etienne Le Sueur and Simon Rodgers
Operating system support for the heterogeneous OMAP4430: A tale of two micros
Linux.conf.au, Ballarat, Australia, January, 2012
Abstract PDF Etienne Le Sueur
An analysis of the effectiveness of energy management on modern computer processors
MSc Thesis, UNSW, Sydney, Australia, June, 2011
Abstract PDF Etienne Le Sueur and Gernot Heiser
Slow down or sleep, that is the question
USENIX Technical Conference, Portland, Oregon, USA, June, 2011
Abstract Slides
Video
Etienne Le Sueur and Bernard Blackham
e4meter: Power management for the people
Linux.conf.au, Brisbane, Australia, January, 2011
Abstract PDF Etienne Le Sueur and Gernot Heiser
Dynamic voltage and frequency scaling: The laws of diminishing returns
Workshop on Power Aware Computing and Systems, pp. 1–5, Vancouver, Canada, October, 2010
Abstract PDF Aaron Carroll and Gernot Heiser
An analysis of power consumption in a smartphone
USENIX Annual Technical Conference, pp. 271–284, Boston, MA, US, June, 2010
Abstract PDF Dave Snowdon
OS-level power management
PhD Thesis, School of Computer Science and Engineering, UNSW, Sydney, Australia, Sydney, Australia, March, 2010
Abstract PDF Dave Snowdon, Etienne Le Sueur, Stefan M. Petters and Gernot Heiser
Koala: A platform for OS-level power management
EuroSys Conference, pp. 289–302, Nuremberg, DE, April, 2009
Abstract PDF Dave Snowdon, Godfrey van der Linden, Stefan M. Petters and Gernot Heiser
Accurate run-time prediction of performance degradation under frequency scaling
Workshop on Operating System Platforms for Embedded Real-Time Applications (OSPERT), pp. 58–64, Pisa, Italy, December, 2007
Abstract PDF Dave Snowdon, Stefan M. Petters and Gernot Heiser
Accurate on-line prediction of processor and memory energy usage under voltage scaling
International Conference on Embedded Software, pp. 84–93, Salzburg, Austria, December, 2007
Abstract PDF David C. Snowdon, Sergio Ruocco and Gernot Heiser
Power management and dynamic voltage scaling: Myths and facts
Workshop on Power Aware Real-time Computing, New Jersey, USA, September, 2005
Preliminary workshop version
Abstract PDF David Andrews, Iain Bate, Thomas Nolte, Clara Otero-Perez and Stefan M. Petters
Impact of embedded systems evolution on RTOS use and design
Workshop on Operating System Platforms for Embedded Real-Time Applications (OSPERT), Palma, Mallorca, Spain, July, 2005
Abstract PDF David C. Snowdon, Stefan M. Petters and Gernot Heiser
Power measurement as the basis for power management
Workshop on Operating System Platforms for Embedded Real-Time Applications (OSPERT), Palma, Mallorca, Spain, July, 2005