Addressing climate change requires a global decrease in greenhouse gas (GHG) emissions. In today’s digital landscape, video streaming significantly influences internet traffic, driven by the widespread use of mobile devices and the rising popularity of streaming plat-
forms. This trend emphasizes the importance of evaluating energy consumption and the development of sustainable and eco-friendly video streaming solutions with a low Carbon Dioxide (CO2) footprint. We developed a specialized tool, released as an open-source library called GREEM , addressing this pressing concern. This tool measures video encoding and decoding energy consumption and facilitates benchmark tests. It monitors the computational impact on hardware resources and offers various analysis cases. GREEM is helpful for developers, researchers, service providers, and policy makers interested in minimizing the energy consumption of video encoding and streaming.
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
GREEM: An Open-Source Energy Measurement Tool for Video Processing
1. GREEM
An Open-Source Energy Measurement Tool for Video Processing
Christian Bauer 1
Samira Afzal 1
Sandro Linder 2
Radu Prodan 1
Christian Timmerer 1
1
Christian Doppler Laboratory ATHENA, Alpen-Adria-Universität, Klagenfurt, Austria
2
Alpen-Adria-Universität, Klagenfurt, Austria
Overview
– Video streaming and platforms such as Netflix and YouTube are an integral part of our
daily lives, and the demand for video streaming is ever‐increasing.
– Measuring the energy impact and produced CO2 emissions of video streaming and com‐
puting devices is a complex task with many interconnected factors during the process.
– We created a tool called GREEM to address the increasing demand and complexity of
measuring the energy impact of video streaming.
– GREEM ‐ Gaia Resource Energy and Emission Monitoring.
h
Workflow and Modules
Configurator
Parameters
Videos
User Analyzer
Video
Processor
GREEM
Control Flow
Data Flow
Monitor
GPU
Memory
CPU
Database
Figure 1. GREEM Modules and Workflow.
– Configurator defines the parameters used in the video processing.
– Video Processor uses the configuration parameters to process input videos.
– Monitor module observes the system during the video processing.
– Database stores the monitoring traces for later analysis.
– Analyzer provides plots and statistical analysis based on testbed results.
Integrated Tool and Library Overview
Category Tool / Library Purpose
Configuration YAML Measurement parameter configuration in YAML format.
Video
processing
FFmpeg Encoding and decoding measurement testbeds; video
metadata extraction.
Monitoring CodeCarbon [1] Energy consumption and CO2 emissions measurement
with Intel RAPL and pyNVML.
nvitop [2] CPU, memory, and GPU monitoring (e.g., core/memory
utilization, temperature, fan speed).
pyNVML Periodic retrieval of GPU metrics in a specified interval.
Analytics pandas CSV file creation from measurement results and analysis.
Matplotlib
seaborn
Data analysis and visualizations based on measurement
results.
Configurator
How to configure GREEM
Figure 2. YAML Encoding Configuration File Snippet
– YAML files are used to configure the behaviour of testbed scenarios.
– Parameters such as video resolutions, bitrates, and codecs are included.
Video Processor
Video Processing Scenarios
– Sequential encoding involves encoding videos one after another with specified
parameters. The additional option of segmenting videos before encoding mimics
streaming segment encoding.
– Parallel encoding simultaneously encodes multiple videos with at least one encoding
configuration to fully utilize multiprocessing CPU and GPU resources.
– Sequential decoding uses previously encoded videos, monitoring resource metrics
during the decoding process.
Monitor
What GREEM Measures
– CPU, GPU and RAM power usage and energy consumption are measured during the
video processing.
– Based on the measured energy and the geographical location, CO2 emissions are
calculated.
– CPU, GPU and RAM utilization (mean, min, max).
– CPU, and RAM load average over one, five and fifteen minutes.
– GPU temperature, fan speed, core and memory utilization.
– Video processing duration and more.
Analyzer
Interactive Result Analysis and Visualization
(a) Energy per bitrate. (b) CO2 emission per bitrate.
(c) HEVC energy consumption per framerate.
Figure 3. Measurement results
– Figures (a) and (b) show a strong correlation of energy consumption and CO2 /bitrate
– Figure (c) shows that the framerate starts to impact HEVC encoding after 5000kb/s
Acknowledgement
– Austrian Research Promotion Agency (FFG), grant agreement FO999897846 (GAIA)
– Extreme and Sustainable Graph Processing for Urgent Societal Challenges in Europe, grant
agreement 101093202 (Graph‐Massivizer)
– Christian Doppler Laboratory ATHENA
References
– [1] CodeCarbon:
https://github.com/mlco2/codecarbon
– [2] nvitop:
https://github.com/XuehaiPan/nvitop
https:/
/www.athena.itec.aau.at https:/
/athena.itec.aau.at/gaia
christian.bauer@aau.at