The power management efforts within ERTOS are focussed on building effective power management schemes which improve the energy efficiency and manageability of computer systems. Within the ERTOS context, this implies embedded systems, although the techniques developed have been more generally applied 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.
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 very few assumptions, and as a result, the research is applicable.
Our current work focuses on developing models for power consumption on multi-core devices, both in embedded systems, like phones and portable gaming devices, and in desktop/laptop/server class systems where power management is equally important.
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.
We use a variety of platforms for testing and validation. In addition to some confidential development platforms, these include:
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 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.