Engineering Carbon-aware Software Services

Read the full article See related articles

Discuss this preprint

Start a discussion What are Sciety discussions?

Listed in

This article is not in any list yet, why not save it to one of your lists.
Log in to save this article

Abstract

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 precisely presents a framework and a 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 framework is 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.

Article activity feed