The ICT sector emits 4% of global greenhouse gas (GHG) and is quickly growing ― Lean ICT Report1
4% GHG correspond to 341 large-scale power stations at the size of 12TWh/year2. A huge fraction of these energy costs is caused by inefficient software.
Because algorithm design requires human ingenuity, however, it is hard to anticipate advances ― Leiserson et. al3
There is little awareness of the material cost of IT4. Yes there is Green IT (more efficient CPUs) but also huge Rebound Effects (more use of IT for e.g. big data, more network costs between devices and clouds, bitcoin’s energy5 and e-waste6 craziness and that of other cryptocurrencies7). Particularly the energy cost of software is widely ignored and digitalization is rather seen as a vehicle to promote sustainability elsewhere. Yes there are Principles of Sustainable Software Engineering, some teaching on them, some blogging, some articles, a difficult to find TED Talk on Green Coding and an academic book on Green in Software Engineering, however, not much, of this arrives in practice, and nothing improves existing legacy software. Green coding is hard work and scales badly: removing the technical dept of the last 60 years would cost millions of man-years8.
in many areas, performance gains due to improvements in algorithms have vastly exceeded even the dramatic performance gains due to increased processor speed — Report to the President and Congress9
Part of the technical dept in software can be removed with little effort10, because it is encapsulated in libraries:
Indeed, I believe that virtually every important aspect of programming arises somewhere in the context of sorting or searching ― Donald E. Knuth14
Lean ICT Report March 2019, see also The real climate and transformative impact of ICT: A critique of estimates, trends, and regulations. Freitag, Berners-Lee, Widdicks, Knowles, Blair & Friday (2021) Patterns Volume 2, Issue 9↩︎
12TWh/year is the average size of a nuclear power station↩︎
“E-waste represents a growing threat to our environment, from toxic chemicals and heavy metals leaching into soils, to air and water pollutions caused by improper recycling. Here we present a methodology to estimate Bitcoin’s e-waste and find that it adds up to 30.7 metric kilotons annually, per May 2021. This number is comparable to the amount of small IT and telecommunication equipment waste produced by a country like the Netherlands. At peak Bitcoin price levels seen early in 2021, the annual amount of e-waste may grow beyond 64.4 metric kilotons in the midterm, which highlights the dynamic trend if the Bitcoin price rises further. Moreover, the demand for mining hardware already today disrupts the global semiconductor supply chain.”, Bitcoin’s growing e-waste problem, de Vries & Stoll (2021)↩︎
Designing a Digital Future: Federally Funded Research and Development in Networking and Information Technology, recently verified: “Overall, we find that algorithmic progress for the median algorithm family increased substantially but by less than Moore’s law for moderate-sized problems and by more than Moore’s law for big data problems” — How Fast Do Algorithms Improve? Sherry & Thompson (2021)↩︎
More work of many parties is required to follow for example these 10 Best Practices for Green IT System or this List of Quick Wins to make your software application more efficient↩︎
The other half of ICT costs is related to network communication and external devices such as screens↩︎
“Computer manufacturers of the 1960’s estimated that more than 25 percent of the running time of their computers was spent on sorting, when all their customers were taken into account. In fact, there were many installations in which the task of sorting was responsible for more than half of the computing time. From these statistics we may conclude that either there are many important applications of sorting, or many people sort when they shouldn’t, or inefficient sorting algorithms have been in common use.” — Donald Knuth, The Art of Computer Programming, Volume 3, Sorting and Searching↩︎
“Developers made much effort to optimize hardware in order to reduce their energy consumption. However, we show in this paper that one also has to consider energy awareness in terms of software. In this study we focus on sorting algorithms, which are not only used directly by the user of a device but also very often implicitly by other algorithms. Our experiments show, that different sorting algorithms have different energy consumptions”, Bunse et. al. 2009, Exploring the Energy Consumption of Data Sorting Algorithms in Embedded and Mobile Environments↩︎
The Art of Computer Programming, Volume 3, Sorting and Searching↩︎