Interview on the topic of “Green Coding” with Dr. Frank Gredel
The topic of green coding includes a variety of measures that can help to develop software with lower emissions and in a more sustainable way. What approaches can companies take to actually make the programming of their software “green” with the right coding? What dimensions does this area encompass and what can IT service providers such as PTA IT-Beratung contribute in terms of a process model? Dr. Frank Gredel, Head of Business Development at PTA, answers these questions in this interview.
What is behind the concept of green coding?
We all live with the certainty that we have to drastically reduce CO₂ production on our planet if we want to preserve it. Decarbonization is the hotly debated keyword. Green coding is a relatively new approach to greater sustainability in IT; After green energy from renewable sources and green IT, which is primarily concerned with energy-saving hardware, green coding ensures greater sustainability in the course of advancing digitalization. The aim is to develop and operate software sustainably. In application development, this affects every single line of program, because every line of code can have a huge scaling effect in heavily used software.
And what dimensions are we talking about here?
The dimensions involved are enormous. Experts estimate that a Google search releases around 0.2 grams of CO₂; If we wanted to offset the emissions for all the search queries that we initiate in one year alone by planting trees, we would have to plant around 41 million trees – if we assume that one tree neutralizes around 10 kilograms of CO₂ per year and that there are an estimated 5.6 billion search queries every day. But even that is child’s play compared to the 2.2 billion trees we would have to plant for the 22 million tons of CO₂ that Bitcoin mining blows into the atmosphere every year. To give you some perspective: In the Black Forest, just four million trees grow on over 6000 km2;
Against the backdrop of such impressive figures, there are triggers to address the issue: What are they?
It is high time to act. We are facing a wide range of challenges in terms of the climate crisis, the energy transition and economic efficiency as resources become increasingly scarce. At the beginning of this year, the EU Taxonomy Regulation also came into force, which sets out criteria for determining whether an economic activity can be classified as environmentally sustainable. This is now to be supplemented by a new CSR Directive (Corporate Sustainability Reporting Directive), which expands the specifications; The first version of the CSR Directive, which has been in force since 2017, already obliges all capital market-oriented companies and groups with more than 500 employees to report on non-financial topics.
And yet the topic of green coding still doesn’t seem to have really caught on with many of those responsible – why?
Because it is anything but trivial to measure and thus correctly quantify the emissions of software. Software providers usually only calculate the emissions of Scope 1 and Scope 2 factors; Scope 1 emissions arise from the direct combustion of fossil fuels during the production of a product; Scope 2 emissions have an indirect effect; They arise during production, for example through the purchase of electricity; Under Scope 3 emissions, we bundle all emissions that arise in the supply chain, for example in services for customers or in the disposal of end products; Such Scope 3 emissions also exist on a large scale for software, as an internal study by Microsoft impressively demonstrated; Scope 3 emissions account for 75 percent of all the company’s emissions, i.e. the production, distribution and use of Windows, Office or cloud products on millions and millions of PCs in the office or at home. That doesn’t make things any easier.
And what does this mean for IT?
The IT sector is currently responsible for four percent of global greenhouse gas emissions, and the trend is rising. In 2040, digital emissions could account for around 14 percent of global CO₂ emissions. As the degree of digitalization increases, so does the expansion of the IT infrastructure; And the operation of ever larger server farms requires more and more electricity; But we should not forget the software. That’s why I believe that green IT, i.e. the efficient and economical operation of hardware and data centers, often from the cloud, falls far short of the mark here. This is because 55 percent of the emissions caused by IT can be influenced by the underlying software; Green coding therefore makes a valuable contribution to achieving climate targets and sustainability;
So where should companies start?
There are three areas in application development that ensure that the optimization potential of green coding can be fully exploited; The first area concerns the platform to be used; Here, it is particularly important to avoid oversizing, eliminate incorrect configurations and not ignore hidden infrastructure. The second area comprises the logic This means, for example, that a user-oriented visual content provides what is desired more quickly. This increases customer satisfaction and also saves time and energy; However, this also includes consciously using simpler file formats, efficient APIs and optimized image packages and consistently removing “dead” code from the application and thus establishing zero-waste code; The third area concerns the methodology, which should ensure that the results of green coding projects can also be reused across organizations; Agile and lean methods prove their worth here, as they facilitate the adaptation of software and increase its efficiency;
Can you outline specific application examples?
In the platform area, for example, it is worth paying attention to which programming language is actually used; There are significant differences here in terms of energy efficiency and speed; Solutions that use C, a very system-oriented language in which the Linux operating system, for example, is written, have some of the lowest energy consumption values and are also very fast. The energy optimization of the databases used also plays a role here; Depending on the type of query, an increase in memory can lead to power savings of up to 53 percent; And the larger block size through the use of SSDs, ideally combined with FlashDB, also offers great savings potential;
And what about green logic?
Here, too, there is considerable potential for optimization; For example, in rendering. If application developers pay attention to how their programmed data sets are visualized and converted, energy can be saved, as can program code that is developed in such a way that CPU usage is reduced to the required minimum. We have even programmed our own in-house EnergyBenchmark, which shows how high the energy consumption of individual software components is. Another application example is training optimization in AI scenarios; For example, researchers from Google and the University of Berkeley found that the use of GPT-3, an autoregressive language model, can save 99.9 percent of CO₂ emissions in this area compared to standard training. A remarkable value.
Finally, let’s look at the third area; What improvements can be made to the process model, i.e. the methodology?
By means of agile software development for efficient requirements implementation, we can maximize the benefits of IT systems in terms of green coding; To achieve sustainability, processes, teams and values should be carefully aligned. We live the idea of the agile manifesto, which states that we find better ways of developing applications by doing it ourselves and helping others to do it; In concrete terms, this means that we have expanded the agile process model to include green coding approaches so that we can incorporate this into our customer projects as best practice if required; This allows us to prioritize in the product backlog which requirements we can use to optimize the software in terms of energy consumption, sustainability and UX design; With our agile approach, we ensure that the results achieved are subjected to a detailed sustainability check and adjusted if necessary; Because we want to keep improving, which is why retrospection is also important in our model; After each work cycle, called a sprint, we discuss the result of the sprint as well as how we can improve as a team in the implementation of green coding so that we also meet the CSR guideline in the final acceptance tests.
Have we sparked your interest? Find out more about Green Coding or contact us directly: