Until now the target for energy savings by computers has been the hardware. But hardware is only part of the story, perhaps even the smaller part, as new a EU project is showing. Even with energy-efficient hardware, much of the potential for energy savings is wasted by the drain that inefficient software places on systems.
The ENTRA project, which runs until September 2015, has come up with an experimental software prototype based on programming semantics that tells programmers how much energy will be consumed as a result of the code they are writing. The ENTRA tool runs alongside the program and, through code analysis and energy modelling, shows how much the code is going to cost the computer in terms of energy use, and what the impact of design decisions on energy use will be.
"Compare it to the fuel efficiency of a car", stated ENTRA coordinator Professor John Gallagher, of Roskilde University in Denmark. "We think of that being the property of the car. You buy a car and it is supposed to consume 8 litres per 100 km or whatever, but of course that depends on the way you drive it. The same is true for computing. You think of energy being associated with the hardware, but it seems that potentially more energy is savable at the software level with the same hardware, rather than putting a lot of effort into developing more energy-efficient hardware. That's where the ENTRA project comes in."
The ENTRA project focuses on energy efficiency as a design goal and aims to bring energy efficient products by IT companies - quicker to market. The ENTRA tool shows energy use in terms of Watts (power consumption) or in absolute energy requirements - the energy needed to finish the task - depending on the speed of the processor (GHz). Rather than having to wait until the programme is installed and running on a machine and then measuring its energy - often too late to do anything about it, the programmer gets an early picture from the energy predictions in the code.
The energy consumption of computers has become a major concern, both environmentally in terms of carbon footprint, and practically through the need for greater battery life. The huge growth in Cloud computing over the past decade has meant data centres have become very large consumers of energy. Power is needed not just for cooling, but also to process and transport data. The ENTRA approach can help both with the programming and with scheduling of tasks to minimize energy.
As the demand for computing power increases exponentially, software applications will need to be designed in an energy-efficient way to allow smaller batteries to be charged less frequently.
With an eye on meeting these challenges, the ENTRA prototype is being tested on three typical energy-hungry components: real-time audio processing, robot and motor control, and real-time networking. The software defining them is being run on hardware at XMOS, a semiconductor company in Bristol, the United Kingdom, which produces for the automotive, computing and games industries. Researchers in the project are seeing in these case studies that energy savings could be at least 20-50 percent, e.g. by compacting programmes, and optimizing timing of operations to permit lower processor speeds.
XMOS plans to add ENTRA components for energy optimization into its tool-chain. The ENTRA results are also being exposed to internationally leading companies such as ARM and ST Microelectronics, and world leading academics in energy-efficient computing at the EACO (Energy Aware COmputing) workshops.
Scaling up ENTRA's results to system level is feasible, said Professor Gallagher. "The whole approach is independent of any particular hardware or application domain in the sense that it is based purely on the programming language semantics and a general energy model. So we could apply the same techniques to high performance computers", he pointed out.
The ENTRA project, consisting of 4 partners in Denmark, the UK and Spain, began in October 2012, ends on 30 September 2015, and receives FP7 funding of 2.1 million euros.
More information is available at the ENTRA project's website.