OCaml.org: recapping 2022 and queries on the Fediverse

I’m glad to see the topic of energy and emissions brought up and I would have to echo @avsm’s response that it is the right thing to do. We, as a community, have more or less complete control over what we deem important enough to run and deploy and when and for how long we decide to do it. I think it’s important that we realise there are costs associated with this. Some more familiar, like the maintenance burden or the monetary cost of hosting machines. And some less familiar, like the environmental impact (energy consumed by machines, the embodied energy of hardware etc.).

The work I’m currently doing is focused on getting ballpark emissions figures for the cluster of machines that run various services (like GitHub - ocurrent/overview: A brief overview of the main CI services, watch.ocaml.org etc.). We combine energy grid information (at the moment from the UK for the Cambridge machines) alongside per machine power draw to determine approximately the CO2e. With better monitoring we will be able to better measure the impact of changes we make to how we run things and also hold ourselves accountable to our environmental impact. It’s not perfect, but hopefully a start.

Before beginning to worry about is programming language X more efficient than Y, I think there are bigger wins to be had, for example, carbon intensity aware cluster scheduling. The docker-base images are rebuilt weekly, perhaps these could be scheduled based on the forecast of the energy grid carbon intensity which can fluctuate quite drastically? I hope to expand on these ideas and more soon (Q1 this year) and provide more insight into the work that’s going on probably on ocaml.org or infra.ocaml.org. In the meantime if anyone wants to help or is interested please do reach out :deciduous_tree:

9 Likes