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 Linux Magazine

Related content

How much power is your system really using? And how much can you actually save with the new generation of energy-conserving techniques and components? This month we study the phenomenon known as Green IT.