Our Founder Max Schulze was invited to the OOP Conference last month and gave a presentation in German about SoftAWERE: A project the SDIA is a part of which aims to develop innovative tools and labels to enable energy-efficient software applications. Watch Max's presentation and the discussion that followed in the video, read the summary below, or view the slides here.
Back in the day, resource consumption didn’t matter as much in the development of software. However, at present the topic of resource consumption is becoming more important in every sector, including software development. We have to be cognizant of the fact that software consumes resources as well. But how can we make the development of software more sustainable? Before answering this we have to assess the resources consumed by software:
- Network bandwidth
- Storage capacity
- Memory capacity
- CPU time
Here at the SDIA, we summarize these four resources as digital power — which is powered by electrical power. We can view the devices that are using digital power as conversion machines, as they convert electrical to digital power and they can be small-scale (e.g. smartphones) or large-scale (e.g. servers). These devices create a software environmental footprint due to the resources used during manufacturing and the electricity they consume. Therefore it is important to enable IT developers and architects to understand, measure, and improve the efficiency of software. The SoftAWERE project aims to solve this problem by developing tools that can determine the electrical power consumption of software.
How does SoftAWERE plan to accomplish that?
Today, a large part of developing software is built by assembling existing open source libraries and software components. SoftAWERE wants to make the electrical power that these libraries and components are using transparent, so that developers and architects can estimate how much electricity the final application will consume. This could be done for example, by adding something similar to a badge that states the electrical consumption when choosing a component on Github or similar platforms.
How do we assess the electrical consumption of libraries and components?
SoftAWERE will implement tests for measuring the energy-efficiency of a software component. We will record the power consumption while the test is executed, and report the results into a CI/CD flow. The project will look at many different programming languages (e.g. Python, Java, C++ etc.) and development environments (e.g. Android Studio, Visual Studio, Eclipse IDE etc.).
If you would like to participate in shaping the outcome of this project, please join our SoftAWERE Steering Group.