Towards Sustainable Computing: Exploring Energy Consumption Efficiency of Alternative Configurations and Workloads in an Open Source Messaging System
This repository has been created to accompany the paper with the aforementioned title. It provides access to the testbed configuration of our system, along with the exported experimental data. As part of our work, we utilized the RabbitMQ project hua-geth, originally developed by another student at Harokopio University of Athens, Greece.
This repository contains the accepted version of our IEEE paper. Please note that this is not the final published version.
©2025 IEEE. Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution must be obtained from the IEEE.
The author's accepted manuscript of the following article is located at /paper of this repository.
The paper will be presented in System of Systems Engineering Conference SoSE 2025.
The accepted version is available at: Arxiv.org
If you use this work, please cite it as:
@article{voreakou2025towards,
title={Towards Sustainable Computing: Exploring Energy Consumption Efficiency of Alternative Configurations and Workloads in an Open Source Messaging System},
author={Voreakou, Maria and Kousiouris, George and Nikolaidou, Mara},
journal={https://arxiv.org/html/2506.10693v1},
pages={7},
year={2025},
publisher={IEEE 2025 20th Annual System of Systems Engineering Conference (SoSE)}
}
This guide is a reference for the paper: "Green system design: Estimating the environmental footprint of computing systems"
In this README, you will find all the steps were done to setup the machine, to be able to measure energy and performance using Scaphandre.
The machine is an Intel PC architecture with Ubuntu OS. The tools needed:
- Kubernetes
- Docker
- Prometheus
- Grafana Dashboard
$ git clone https://github.com/hubblo-org/scaphandre
$ cd scaphandre
$ helm install scaphandre helm/scaphandre$ helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
$ helm repo add kube-state-metrics https://kubernetes.github.io/kube-state-metrics
$ helm repo update
#Create port forwarding for Prometheus WebUI
$ kubectl port-forward deploy/prometheus-server 9090:9090$ sudo apt install docker.io
$ docker -version
$ sudo systemctl enable docker
$ sudo systemctl start docker# Add Docker's official GPG key:
$ sudo apt-get update
$ sudo apt-get install ca-certificates curl
$ sudo install -m 0755 -d /etc/apt/keyrings
$ sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
$ sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
$ echo 'deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$ (. /etc/os-release && echo '$VERSION_CODENAME') stable' | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
$ sudo apt-get update
$ wget https://desktop.docker.com/linux/main/amd64/145265/docker-desktop-4.29.0-amd64.deb
$ sudo apt-get install ./docker-desktop-4.29.0-amd64.deb$ helm upgrade --install prometheus prometheus-community/prometheus --set prometheus-node-exporter.hostRootFsMount.enabled=false --set prometheus-node-exporter.hostRootFsMount.mountPropagation='HostToContainer'