- Measurement Philosophy and Design Principles
- Implementation of the Measurement Laboratory
- Next step: Measurement process
Measurement Philosophy and Design Principles
The primary purpose of the proposed ICT energy measurement laboratory was to study the energy consumption of software systems operating under realistic conditions across a diverse range of hardware platforms and deployment environments. In addition to providing measurement capabilities, the laboratory serves as a platform for developing practical methodologies, workflows, and best practices for conducting reproducible energy measurements.
A fundamental challenge in software energy measurement is that software itself does not directly consume energy. Rather, software controls and utilizes hardware resources whose operation results in electrical power consumption. Consequently, the energy impact of software must be observed indirectly through measurements of the underlying hardware. At a minimum, the effect of software can often be estimated by comparing the energy consumption of a system in idle and active states, although more advanced techniques may further attribute consumption to individual hardware components or software activities.
Unlike traditional electronics laboratories, which often prioritize the isolated characterization of individual components under tightly controlled conditions, the measurement laboratory described in this work emphasizes representative operating environments and practical applicability. The objective is not solely to maximize measurement accuracy or temporal resolution, but rather to obtain results that generalize to real-world deployments of ICT systems. Consequently, the design favors modularity, reproducibility, and support for off-the-shelf hardware and software solutions.
The design of the laboratory therefore balances multiple competing objectives, including measurement accuracy, cost, availability of instrumentation, ease of deployment, and compatibility with diverse systems under test. Particular attention has been given to supporting realistic software workloads, heterogeneous hardware platforms, and a broad range of power delivery architectures, including AC-powered, DC-powered, and battery-powered devices.
These design principles guide both the software- and hardware-focused aspects of the laboratory implementation described in the following sections.
Implementation of the Measurement Laboratory
To address the diversity of modern ICT systems, the energy measurement laboratory was implemented as a flexible and extensible platform capable of supporting a broad range of software workloads, hardware platforms, and measurement methodologies. Rather than focusing on a single deployment environment or technology stack, the laboratory was designed to accommodate heterogeneous systems representative of contemporary computing environments.
Software-focused aspects
From the software perspective, the laboratory supports multiple application classes, including backend services, frontend applications, full-stack web applications, serverless workloads, distributed systems, and locally executed software. The implementation places particular emphasis on modern cloud-native and web-based software architectures, which increasingly dominate both industrial and research environments.
The laboratory supports diverse execution environments, including multiple operating systems, native applications, managed runtime environments, browser-based applications, and scripting languages. This enables measurements across a wide range of software ecosystems and programming paradigms while maintaining a consistent measurement methodology. The use of container technologies further improves portability and reproducibility by allowing applications and their dependencies to be deployed in isolated environments with minimal configuration effort.
Containerization technologies such as Docker play a central role in the laboratory infrastructure. Containers enable rapid deployment, reproducible execution environments, and straightforward migration of workloads between different hardware platforms. The measurement framework is therefore capable of supporting both standalone applications and distributed multi-service systems. The laboratory architecture also allows future integration with orchestration platforms such as Kubernetes for studying large-scale and cloud-native deployments.
Measurement methodologies were developed for multiple interaction models. Command-line applications can be executed directly through automation scripts and workload generators. Graphical user interface applications and web frontends are measured using browser-based software robotics, enabling automated user interactions and reproducible workload generation. Backend services can be exercised through API calls, reverse proxies, traffic generators, or direct invocation of service logic. Long-running system services can be measured under controlled workloads to study both idle and active operating states.
The implementation of software workloads was guided by existing examples and benchmark suites developed within the Visiiri project. The PowerGoblin manual provides numerous examples of measurement configurations covering backend, frontend, and full-stack web applications. These examples served both as validation cases for the measurement infrastructure and as reference implementations for future studies.
In addition, the Visiiri Benchmark Database contains multiple benchmark applications spanning diverse operating environments, deployment models, and software architectures. The benchmark suite includes applications with varying computational characteristics and resource utilization profiles, enabling the evaluation of different measurement methods under realistic workloads.
All available example applications and benchmark cases were implemented and deployed within the measurement laboratory. The development of the laboratory proceeded in tandem with the requirement analysis of these benchmark cases and the development of measurement examples. This iterative process ensured that the laboratory infrastructure evolved according to real-world measurement requirements rather than purely theoretical assumptions. Consequently, the resulting platform supports a diverse set of software systems and provides practical validation for the measurement methodologies developed in this work.
Hardware-focused aspects
The ICT energy measurement laboratory is designed to support a broad range of computing and networking devices commonly encountered in research, industrial, and office environments. The laboratory accommodates diverse systems under test, including desktop computers, laptops, single-board computers, mobile devices, networking equipment, peripherals, and server-class hardware. These device classes were selected to provide a representative subset of modern ICT systems while remaining compatible with the budgetary and technical constraints of the laboratory.
Different classes of devices exhibit significantly different power delivery mechanisms, operating characteristics, and measurement interfaces. Consequently, a systematic classification of devices is required to evaluate the applicability of measurement methods and instrumentation. While specialized systems such as high-performance computing clusters, industrial control systems, or large-scale data center infrastructure may require dedicated measurement solutions, the selected device categories provide a practical foundation for studying the energy consumption of a wide variety of software workloads.
A key factor affecting energy measurement is the method of power delivery. The measurement infrastructure supports AC-powered, DC-powered, and battery-powered systems, enabling experiments across a diverse range of devices. Devices may be powered directly from AC mains, external DC power supplies, batteries, or combinations thereof. The chosen power architecture determines the feasibility of external power measurements, internal telemetry interfaces, and software-based estimation techniques. Battery-powered devices may introduce additional complexity due to charging circuits, battery management systems, and dynamic power states that can influence measurement results.
Modular instrumentation enables the measurement setup to be adapted according to the electrical characteristics and power requirements of each device class. This flexibility allows the laboratory to support both low-power embedded devices and higher-power computing systems while maintaining compatibility with a broad selection of measurement instruments.
Another important consideration is the availability of built-in monitoring capabilities. Modern ICT systems increasingly expose power and performance information through firmware interfaces, operating system APIs, or dedicated management controllers. Examples include processor energy counters, battery statistics, platform management interfaces, and component-level telemetry exposed by GPUs, power management integrated circuits (PMICs), and embedded sensors. Such interfaces enable fine-grained analysis of subsystem energy consumption, although their accuracy, temporal resolution, and vendor support may vary considerably.
The laboratory also incorporates networking infrastructure for studying the energy implications of communication technologies. Both wired and wireless network configurations can be constructed, enabling experiments involving local services, distributed systems, cloud deployments, and network-intensive applications. By supporting multiple device classes, power architectures, deployment models, and communication topologies, the laboratory provides a practical, extensible, and reproducible platform for exploring and characterizing the energy consumption of modern ICT systems.
From the hardware perspective, the laboratory accommodates a diverse collection of systems under test, including desktop computers, laptops, single-board computers, mobile devices, and server-class hardware. The measurement infrastructure supports both AC- and DC-powered systems, as well as battery-powered devices. Modular instrumentation enables the measurement setup to be adapted according to the electrical characteristics and power requirements of each device class.
The laboratory also incorporates networking infrastructure for studying the energy implications of communication technologies. Both wired and wireless network configurations can be constructed, enabling experiments involving local services, distributed systems, cloud deployments, and network-intensive applications. By supporting multiple device classes, deployment models, and communication topologies, the laboratory provides a comprehensive platform for investigating the energy consumption of modern ICT systems.
The laboratory distinguishes between three broad classes of measurement methods:
-
External measurement, where dedicated power or energy meters are inserted between the power source and the device under test. External measurement generally provides the highest degree of independence from device-specific implementations and can be used to validate internal telemetry.
-
Internal measurement, where energy consumption data is obtained directly from built-in sensors, firmware interfaces, or management controllers integrated into the device itself. Internal measurements often provide higher temporal resolution and subsystem-level visibility but may be limited by vendor-specific implementations.
-
Software-based estimation, where energy consumption is inferred from software models, hardware performance counters, or calibration data. Such methods are useful when physical instrumentation is unavailable or impractical, although they typically require validation against physical measurements.
In addition to hardware characteristics, the laboratory also considers different classes of software-generated energy consumption. Software workloads may stress different subsystems of a device, including processing units, memory hierarchies, storage systems, and communication interfaces. Consequently, measurement methods must support the characterization of multiple resource domains, including:
- Processing – energy consumed by CPUs, GPUs, DSPs, NPUs, and other computational accelerators.
- Memory – energy associated with volatile and non-volatile memory subsystems.
- Storage – energy consumed by persistent storage devices such as SSDs and flash memory.
- Communication – energy attributable to wired and wireless network interfaces.
- System-wide consumption – the combined energy usage of all subsystems.
The classification presented in the following table is therefore not merely a list of device categories, but rather a framework for evaluating the suitability of measurement instruments and methodologies across diverse ICT systems. The framework assists in identifying common measurement scenarios, determining instrumentation requirements, and prioritizing measurement technologies that maximize compatibility and applicability across multiple device classes.
| Device | AC | DC | Battery | Ext. meter | Int. meter | SW meter | Domain |
|---|---|---|---|---|---|---|---|
| Mobile devices | |||||||
| Wearable | 5/9/15/20V | x | DC | (#1) | (#2) | All | |
| Smartphone | 5/9/15/20V | x | DC | (#1) | (#2) | All | |
| Tablet | 5/9/15/20V | x | DC | (#1) | (#2) | All | |
| Notebooks | |||||||
| Notebook computer | <= 24V | x | DC | (#3) | x | All | |
| Large computers | |||||||
| Desktop computer | <= 240V | AC / DC (#4) | (#3) | x | All | ||
| Server computer | <= 240V | AC / DC (#4) | (#3) | x | All | ||
| Accessories | |||||||
| Switches (#5) | <= 240V | <= 24V | DC / AC | Comm | |||
| Routers (#5) | <= 240V | <= 24V | DC / AC | Comm | |||
| 4G/5G modems (#6) | <= 240V | <= 24V | (x) | DC / AC | Comm | ||
| USB devices (#7) | <= 12V | (x) | DC / AC | Comm | |||
| DC powered accessories | <= 24V | DC / AC | Comm | ||||
| Development | |||||||
| Single-board computers | <= 24V | (x) | DC / AC | (#3) | Comm |
Description of categories:
- AC: typically uses AC (built-in AC power supply). Common voltage levels: 100 - 250V.
- DC: typically uses DC (battery or DC connector). Common voltage levels: 5V, 9V, 12V, 19V, 24V, typically (3,3 - 24V).
- Battery: typically powered by battery (DC). Some may also be powered with an external DC power supply.
- External meter: power consumption can be measured with an external meter (internal battery may have an effect on the results).
- Internal meter: the device might be equipped with internal meters for analyzing the power consumption.
- SW meter: software based meters (either utilizing the internal hardware meters or models with calibration data) can be used for measuring / estimating the power consumption.
- Domain: different energy domains of software-generated consumption to be measured: 1) processing (CPU, GPU, DSP etc.), 2) memory, 3) disk, 4) communication, 5) all of these.
Notes:
#1Depends on SoC.#2Varies, e.g. Android power profiler.#3Usually RAPL, ACPI, WMI, NVML, PMIC, I2C sensors, and other common interfaces.#4Low-power desktop/server systems can be powered with PicoPSU class devices + high current DC meters.#5Typically powered by AC, but also support DC supplies / typically powered by both types of power supplies.#6E.g. 4G/5G modems, multiple types of power supplies.#7Large number of USB powered devices can be measured by connecting to a powered hub (with a DC input). On the downside, the USB hub adds its own extra load to the result.
While the current classification focuses primarily on devices typically found in office, research, and software development environments, the framework is intentionally extensible. New device categories and measurement methods may be incorporated as research needs evolve and additional hardware becomes available.
Next step: Measurement process
The next analysis section covers the measurement process.
