Skip to content

Replication package of the study titled "A Comparative Study on the Suitability of Cloud Simulators for Estimating Energy Usage of Microservices"

Notifications You must be signed in to change notification settings

S2-group/simpat-2026-cloud-simulators-energy

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Replication package for A Comparative Study on the Suitability of Cloud Simulators for Estimating Energy Usage of Microservices.

To replicate the results presented in this study, the following steps can be followed:

1. Ground Truth Collection

Ground truth data collection based on: Berta Rodriguez Sanchez. 2024. Multivariate Anomaly Detection and Root Cause Analysis of Energy Issues in Microservice-based Systems. Master’s thesis. University of Amsterdam and Vrije Universiteit Amsterdam, Amsterdam. https://github.com/bertars/Thesis.

The systems used for this study are SockShop and TrainTicket. ExperimentRunner is used to automate the data collection.

For how run the ground truth data collection, see the ReadMe.

2. Trace Generation

  1. Trace selection: To select the repetitions closest to the mean behaviour for each treatment, run select_traces.py.
  2. Extract idle power values: To extract the idle power values from the ground truth, run get_idle_power.py. The max power values are extracted in step 4.
  3. To get the IPC values for sockshop and trainticket, run get_ipc.sh on the server running the microservice system.
  4. Trace generation: To generate the traces, run gen_tracs.py.

3. Simulations Execution

All simulations can be carried out by running the run_all.sh script, which in turn runs each simulator's run script, located in their respective folder in the simulators directory.

Simulators under test

The simulators under test are as follows:

4. Evaluation

The scripts in the evaluation folder can be used to replicate the analysis presented in the study.

In order to do so, first run gen_energy.py and gen_sim_energy.py. Because of the large number of measures, the dataset has to be split into different csv files, which are too big to upload to GitHub.

Then, evaluation/get_stats.ipynb and evaluation/runtime/get_runtimes.py can be run to carry out the analysis.

About

Replication package of the study titled "A Comparative Study on the Suitability of Cloud Simulators for Estimating Energy Usage of Microservices"

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 57.2%
  • Jupyter Notebook 37.8%
  • Python 4.0%
  • Shell 0.5%
  • C++ 0.3%
  • CMake 0.1%
  • Other 0.1%