Evaluating the environmental impact of software
Electricity Meter
It's getting easier to measure the environmental impact of software. A new study suggests criteria for determining how the choice of software impacts resource use.
For many years, enterprise organizations have been concerned with the efficiency of information and communication technology (ICT) infrastructures. Efficiency studies have mainly focused on hardware-specific problems. Devices with labels such as Energy Star, Blauer Engel, or the EPEAT eco label are particularly resource-friendly.
Now more attention is turning to the environmental impacts of software. Researchers have discovered measurable differences in energy efficiency between different applications that perform the same task. And not only does the choice of software affect electricity usage, but it may also necessitate new hardware purchases at regular intervals.
Among organizations that have been looking seriously at software resource efficiency is Germany's federal environmental agency, which commissioned a research project launched in 2015. The project has been conducted under the direction of Germany's Öko-Institut, partnering with the Trier University of Applied Sciences and the University of Zurich. The long-term goal of the researchers is to develop the criteria for a new eco-friendly label for software. In fall of 2018, they released a study called "Development and Application of Evaluation Principles for Resource-Efficient Software under Consideration of Existing Methodology" [1].
Test Procedure
For the study, the researchers grouped software into four categories. Altogether they evaluated two word-processing programs, three web browsers, three databases, and three content management systems (CMS). In addition to software installed locally on a workstation system, server systems and systems with remote data storage and processing were also considered, because depending on where the service runs and processes or stores the data, the load weights and resource requirements shift. While they used word processors and web browsers locally, the CMS and its database systems were assigned to the server-based applications category.
On the systems under test (SUT), the researchers first installed an operating system image that lacked all processes prone to falsifying the measurement results, such as virus scanners, backup, or indexing routines. In the next step, they determined the basic system utilization, which included memory requirements, mass memory usage, CPU utilization, and network infrastructure utilization. They installed the application software on the SUT and launched it. They then recorded the idle resource requirements for each individual program. On Linux they relied on collectl
[2] for this, which is usually included in the package sources of the popular distributions.
The researchers grouped the individual steps of the standard usage scenarios in a load driver, which simulates typical application processes (Table 1). They then measured and recorded the resource requirements of the SUT computers during the use of the load driver, keeping an eye on the individual hardware components at the same time. They transferred the raw data to a specially developed open source analysis software named OSCAR (open source software consumption analysis in R, [3]), which evaluated the data.
Table 1
Standard Software Usage Scenarios
Word Processing | Web Browser |
---|---|
Edit entire text |
Read and write emails |
Insert and edit table of contents |
View web video stream |
Customize view |
Visit online shop |
Add and edit content |
Set bookmarks |
Create PDF |
Install add-on |
Save |
Download file |
Content Management Systems | Databases |
Respond to comments |
Schema already exists |
Create new page |
Enter data |
Publish all pages |
Read data |
Upload PDF files |
Modify data |
Link PDF files |
Delete data |
View page |
230 passes per function |
Additional: Load generation to simulate visitors |
120,000 accesses per round |
In addition, the project partners developed a tool for the Calc spreadsheet program, which stores the indicators of a reduced catalog of criteria and supports importing and exporting data in XML format. The tool is used to analyze and evaluate the software energy efficiency (Figure 1).
For the individual usage scenarios, the project partners completed 30 measurement runs per scenario. The measurement software developed by the project partners uses time stamps to ensure that the measurement results remain synchronous. At the same time, the time stamps for the individual measurement steps are saved in a logfile so that they can later be assigned to individual actions.
Results
Once they had captured the basic utilization of the machines, the researchers measured the resource requirements of the installed applications in idle mode without simulated user interactions. They noticed some striking differences in resource consumption. While the products were not clearly identified by name, they were identified as being open source or proprietary products.
One of the two word processors tested showed more than twice the CPU utilization (around four percent) as the open source product (around two percent). Also in terms of RAM utilization, the proprietary word processor showed a higher resource requirement than the free product (Figure 2).
The result was even clearer when examining the web browsers. While the two free software products caused a CPU load that was almost one percent higher than the basic load here, the proprietary product chalked up a CPU load that was 12.3 percent higher.
All three CMS applications were open source, and they had practically no additional CPU load compared to the basic load. However, there were major differences in the working memory requirements. In addition, the CMSs showed significant differences in utilization of the mass storage devices and the data transfer volumes, largely because one CMS did not reduce its images to the display size in the client's web browser, but loaded them from the server at full size and resolution.
Things to Adjust
The research teams also compared the energy consumption of the SUTs under load with their basic consumption. They found, for example, that the idle utilization level of the browsers accounted for between 80 and 91 percent of the total energy demand (Figure 3). The energy requirement of a software product is divided into approximately equal shares between the local CPU load, the load on the network infrastructure, and local or remote mass storage capacities.
Another important criterion was whether the applications automatically modified settings for required hardware capacities or provide dialogs for manual adjustment. It turned out that none of the products automatically minimized resource requirements, although text processing and web browsers offered setting options that allow users to partially control energy consumption.
Web browsers in particular can work more efficiently in terms of resources by disabling complex start pages, which appear every time the program is started or new tabs are opened. In database systems, the energy requirement can be reduced by switching off various indexing routines. It was only for CMS systems that the researchers were unable to identify any modules that would increase energy efficiency if disabled.
Further evaluation considered the extent to which the software products in question support a time-controlled energy-saving mode and apply it automatically. Of course, the focus was on locally installed products. The results: After a defined period of inactivity, they automatically switch to an energy-saving mode.
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.
News
-
NVIDIA Released Driver for Upcoming NVIDIA 560 GPU for Linux
Not only has NVIDIA released the driver for its upcoming CPU series, it's the first release that defaults to using open-source GPU kernel modules.
-
OpenMandriva Lx 24.07 Released
If you’re into rolling release Linux distributions, OpenMandriva ROME has a new snapshot with a new kernel.
-
Kernel 6.10 Available for General Usage
Linus Torvalds has released the 6.10 kernel and it includes significant performance increases for Intel Core hybrid systems and more.
-
TUXEDO Computers Releases InfinityBook Pro 14 Gen9 Laptop
Sporting either AMD or Intel CPUs, the TUXEDO InfinityBook Pro 14 is an extremely compact, lightweight, sturdy powerhouse.
-
Google Extends Support for Linux Kernels Used for Android
Because the LTS Linux kernel releases are so important to Android, Google has decided to extend the support period beyond that offered by the kernel development team.
-
Linux Mint 22 Stable Delayed
If you're anxious about getting your hands on the stable release of Linux Mint 22, it looks as if you're going to have to wait a bit longer.
-
Nitrux 3.5.1 Available for Install
The latest version of the immutable, systemd-free distribution includes an updated kernel and NVIDIA driver.
-
Debian 12.6 Released with Plenty of Bug Fixes and Updates
The sixth update to Debian "Bookworm" is all about security mitigations and making adjustments for some "serious problems."
-
Canonical Offers 12-Year LTS for Open Source Docker Images
Canonical is expanding its LTS offering to reach beyond the DEB packages with a new distro-less Docker image.
-
Plasma Desktop 6.1 Released with Several Enhancements
If you're a fan of Plasma Desktop, you should be excited about this new point release.