软件可持续性概述
软件可持续性包括为环境目的进行计算以及适当使用资源。根据Coral Calero的观点,软件工程师需要以全面的方式看待软件,并应意识到软件对环境的影响。目前已有多种工具和框架可供软件工程师进行可持续软件开发。
绿色计算的定义
Coral Calero在XP 2023会议上发表了关于软件可持续性的主题演讲。她提到,绿色计算是定义信息通信技术(ICT)与环境之间的关系。它包括“Green BY”和“Green IN”:
- Green BY:使用计算技术为环境目的服务(例如自动温度调节器)。
- Green IN:使计算本身绿色化,即适当使用资源(例如使用能生成高效应用程序的编程语言)。
资源效率的优先性
Calero认为,开发具有环境目标的系统时,解决方案应高效使用资源。她强调,提高信息技术中资源的使用效率(Green IN)应成为优先事项。研究表明,到2030年,信息和通信技术将占全球能源消耗的20%。
人工智能的影响
Calero指出,人工智能正在引发软件革命,并广泛应用于新软件系统中。然而,人工智能算法在提高0.02%准确率的情况下,可能会导致能耗翻倍。她强调,我们现在处于“智能时代”,需要进一步要求“智能软件”,这些软件应具备质量特性、智能性,并且应具有可持续性。
软件工程师的责任
Calero认为,软件工程师需要以全面的方式看待软件,并必须意识到他们开发的解决方案对未来的影响。这不仅涉及时间和预算,还包括耐久性、能源效率和资源的最佳使用。她强调,工程师需要接受培训,并获得能够考虑这些方面的机制。
工具与倡议
Calero提到了一些工具和倡议,例如:
- GAISSALabel:用于机器学习模型的能源标签工具。
- Blue Angel:德国开发的一项倡议,旨在为资源和能源高效的软件产品定义环境标签。
- Green Team Alarcos:提供编程语言、软件设计模式和关系数据库模式设计等指南。
绿色软件基金会
绿色软件基金会正在构建一个由人员、标准、工具和最佳实践组成的生态系统,以构建绿色软件。他们还提供关于如何测量软件碳足迹的指南。
InfoQ采访摘要
InfoQ:软件在绿色计算中扮演什么角色?
Coral Calero:在绿色计算中,需要考虑的是努力是集中在硬件组件(绿色硬件)还是软件(绿色软件)上。虽然硬件被视为主要污染物,但硬件的能耗很大程度上取决于运行在其上的软件及其实现方式。绿色硬件是一个成熟的话题,而绿色软件才刚刚起步,但其重要性日益增加。
InfoQ:公司如何支持软件工程师减少软件对环境的影响?
Calero:公司应为工程师提供明确的业务流程、指南和建议,以便他们在开发过程中考虑能源消耗。如果这些成为工程师知识的一部分,并融入他们的工作中,他们将逐渐增加和强化将可持续性和绿色软件方面纳入工作的知识体系。这是一种新的数字化转型,即绿色和可持续的数字化转型,它必须影响产品、服务和商业模式,以及客户关系,而这只有在公司文化发生变化的情况下才能实现。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。