I spent a bit of the morning of 2 April 25 listening to a
presentation by Charles Humble on the topic of Writing Greener Software (YouTube).
It is a good listen watch, especially if you’re interested
in software. To pique your interest, the following topics are mentioned:
Some science behind the study of climate change (along with
some terrifying predictions).
Different ‘scopes’ of carbon responsibility: scope 1 (what
we are responsible for), scope 2 (carbon from some of the services we consume),
and scope 3 (carbon emitted from organisations we use). I paraphrase this badly.
The notion of embedded carbon and how it relates to your
devices.
Related to this, keep your end user devices for as long as
you can, since the embedded carbon is likely to be higher than any running
costs.
The relative efficiency of programming languages. With this in
mind, always try to use the latest runtime of any language you’re using (a
point was made that new version of the Java virtual machine is likely to be more
energy efficient than older version).
The efficiency of servers (and what server load you should
aim for). Also, when it comes to energy efficiency, servers are different to
end user devices.
The need to manage our ‘zombie’ servers; servers which we’re
afraid to turn off. On this point, we need to be able to reliably turn servers off
and on without causing any disruption to services.
The CPU choice of your data centre servers.
If you’re using a public cloud provider, to look at any carbon
tools they have, and know how to use them.
There’s a concept called demand shifting. Consider where your
users are, and consider where the energy is greener. You could also carry out your
data processing at different times, and at different locations. Try to predict
demand.
On the topic of AI, ‘information on the environmental cost
of AI is scant’. Energy consumption may have increased between 30 and 50% since
2020. Generative AI is computationally expensive, both with respect to training
and using large language models.
There are likely to be more regulations and governance.
Conclusion: share your knowledge about all this; talk with
each other.
Accompanying references
I recognised a couple of websites and resources, and learnt
about a few that I hadn’t heard of.
In terms of websites, tools and organisations, there were:
There are also a couple of podcasts (but I can only access
one of them): Climate Stack.
Reflections
I was expecting something different from this talk. I was
expecting to learn some practical tips that perhaps related to design and
coding. In retrospect, I’m really glad it didn’t touch on these lower level
issues, since that wouldn’t express the complexities that the talk touches on. Green
software goes beyond bits of code. Software relates to requirements, architectural
choices, data centre locations, data centre design, and decisions about when and
where you carry out tasks. There’s also the importance of personal and professional
responsibility, and the need to lobby within the organisations in which we
work.
Writer greener software
I spent a bit of the morning of 2 April 25 listening to a presentation by Charles Humble on the topic of Writing Greener Software (YouTube).
It is a good listen watch, especially if you’re interested in software. To pique your interest, the following topics are mentioned:
Accompanying references
I recognised a couple of websites and resources, and learnt about a few that I hadn’t heard of.
In terms of websites, tools and organisations, there were:
Some useful books:
There are also a couple of podcasts (but I can only access one of them): Climate Stack.
Reflections
I was expecting something different from this talk. I was expecting to learn some practical tips that perhaps related to design and coding. In retrospect, I’m really glad it didn’t touch on these lower level issues, since that wouldn’t express the complexities that the talk touches on. Green software goes beyond bits of code. Software relates to requirements, architectural choices, data centre locations, data centre design, and decisions about when and where you carry out tasks. There’s also the importance of personal and professional responsibility, and the need to lobby within the organisations in which we work.