加速世界中的软件节俭性:以持续集成为例
软件工程
2024-10-28 v2
摘要
软件开发和交付的加速要求对软件系统进行严格的持续测试和部署,而这些系统正被部署在日益多样化、复杂和动态的环境中。近年来,DevOps以及GitLab和GitHub等集成软件锻造平台的普及,极大地促进了持续集成(CI)实践在越来越多软件中的普及。然而,这一趋势与全球能源消耗问题以及信息与通信技术(ICT)领域日益增长的节俭需求显著交叉。CI流水线通常在数据中心运行,这显著增加了ICT的环境足迹,但关于其环境影响的信息却很少。本文旨在通过首次大规模分析使用GitHub Actions实现的CI流水线的能源足迹,并提供CI能源影响的初步概述,来弥合这一差距。我们收集、检测并重现了来自GitHub上396个Java仓库的838个工作流,以测量其能耗。我们观察到,单个流水线的平均单位能耗成本相对较低,为10 Wh。然而,由于这些流水线在实际环境中被重复调用,每个项目的总能耗成本很高,平均为22 kWh。当根据区域Wh-to-CO2估算值评估CO2排放时,我们观察到平均总CO2排放量很大,平均为10.5 kg。为了便于理解,这相当于一辆典型的欧洲汽车(110 gCO2/km)行驶约100公里所产生的排放量。根据我们的结果,我们主张开发人员在实施DevOps实践时,应具备更好地预测和反思其CI选择的环境后果的手段。
引用
@article{arxiv.2410.15816,
title = {Software Frugality in an Accelerating World: the Case of Continuous Integration},
author = {Quentin Perez and Romain Lefeuvre and Thomas Degueule and Olivier Barais and Benoit Combemale},
journal= {arXiv preprint arXiv:2410.15816},
year = {2024}
}
备注
This paper is currently under review by Communication of the ACM