软件可持续性的重要性及其能源消耗问题
Coral Calero 在国际计算科学会议(International Conference on Computational Science)上发表了关于软件可持续性的主题演讲。她指出,现代软件应用通常处理大量数据,大多数是基于互联网的应用,并集成了人工智能。这些特性虽然提升了软件的功能和性能,但也增加了能源消耗。为了控制软件对环境的影响,测量其能源消耗至关重要。
可持续软件的定义与维度
Calero 提到,Markus Dick 和 Stefan Naumann 提出的“可持续软件”定义被广泛采用:
可持续软件是指在开发、部署和使用过程中,对经济、社会、人类和环境产生的直接和间接负面影响最小化,并对可持续发展产生积极影响的软件。
软件可持续性的维度与联合国《布伦特兰报告》一致,包括以下三个方面:
- 人类可持续性:软件开发与维护对开发社区及其个人的社会学和心理学影响,涵盖劳工权利、心理健康、社会支持、社会公平和宜居性等主题。
- 经济可持续性:软件生命周期过程如何保护利益相关者的投资、确保收益、降低风险并维护资产。
- 环境可持续性:软件产品开发、维护和使用对能源消耗及其他资源使用的影响,也称为绿色软件。
现代软件的新特性与能源消耗
Calero 指出,现代软件在其原有特性的基础上增加了三个高能耗的新特性:
- 数据量显著增加:软件应用每天需要处理的数据量大幅增长。
- 互联网化:大多数软件基于互联网,数据传输导致能源消耗增加。
- 人工智能的集成:人工智能成为软件系统的一部分,进一步增加了能源需求。
能源消耗的测量方法
Calero 提到,能源测量方法主要分为两种:
- 软件方法:通过软件工具估算能源消耗并分析资源使用情况。这种方法成本低且易于适应,但估算可能不准确,因此不建议作为可靠的能源消耗数据来源。
- 硬件方法:使用硬件设备实时准确测量软件运行时的能源消耗。这种方法提供真实且精确的测量结果。
提升软件可持续性的建议
Calero 强调,软件开发行业需要提高对软件环境影响的认识,并采取具体行动:
- 识别可改善可持续性的任务。
- 将具体行动纳入企业社会责任。
- 制定专注于可持续性的商业政策。
- 定义考虑能源消耗的开发流程。
- 在人类和经济维度上,以软件可持续性为视角开展工作。
她总结道,虽然我们还有很多工作要做,但每一个伟大的旅程都始于第一步。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。