The significant carbon footprint of the ICT sector calls for methodologies to contain carbon emissions of running software. This article proposes a novel framework for implementing, configuring and assessing carbon-aware interactive software services. First, we propose a methodology to implement carbon-aware services leveraging the Strategy design pattern to feature alternative service versions with different energy consumption. Then, we devise a bilevel optimisation scheme to configure which version to use at different times of the day, based on forecasts of carbon intensity and service requests, pursuing the two-fold goal of minimising carbon emissions and maintaining average output quality above a desired set-point. Last, an open-source prototype of such optimisation scheme is used to configure a software service implemented as per our methodology and assessed against traditional non-adaptive implementations of the same service. Results show the capability of our framework to control the average quality of output results of carbon-aware services and to reduce carbon emissions from 8% to 50%.
翻译:信息与通信技术(ICT)行业的巨大碳足迹要求我们开发方法来控制运行软件所产生的碳排放。本文提出了一种新颖的框架,用于实现、配置和评估碳感知的交互式软件服务。首先,我们提出了一种基于策略设计模式实现碳感知服务的方法,通过提供能耗不同的替代服务版本来实现低碳运行。接着,我们设计了一种双层优化方案,根据碳强度和服务请求的预测,在一天中的不同时段配置所使用的服务版本,旨在实现最小化碳排放和维持平均输出质量高于期望设定点这两个目标。最后,我们利用该优化方案的开源原型,配置了一个按照我们的方法实现的软件服务,并与同一服务的传统非自适应实现进行了评估比较。结果表明,我们的框架能够控制碳感知服务输出结果的平均质量,并将碳排放降低8%至50%。