Energy and Power Management
Overview
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!
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
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.
Platforms
We use a variety of platforms for testing and validation. In addition to some confidential development platforms, these include:
- PLEB 2 (PXA255 based)
- iBox (PXA270 based)
- Gumstix (PXA255 based)
- Phycore iMX31-based SOM.
- Dell Latitude D600 (Pentium M based).
- IBM T43 (Pentium M based)
- ASUS EEEPC 901 (Intel Atom based).
- AMD Opteron-based servers (single-core and multi-core).
- Intel Xeon-based servers (single-core and multi-core)
- Openmoko Freerunner (Samsung ARM9 based - iPhone processor)
- Pandaboard
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
Current |
Publications
|
![]()
|
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 |
|
![]() |
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 |
![]()
|
![]() ![]() |
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 |
|
![]()
|
Etienne Le Sueur and Bernard Blackham e4meter: Power management for the people 12th Linux.conf.au, Brisbane, Australia, January, 2011 |
![]()
|
![]() |
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 |
|
![]() |
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 |
|
![]() |
David C. Snowdon OS-Level power management, PhD Thesis, School of Computer Science and Engineering, University of NSW, Sydney 2052, Australia, 2010 |
|
![]() |
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 |
|
![]() |
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 |
|
![]() |
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 |
|
![]() |
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 |
|
![]() |
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 |
|
![]() |
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 |
|
![]() |
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 |





