Carver, Frank (2024) Sustainable Software Systems: An investigation into comparing the performance and energy consumption of software components. Doctoral thesis, University of East Anglia.
Preview |
PDF
Download (9MB) | Preview |
Abstract
Information and communication technology (ICT) is an increasing contributor to greenhouse gas emissions, but ICT systems are a combination of hardware and software. Hardware is the part that requires raw materials and manufacturing processes, consumes electricity, and generates heat when in use. However, in most cases, this hardware is only present in order to run application software. Changing or replacing that software can affect both the amount of hardware needed and the resources consumed during its operation. Although ICT systems have the potential to improve the sustainability of other fields, improving the sustainability of the ICT systems themselves is a vital undertaking.
Modern software is typically constructed by combining and reusing other software in the form of libraries and components. Selecting these components is a key aspect of software development. The design and construction of ICT systems is subject to conflicting economic, practical, technological, and political constraints. Historically, the environmental impact of software development choices has had a much lower priority than economic or functional factors. Software developers face a confusing array of choices and a lack of reliable information with which to make decisions. A series of studies were conducted to determine the practicality and impact of replacing software components with functionally equivalent alternatives.
A representative category of components was chosen and the performance of a selection of components was compared to determine whether selecting more performant components could reduce hardware requirements. The results of the performance measurements showed that the fastest component in the selected group was, on average, 2642 times faster than the slowest. The implication of this is that the selection and substitution of components can potentially have a large impact on the performance, and therefore the hardware requirements, of a large-scale system.
A prototype apparatus was developed to measure the energy consumption of software in operation. This apparatus revealed that the popular WordPress website management software consumes considerably more energy in operation than an equivalent static website. The implication of this is that for many websites, moving from WordPress to a static website could result in immediate energy savings.
The apparatus was also used to compare the energy use of the class of components examined in the performance tests. This comparison showed that energy usage is not directly related to software performance and that different components have different energy usage profiles under different usage scenarios. The implication of this is that performance alone should not be used to predict energy use and that the most accurate way to determine the energy impact of a software change is to include energy measurements in existing test suites.
Key contributions to knowledge include: A novel self-contained apparatus for comparing software performance and energy consumption; energy use and performance comparisons for a cohort of web server implementations; the relative energy usage of WordPress compared to static websites; a novel extendable java framework for template engine comparison; energy use and performance comparisons for a cohort of template engine implementations; a challenge to the notion of execution speed as a proxy for software energy usage; a challenge to the notion of task complexity as a proxy for software energy usage; and an investigation into The efficacy of component substitution as a strategy to improve software sustainability.
This dissertation is the result of my own work and includes nothing that is the result of work done in collaboration except where specifically indicated in the text.
| Item Type: | Thesis (Doctoral) |
|---|---|
| Faculty \ School: | Faculty of Science > School of Computing Sciences |
| Depositing User: | Chris White |
| Date Deposited: | 06 May 2026 10:27 |
| Last Modified: | 06 May 2026 10:27 |
| URI: | https://ueaeprints.uea.ac.uk/id/eprint/102909 |
| DOI: |
Downloads
Downloads per month over past year
Actions (login required)
![]() |
View Item |
Tools
Tools