碳足迹

我们致力于减少碳足迹。

兰卡斯特大学的一项最新研究表明,全球计算产生的温室气体 (GHG) 排放量可能高于之前的估计。信息和通信技术 (ICT) 行业在整个生命周期中(从制造到计算)产生的温室气体占全球总排放量的 3.9%。如果属实,这甚至高于航空业,航空业的排放量约为 2%

OCaml 维护人员非常清楚其基础设施对环境的影响,尤其是构建 Docker 基础镜像、运行持续集成 (CI) 检查以及构建和部署此网站的机器。全球各个数据中心中近 1000 个 CPU 内核运行着这些任务。虽然 OCaml 是开源的,但这些机器并非免费运行。制造和维护这些机器的成本,更不用说为其供电的巨大能源消耗,都是巨大的。

维护人员正在探索减少 OCaml 碳足迹的方法,最终目标是实现碳中和。碳中和是指抵消碳足迹的做法。例如,在计算出产生的排放量后,可以通过投资于旨在减少排放的项目来抵消同等量的排放。可再生能源和其他类似的举措有望实现这一目标。在做出任何重大决定之前,他们首先必须更好地了解 OCaml 对环境的影响。这项工作已经开始。通过使用 OCluster(一种集群管理工具),他们将收到更完整的报告,并根据这些信息,他们可以做出产生可衡量影响的决定。

一些可能性

  • 更好地缓存和共享工件,以减少在重叠作业上多次运行。目前,OCaml 基础设施尝试在同一台机器上重新运行作业,这使得命中缓存的可能性更高。
  • 尽管如此,有时作业会不必要地重新运行,因此人们正在讨论插入一个选择加入选项来重新运行,而不是自动重建。
  • 公开报告。由于有多个作业在不断运行,用户从基础设施产生的海量数据中获得的价值越多越好。
  • 向 OCaml 用户公开环境指标

持续集成 (CI) 是一种自动化过程,它在编写或修改代码时检查代码,以确保一切正常运行。这需要大量的计算能力,因此也需要大量的能量。OCaml 的“健康检查”是一种 CI,每次修改代码时都会针对多个编译器重建数百个包。虽然这些测试很有用且在一定程度上是必要的,但拥有更好的指标和报告将帮助维护人员了解如何最好地管理和节约能源使用。

虽然这些解决方案正在不断发展以改善我们的碳足迹,但 OCaml 维护人员正在为此支付可靠的碳抵消费用,以帮助减轻这一问题。

除了上述解决方案之外,将排放分类为必不可少的和非必不可少的,并最终抵消或消除后者也很有帮助。网站功能和 Opam 包构建所需的计算会产生必要的排放;但是,如果在架构上,它正在做一些浪费的事情,例如反复构建包然后丢弃结果,这些任务会产生非必要的排放,如果不能完全停止,则应进行修改。可以通过统一和规范各种服务的數據模式、添加缓存以避免重复计算以及确保不可变内容的有效 HTTP 缓存控制头来消除不必要的排放,这将减少服务器负载。

解决 OCaml 碳足迹的另一种方法是选择具有自己的进步碳中和政策的“绿色”数据中心,汇集数据并确保能源使用尽可能健康,并在可能的情况下使用可再生能源。

image info