Reduce CO2 Emissions and Cost by Increasing Software Efficiency
IT systems are expected to account for as much as 20% of the global energy demand by 2030. To put it in perspective, the transportation industry (jet engines, ships, tankers, trucks, etc.) currently accounts for 25% of the global energy demand. As energy production is the primary source of CO2 emissions, the IT industry must start to act more responsibly.
For many industries, moving to more efficient and sustainable options often elicits higher costs or less satisfactory experiences. In contrast, efficient software platforms are cheaper and provide better experiences. Therefore by adopting more efficient technologies, IT decision-makers can do the right thing for their businesses and the planet.
A recent article published in the Institute of Electrical and Electronics Engineers (IEEE) Xplore proposes a framework for estimating the CO2 emissions software platforms produce over a year. Using this framework, two nominally similar technologies are compared against each other, showing that the more efficient platform reduces cost by 79% and CO2 emissions by 84%.
As some readers may find the scientific format difficult to follow, this white paper provides an easier-to-read version of the process.
Improving software efficiency increases the speed and throughput that a unit of resources (a computer, VM, container or node) can handle. Therefore, an efficient software platform would require fewer units to handle a specific workload/demand. Fewer units of resources result in reduced costs and emissions. That’s a win-win situation for businesses and the planet.
CO2 Emission Estimation Framework
Although measuring CO2 emissions caused by software is a relatively new subject, researchers have already made impressive progress. In 2021, researchers demonstrated that some programming languages produce fewer emissions.
Although this is a great insight, using a more efficient programming language does not guarantee emission reduction because the efficiency of the application is also a deciding factor.
New research in this space tries to address the problem more pragmatically. A software platform requires a minimum amount of resources to handle a given workload. By estimating the minimum amount of required resources for a workload, calculating the CO2 emissions is relatively simple.
Hardware components produce CO2 emissions in two ways: through the manufacturing process and the energy required to operate them. The sum of these two amounts is an estimated amount of emissions a software platform produces.
The Framework in Action
The research team compared two famous and widely used database technologies, Apache Cassandra and Aerospike, to show the significance of the findings. This is an interesting choice because one of the technologies is an order of magnitude more efficient than the other. Therefore it is expected to reduce resource usage, costs and emissions.
A well-tuned Apache Cassandra cluster serves requests with a single-digit millisecond latency (in practice, 5 to 10 ms). In contrast, Aerospike is famous for handling requests with less than a millisecond latency, an order of magnitude improvement.
The selected workload for this comparison is 1 petabyte. Since both technologies are linearly scalable, the results can be easily converted for smaller or larger workloads.
Using the best practices for each technology, the minimum amount of resources for each technology for running on AWS was estimated. The detailed calculation is documented in the IEEE article.
Apache Cassandra uses a larger number of relatively small instances, whereas Aerospike uses a small number of relatively large instances. Nevertheless, looking at the total number of resources used, the more efficient system uses significantly fewer resources:
Given the AWS resources prices, the total annual running cost of each technology would be as follows, which is in line with the expectations. The more efficient technology is 79% cheaper:
To use the CO2 Emission Estimation Framework, an estimation for the amount of emissions the manufacturing and energy usage of AWS hardware produced is required. The engineering team in Teads Media has done excellent engineering work to estimate the emissions of different AWS resources. They put together the result of their findings in an easy-to-use Carbon Footprint Calculator.
The research mainly uses the emission data from this calculator to estimate the emissions of each platform. The results are in line with the expectations. The more efficient technology produces 84% fewer CO2 emissions:
The difference is 569 metric tons of CO2 per year, the amount of CO2 that 57 hectares of trees absorb in a year!
Efficiency has always been an important subject for software professionals, but there is a new reason to pay more attention to it. As expected, improving software efficiency leads to better performance, lower resource consumption, lower cost and lower emissions.
The concern about CO2 emissions is registered at all levels of society:
- Reducing greenhouse gases is included in the United Nation’s 2030 agenda for Sustainable Development Goals (SDGs).
- 192 countries have signed the Paris Agreement to curb their emissions.
- Almost two-thirds of Financial Times Stock Exchange 100 (FTSE100) companies voluntarily have committed to net-zero targets.
- The three major cloud providers (AWS, Azure and GCP) have started reporting the CO2 emissions produced by the consumption of their resources by customers.
It’s reasonable to expect software industry professionals to start looking at efficiency with a renewed appetite. After all, efficient software is not only good for businesses, it’s also good for the planet.