The University of New South Wales

Energy and Power Management

Overview

batteries

The energy and power management efforts within SSRG @ NICTA 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.

In order to ensure that our research is relevant to the real world, We use measurements of power consumption in 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.

Heterogeneous multi-core

An emerging trend in embedded processor technology is the single-ISA heterogeneous multi-core CPU. Such a system consists of multiple cores with different implementations (e.g. feature sets, micro-architectures, cache sizes) and therefore differing performance and power-consumption characteristics.

Since all cores share an ISA, they can run the same code, but which applications should we schedule on which cores? Our scheduling decision can affect not only performance but also energy consumed. Specifically, we can exploit this fact to minimise the energy consumption of the whole system. Implementing such a policy requires detailed knowledge of how an application will perform on any particular core, and this is the focus of our current work.

Using a similar approach to our Koala system, we build a linear model which uses CPU performance counters to make an online prediction of how a workload will perform if we move it to a different core. This prediction is then used to inform the scheduling policy. For this work we use one of the first off-the-shelf heterogeneous multi-core devices, the Pandaboard, built around TI's OMAP4 system-on-chip. This platform has both a dual-core Cortex-A9 applications processor and a dual-core Cortex-M3 peripheral processor.

With our modelling approach we are able to accurately predict the performance of moving an application from an A9 core to an M3 core. The graph below shows the average prediction error for a number of EEMBC benchmark suites comparing our model to the naive "slowdown" approach used in some other systems. Our system averages 10% error; an 8-fold improvement on the naive approach!

Model prediction accuracy

Virtualisation

Virtualisation on embedded systems is an emerging technology for reasons of security, software reuse, etc. However, power management can not be purely virtualised because energy is an inherently global resource. We are investigating means to exploit the indirection provided by virtualisation to more effectively manage power at the hypervisor level, with a focus on multi-core systems.

Quokka: modelling peripheral power

While historically the CPU has been the device favoured by power management researchers, it is well established that peripheral devices are substantial consumers of energy; see for instance our USENIX'10 paper.

Quokka is a framework to deliver a detailed full-system power estimation, including peripherals such as disk and network adapters. It uses software observable events (packets sent, bytes read, etc.) to predict power via a linear model which is calibrated off-line. This calibration step is performed once for any particular system using an accurate power meter (such as the Echidna).

A Quokka-instrumented platform allows operating system and application developers to analyse the power consumption of their system in real time without specialised hardware.

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 2009 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 2009 paper for further details.

Alpha Performance Alpha Energy

Platforms

We use a variety of platforms for testing and validation. In addition to some confidential development platforms, these include:

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.

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 paper.

People

Publications

plain text   Etienne Le Sueur and Simon Rodgers
Operating system support for the heterogeneous OMAP4430: A tale of two micros
13th Linux.conf.au, Ballarat, Australia, January, 2012
plain text PDF Etienne Le Sueur
An analysis of the effectiveness of energy management on modern computer processors, MSc Thesis, School of Computer Science and Engineering, University of NSW, Sydney 2052, Australia, 2011
plain text
PDF
PDF
Presentation Video
Etienne Le Sueur and Gernot Heiser
Slow down or sleep, that is the question
Proceedings of the 2011 USENIX Annual Technical Conference, Portland, OR, USA, June, 2011
plain text Slides
Video
Etienne Le Sueur and Bernard Blackham
e4meter: Power management for the people
12th Linux.conf.au, Brisbane, Australia, January, 2011
plain text
PDF
PDF Etienne Le Sueur and Gernot Heiser
Dynamic voltage and frequency scaling: The laws of diminishing returns
Proceedings of the 2010 Workshop on Power Aware Computing and Systems (HotPower'10), Vancouver, Canada, October, 2010
plain text PDF Aaron Carroll and Gernot Heiser
An analysis of power consumption in a smartphone
Proceedings of the 2010 USENIX Annual Technical Conference, Boston, MA, USA, June, 2010
plain text PDF David C. Snowdon
OS-Level power management, PhD Thesis, School of Computer Science and Engineering, University of NSW, Sydney 2052, Australia, 2010
plain text PDF David C. Snowdon, Etienne Le Sueur, Stefan M. Petters and Gernot Heiser
Koala: A platform for OS-level power management
Proceedings of the 4th EuroSys Conference, Nuremberg, Germany, April, 2009
plain text PDF Martin P. Lawitzky, David C. Snowdon and Stefan M. Petters
Integrating real time and power management in a real system
Proceedings of the 4th Workshop on Operating System Platforms for Embedded Real-Time Applications, Prague, Czech Republic, July, 2008
plain text PDF David C. Snowdon, Stefan M. Petters and Gernot Heiser
Accurate on-line prediction of processor and memory energy usage under voltage scaling
Proceedings of the 7th International Conference on Embedded Software, Salzburg, Austria, October, 2007
plain text PDF David C. Snowdon, Godfrey van der Linden, Stefan M. Petters and Gernot Heiser
Accurate run-time prediction of performance degradation under frequency scaling
Proceedings of the 3rd Workshop on Operating System Platforms for Embedded Real-Time Applications, Pisa, Italy, July, 2007
plain text PDF David C. Snowdon, Sergio Ruocco and Gernot Heiser
Power management and dynamic voltage scaling: Myths and facts
Proceedings of the 2005 Workshop on Power Aware Real-time Computing, New Jersey, USA, September, 2005
Preliminary workshop version
plain text PDF David Andrews, Iain Bate, Thomas Nolte, Clara Otero-Perez and Stefan M. Petters
Impact of embedded systems evolution on RTOS use and design
Proceedings of the 1st Workshop on Operating System Platforms for Embedded Real-Time Applications, Palma, Mallorca, Spain, July, 2005
plain text PDF David C. Snowdon, Stefan M. Petters and Gernot Heiser
Power measurement as the basis for power management
Proceedings of the 1st Workshop on Operating System Platforms for Embedded Real-Time Applications, Palma, Mallorca, Spain, July, 2005