<p>The increasing carbon footprint of the ICT sector calls for methodologies to reduce the carbon emissions of running software. To this end, the need for structured approaches to designing and implementing carbon-aware software, i.e. that can dynamically adapt its functioning to the carbon intensity of the currently available energy mix, has emerged. This article presents a DevOps-oriented software engineering methodology for implementing, configuring and assessing carbon-aware software services based on forecasts of carbon intensity and service request rates. The approach combines a software design method grounded in the Strategy pattern with a mixed-integer linear programming formulation that dynamically selects alternative service implementations to minimise emissions while preserving output quality. An open-source prototype supports both simulation-based design and runtime configuration of adaptive services. The proposed methodology and framework are validated on three natural language processing tasks (i.e., text generation, named entity recognition, and question answering), showing that developers can identify effective implementation trade-offs and achieve carbon reductions up to 80% compared to static, non-adaptive services.</p>

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Engineering carbon-aware software services

  • Marco Angiolini,
  • Stefano Forti,
  • Jacopo Soldani,
  • Antonio Brogi

摘要

The increasing carbon footprint of the ICT sector calls for methodologies to reduce the carbon emissions of running software. To this end, the need for structured approaches to designing and implementing carbon-aware software, i.e. that can dynamically adapt its functioning to the carbon intensity of the currently available energy mix, has emerged. This article presents a DevOps-oriented software engineering methodology for implementing, configuring and assessing carbon-aware software services based on forecasts of carbon intensity and service request rates. The approach combines a software design method grounded in the Strategy pattern with a mixed-integer linear programming formulation that dynamically selects alternative service implementations to minimise emissions while preserving output quality. An open-source prototype supports both simulation-based design and runtime configuration of adaptive services. The proposed methodology and framework are validated on three natural language processing tasks (i.e., text generation, named entity recognition, and question answering), showing that developers can identify effective implementation trade-offs and achieve carbon reductions up to 80% compared to static, non-adaptive services.