Two years ago, the European Commission awarded a grant to the three-year
ENTRA research project to create tools that will help programmers write more energy-efficient programs. The task is to reduce energy consumption in data centers by 50% and increase the operating time of mobile devices.
This is a very original initiative. To date, all efforts to save energy have been aimed exclusively at manufacturers of equipment. And in this field considerable success has been achieved: the consumption of electricity by consumer electronics
is decreasing from year to year , despite the increase in the number of devices, the increase in the diagonal of TV screens and the power of processors.
Annual electricity consumption by consumer electronics category (TWh), USA, 2013
')
Now it was decided to optimize not only the hardware, but also the program code.
In the framework of the ENTRA project, which ends in September 2015, a prototype of experimental software, a kind of "simulator" of energy consumption, was created. It is still at the development stage that predicts how much power the program will have when running on a particular processor. "Simulator" gives advice on optimizing the design of the program.
“Compare this to the fuel economy of a car,” said ENTRA Project Coordinator, Professor John Gallagher of Roskilde University (Denmark). - We perceive it as a characteristic of the car. You buy a car and assume that it consumes 8 liters per 100 km or something like that, but it depends on the mode of driving. Same thing with computers. You are used to associating power consumption with hardware, but it seems that more energy can be saved at the software level with the same hardware. This is what the ENTRA project is working on. ”
The created simulator shows the approximate power consumption of the program in watts, depending on the processor clock frequency (GHz), and also shows the total amount of energy needed to complete the task. It is important that this happens at an early stage of development, when there is an opportunity for optimization. Experiments have shown that due to such optimization it is possible to reduce the energy consumption of programs by 20-50%.