You are here
Making applications more energy-efficient
Our digital equipment is energy-hungry! According to the French Agency for Ecological Transition (ADEME), telephones, tablets, and other connected and unconnected screens account for no less than 10% of French annual electricity consumption, or that of nearly 8.3 million households. And things will only get worse, warns the association Shift Project, which states that digital energy expenditure rises 9% each year. In addition to swelling power bills, this upward trend increases the environmental impact of digital technology, with electricity production releasing the greenhouse gases (GHGs) responsible for global warming.
The digital carbon footprint likely to double by 2025
The ADEME adds that digital technology generates 3.5% of global GHG emissions – more than civil aviation (2%) – and that given the rapid growth of uses in this field, this “carbon footprint” should double by 2025. Hence the need to reduce the consumption of equipment at all possible levels, from the smartphone to the cloud, which is to say the computer services (servers, operating systems, software programs) accessible on the Internet.
While the energy used by telephones has been a major concern for manufacturers for a number of years, and has already led to notable changes (processor design, more efficient sensors and batteries), this is not yet the case for the many software layers embedded within these appliances. “Today software developers are encouraged to reduce the development time for their applications more than they are to optimise the code itself,” observes Romain Rouvoy, a researcher in software engineering at the Research Centre in Computer Science, Signal, and Automation of Lille (CRIStAL).1
Awareness surrounding this issue has emerged relatively recently. For instance, Rouvoy's group, one of the pioneers in the field, took an interest in this topic only in the last decade: “In 2010, when we were working on a project known as EcoHome, which sought to improve our understanding of the consumption of domestic internet routers in an effort to manage it better, we noted that software was largely responsible for the overall energy used by computer systems.”
Bloatware’s voracious appetite
Two types of software programs increase the electricity consumption of a smartphone when it is being used: “the computer programs operating the applications used on such devices; and the remote software of datacentres, in other words the networks of computers and storage spaces spread across the globe, where cloud servers are hosted and the data gathered by applications is transferred and processed.”
The energy appetite of these various software programs continues to grow, so much so that computer scientists now use the term “bloatware”. Why such escalation? “The improved power of smartphones, and the emergence of new generations of higher-performance mobile networks, which make it possible to send larger volumes of data (3G, then 4G and now 5G), have prompted developers to offer new and ever-expanding functionalities and applications... that are increasingly power-hungry. This is Jevons paradox (named after the British economist William Stanley Jevons, who discovered it), also known as the ‘rebound effect’, which holds that the development of more efficient technologies that should theoretically result in energy savings paradoxically increases the amount of power consumed.”
This is the reason why the frequency of charging has not decreased even though the average battery power of mobile devices has continued to improve. In the hope of helping developers create “eco-designed” software that is less energy-hungry, Rouvoy's team is developing a whole series of tools. “The first step in meeting this challenge is to estimate the power consumption of current programs, and to identify the sections of computer code that consume the most energy. This is the cornerstone of designing more efficient systems.”
In 2012 he co-developed a virtual “probe” called PowerAPI,2 which can measure the consumption of each program being executed on a machine in order to estimate the amount of energy used in real-time. However, other and more powerful tools are needed to guide the development of increasingly complex software programs, hence the importance of expanding research in the field.
With respect to computer code, “a solution for consuming less energy could even involve recommending one type of programming language rather than another for a particular application, given that for the same functionality, consumption can vary by a factor of 100 depending on the computer language being used (Java, Python, JavaScript, etc.). The many requests exchanged between remote servers and the smartphone could also be optimised”.
Reducing the consumption of datacentres
Concerning the software hosted on remote servers, where the data gathered by applications is often sent and processed, “one possibility to make it more energy-efficient is to better manage how it functions within a single datacentre, so as to use much fewer servers, and especially their resources (energy, memory, etc.)”. During research presented in 2017,3 the computer scientist and his colleagues designed “scheduler” software that can orchestrate the various programs run by a cloud datacentre. Bingo! – the tool reduced the infrastructure's overall consumption by 23%, all while maintaining similar performance.
Since January 2022, Rouvoy and his team have been coordinating a new project to identify specific recommendations for computer programs, as well as the most adapted configurations for reducing the energy consumption of cloud software: the Distiller4 programme, financed in the amount of €664,580 by the French National Research Agency.
“Using various artificial intelligence algorithms, we can study all software levels of a cloud application, and think more globally in order to propose optimised end-to-end configurations.” Other research groups – either abroad (Canada, the United States, etc.) or across France (Rennes, Pau, Lyon, Bordeaux, Nantes, etc.) – are also developing solutions for eco-design software. They include Anne-Cécile Orgerie's team at the Research Institute of Computer Science and Random Systems (IRISA)5 in Rennes (northwestern France).
As part of the CNRS's Decorus6 project, these researchers are trying to optimise datacentre consumption by integrating renewable energy (solar, wind, etc.). “One of our main goals is to determine whether it is possible to develop code that delays the execution of smartphone applications that use datacentre servers – and do not require to be completed quickly (such as backups) – performing them only when renewable energy is produced (for instance during the day in the case of solar energy),” explains Orgerie. The transition towards more energy-efficient software is underway.
- 1. CNRS / Université de Lille / Centrale Lille Institut; Spirals team (Self-adaptation for distributed services and large software systems).
- 2. http://powerapi.org/; PowerAPI: A Software Library to Monitor the Energy Consumed at the Process-Level: A. Bourdon, A. Noureddine, R. Rouvoy, L. Seinturier. ERCIM News, Special Theme: Smart Energy Systems, 92, pp .43-44. ERCIM, 2013.
- 3. Aurélien Havet et al. “GenPack: A Generational Scheduler for Cloud Data Centers”. 5th IEEE International Conference on Cloud Engineering (IC2E), April 2017. DOI Bookmark: 10.1109/IC2E.2017.15
- 4. For “recommenDer servIce for SusTaInabLe cLoud nativE softwaRe”. Conducted in collaboration with Davidson Consulting, a management and technological expertise consulting firm, as well as the cloud services provider OVHcloud, and Orange.
- 5. CNRS / Université de Rennes 1.
- 6. For “Distributed Edge Computing powered Only by Renewable energy soUrceS”.
Explore more
Author
A freelance science journalist for ten years, Kheira Bettayeb specializes in the fields of medicine, biology, neuroscience, zoology, astronomy, physics and technology. She writes primarily for prominent national (France) magazines.