As hardware costs decrease and bandwidth increases, software produced today consumes a lot of electricity, as developers no longer need to worry about using resources efficiently, which increases carbon emissions dreadfully. According to Avanade, the amount of electricity usage and carbon emission of software and services of an enterprise “could be the equivalent of keeping 26,000 fossil-fueled cars on the road for one year (Green Software | Avanade, 2022)”.
Green Software Foundation (GSF) (Green Software Foundation | GSF, 2022) aims to reduce the greenhouse gas beaming by reducing the electricity used by software to perform the same operation, reducing the use of physical resources to execute the same function and placing software in time and region where energy use could be reduced. Companies can achieve this by having an outstanding knowledge of the tools and services used during the development life cycle, and then, based on these observations, medium- and long-term development plans can be prepared. These allow companies to identify and solve simple problems early in the process and then work on robust problems that require more resources, investigation, and preparation later. While corporate leadership can do a lot for Green Software (GS), educating colleagues and customers about the utility of the movement and how efforts can support common interests can achieve even lower carbon emissions.
The Software Carbon Intensity (SCI) specification is a method used to calculate the carbon footprint of applications and services. It enables developers and data scientists to write runtime-optimized software, and business leaders to understand the carbon impact of digital operations. Finally, it generates a score that indicates where improvements are needed to reduce the carbon footprint of the solution. Avanade is the lead committee for GSF and supports clients in getting started with GSF by first measuring the effectiveness of the software and its solutions, which generates an SCI score. The company has also built practices that can be built into the project lifecycle to allow software developers and data scientists to review what changes can make the solution greener and more efficient and provide customers with suggestions on how to measure the carbon emissions of solutions and their components delivered by programmers.
The carbon-aware software development kit can be used to schedule software to run at optimal times. When the application is ready to go live, continuous integration and delivery tools together with forecasting of carbon emission are used to identify changes that could make the solution greener. After launch, the performance of the service is monitored in the real environment. Azure policies can be created to audit, prevent, and reduce greenhouse gas emissions. Cloud carbon footprint tools and emission impact dashboards are available to monitor the entire company’s operations.
While green software is good for the environment, reducing carbon footprint can also reduce energy use and computing time, which makes cloud or on-premises electricity prices lower. Customers may not be able to adopt GSF right away, cost and performance evolve from the first step and add up over time as greener applications and services are built (CTA Series: Green Software | Techs & Specs Blog (avanade.com), 2022).
Green Software Lab (GSL) developed various tools and techniques to support software developers in building GS or to reduce the carbon intensity of existing applications (Abreu et al., 2021). The Integrated Energy-Aware Developer Environment (IEDE) helps to find and observe energy leaks and to rank programming languages and data structures based on their energy consumption. Function Memoization is a great tool for optimizing power usage while not reducing application performance.
Both Avanade’s and GSL’s frameworks make developers aware of the importance of GS and enable them to understand how to reduce greenhouse gas emissions early in the software project lifecycle. However, according to (Ibrahim et al., 2022), in addition to building GS and raising awareness, the waste generated during project work is also an important factor. Waste is any resource used or activity performed that does not produce value and results in a poor product that does not meet customer expectations. A properly executed design phase with effective communication can reduce the amount of paperwork and the duplication of effort during the implementation phase. Automation and pair programming can reduce the resources and time needed to solve complex problems, which otherwise may result in a delay in project handover and can cause severe stress to developers.
We have discussed moving software execution to a place and time where resources are cheaper. However, it is difficult to transfer the training job of a deep neural network (DNN) algorithm, as it requires an unbelievable amount of compute and up-to-date training dataset to achieve high accuracy, and different regions have different data regulations that must be followed. The Carbon Aware Zeus (Chung et al., 2022) aims to optimize the GPU power demand during the training of DNNs based on the carbon dioxide intensity at a given time and place. As a result, DNN training emits 24% less carbon dioxide with only a 3% increase in runtime.
Since people use software more and more frequently in their daily lives, in addition to the efforts of companies to release green software, users must also consciously choose the programs they want to use in order to protect the environment.
Abreu, R. et al. (2021) ‘Green Software Lab: Towards an Engineering Discipline for Green Software’. Available at: http://arxiv.org/abs/2108.03028.
Ahmad Ibrahim, S.R., Yahaya, J. and Sallehudin, H. (2022) ‘Green Software Process Factors: A Qualitative Study’, Sustainability (Switzerland), 14(18). Available at: https://doi.org/10.3390/su141811180.
Chung, J.W., Yang, Z. & Meng, L. (2022) ’Carbon-Aware DNN Training with Zeus’, TAIKAI. Available at: https://taikai.network/gsf/hackathons/carbonhack22/projects/cl95qxjpa70555701uhg96r0ek6/idea (Accessed: 12 December 2022).
CTA Series: Green Software | Techs & Specs Blog (avanade.com) (2022) Available at: https://www.avanade.com/en/blogs/techs-and-specs/green-software/cta-spreading-the-message (Accessed: 28 November 2022)
Green Software Foundation | GSF (2022) Available at: https://greensoftware.foundation/ (Accessed: 28 November 2022)
Green Software | Avanade (2022) Available at: https://www.avanade.com/en/technologies/green-software (Accessed: 28 November 2022)