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

GREEM: An Open-Source Energy Measurement Tool for Video Processing

  • 1.
    GREEM An Open-Source EnergyMeasurement 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