毫无疑问,软件几乎是所有旨在支持环境的智能解决方案的骨干。例如,这对于解决毁林和减少排放至关重要。但是,在许多情况下,软件也是快速增长的碳足迹的重要组成部分。实际上,最近和激增的数字技术已经开始使它们旨在解决的许多环境问题恶化。但是,公司可以通过在设计,开发和部署软件时考虑其碳足迹,并重新考虑提供基于云的服务的数据中心的某些方面,来使软件成为其可持续性工作不可或缺的一部分。
我们要明确一点:软件本身不会消耗能量或排放任何有害气体。问题在于软件开发使用的方式,然后是软件使用的方式。软件在硬件上运行,并且随着前者的不断增长,对机器的依赖也使其得以运行。
例如,区块链驱动了一些最先进的绿色解决方案,如微电 ,使居民能够交易环保能源。而且这种软件创新也是加密货币发展的背后。 2019年,剑桥大学的研究人员估计,维持比特币 络所需的能量超过了整个瑞士国家的能量。
然后是整个信息和通信技术部门。到2040年,预计它将占世界碳足迹的14%,高于2007年的1.5%。
软件的开发非常耗能。例如,考虑一下我们在鸢尾花的一个小型公开数据集上训练人工智能(AI)模型时学到的知识。 AI模型仅用964焦耳的能量就可以对花朵的不同种类进行分类,准确率达到96.17%。接下来的1.74%点的精度提高需要2,815焦耳的能耗。最后的0.08%的增量精度比第一阶段多消耗了近400%的能量。
现在,在更大范围的AI总体背景下考虑相同的示例。如今,训练一个神经 络模型可以在一生中排放多达五辆汽车的碳。运行大型AI训练模型所需的计算能力呈指数增长,增长了3.4个月。
话虽这么说,限制对软件的依赖作为实现工作的手段是没有道理的,尤其是在后Covid时代,在家或远程工作可能成为许多人的常态。限制软件驱动的创新也不是可行的选择。
但是,通过将软件的性能,能源效率以及传统参数(例如功能,安全性,可伸缩性和可访问性)进行评估,并将绿色实践和目标作为CIO的标准,公司可以将软件作为其可持续性工作不可或缺的一部分。绩效评估。
最终,收益将超过挑战:构建绿色软件所需的早期,越来越严格的审查将转化为更高质量的产品:更精简,更清洁,更适合其用途。这些品质也抵消了额外的前期成本。绿色软件将帮助大公司实现其ESG目标,这是对利益相关者越来越重要的绩效指标。最后,我们的研究(即将发布)表明,刚成立的计算机工程师在选择雇主时越来越权衡公司对可持续性的关注。对绿色软件的承诺可能具有说服力。
那么公司如何使他们的软件走向绿色?这是一个分为三部分的过程,首先要阐明一种策略,该策略设置一些界限,然后针对软件开发生命周期,同时使云也变得绿色。我们所描述的没有一家公司完全参与这个过程,因为我们描述了这个过程并获得了有目的的绿色软件的全部好处。但是,越来越多的企业(包括Google,大众汽车和Rainforest(本身是软件测试公司))都在部署各种以下方法和技术。
阐明指导权衡并允许灵活性的策略。这样做将使IT团队考虑对其软件的环境影响应具有的正确容忍度。在业务和环境目标之间几乎总是需要权衡取舍,软件工程师需要能够确定执行/不执行路线的位置。回想我们在鸢尾花数据集上训练的AI模型。提高准确性的最后一步是否值得消耗能量是一个商业决策,需要高层的明确指导。
同样重要的是,该策略需要灵活性-允许工程师在试验室即兴发挥并通过反复试验来学习。 绿色软件仍然是一个新兴领域,主要限于学术界。 在这方面没有针对工程师的指南。
最后,这项广泛的策略应建议衡量进度所需的指标。对于软件更新,设置这些更新并不困难(例如,通过确定新版本比以前的版本消耗多少能量)。但是,对于新软件,有用的措施将很难定义。最初,它们可以包括诸如内存使用效率,使用的数据量以及每秒的浮点(数学)运算之类的度量。
查看并完善软件开发生命周期。首先要问:使用此应用程序可以实现的最小环境足迹是多少?使用该期望来指导软件开发周期的第一阶段。当您获得知识时,这种期望可能会发生变化,但是对于通知可行性研究和替代方法之间的权衡评估,这可能会很有帮助。
然后针对可用于减少碳排放的算法,编程语言,API和库提出建议。并且需要不断评估可能更有效的替代方案。这些评估将测试软件在各种能耗受限的硬件设计(例如移动,汽车和家庭控制)中的兼容性。
在部署阶段,通过动态代码分析等技术监视实时功耗。您收集的数据对于理解设计选择和实际能量分布之间的差距至关重要。
一些公司正在提供工具来帮助开发具有功耗意识和效率日益提高的系统。例如,英特尔为开发人员提供了用于管理能耗的工具和资源。该公司的软件开发助手允许工程师在系统执行其应用程序中的特定工作负载并确定其效率时,从系统中进行能量测量。
但是,这类工具供不应求。评估碳排放量与灵活性等商业目标之间的关键权衡仍然是一项艰巨的任务。
使云变绿。现代应用程序几乎总是部署在云上。但是,基于云的服务的指数级增长导致了功耗密集型数据中心的快速扩展。如今,数据中心消耗着全球约2%的电力;到2030年,他们的消费量可能高达8%。
迄今为止,使数据中心绿色化的大多数努力都集中在优化硬件(通过减少服务器过热的发生率)和减少碳排放(通过增加为其供电的可再生能源的混合)方面。这些技术正在帮助解决该问题。但是,包括可持续的软件干预措施将为节约能源提供新的机会。
例如,消除重复的数据副本或将数据压缩成较小的块将节省能源。部署图形处理单元来管理边缘(在设备或最终用户附近)的工作负载也是如此,通过将大型任务分解为较小的任务并将其分配给许多处理器来提高效率。
采用更绿色的服务器架构可能对节省能源至关重要。例如,使用虚拟服务器将帮助公司按需扩展其服务器,从而节省企业数据中心的能源。虚拟化实质上允许从单个物理硬件系统创建多个模拟环境(或专用资源)。容器化,本质上是对虚拟系统的改进,是另一种选择。无服务器计算在硬件级别分离应用程序,而容器化则在操作系统级别分离它们。
诸如无服务器计算或功能即服务(FaaS)之类的更新的应用程序体系结构,可以对容量以及扩展的能耗进行更多控制。例如,无服务器计算通过仅按需执行功能来有效共享基础结构资源。而且由于它按执行时间计费,因此迫使程序员提高其代码的效率。大型无服务器计算服务提供商(例如AWS Lambda和Microsoft Functions)通过按使用付费的成本模型提供连续扩展。
无论是需要更有效利用资源和计算能力以节省能源的移动电话,还是需要针对能耗进行服务器优化的云数据中心,对绿色软件的需求将继续增长。现在,通过将软件包括在您的可持续性工作中,您的公司将在这一重要领域处于领先地位。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!