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
-
Thousands of Linux Servers Infected with Stealth Malware Since 2021
Perfctl is capable of remaining undetected, which makes it dangerous and hard to mitigate.
-
Halcyon Creates Anti-Ransomware Protection for Linux
As more Linux systems are targeted by ransomware, Halcyon is stepping up its protection.
-
Valve and Arch Linux Announce Collaboration
Valve and Arch have come together for two projects that will have a serious impact on the Linux distribution.
-
Hacker Successfully Runs Linux on a CPU from the Early ‘70s
From the office of "Look what I can do," Dmitry Grinberg was able to get Linux running on a processor that was created in 1971.
-
OSI and LPI Form Strategic Alliance
With a goal of strengthening Linux and open source communities, this new alliance aims to nurture the growth of more highly skilled professionals.
-
Fedora 41 Beta Available with Some Interesting Additions
If you're a Fedora fan, you'll be excited to hear the beta version of the latest release is now available for testing and includes plenty of updates.
-
AlmaLinux Unveils New Hardware Certification Process
The AlmaLinux Hardware Certification Program run by the Certification Special Interest Group (SIG) aims to ensure seamless compatibility between AlmaLinux and a wide range of hardware configurations.
-
Wind River Introduces eLxr Pro Linux Solution
eLxr Pro offers an end-to-end Linux solution backed by expert commercial support.
-
Juno Tab 3 Launches with Ubuntu 24.04
Anyone looking for a full-blown Linux tablet need look no further. Juno has released the Tab 3.
-
New KDE Slimbook Plasma Available for Preorder
Powered by an AMD Ryzen CPU, the latest KDE Slimbook laptop is powerful enough for local AI tasks.