Skip to content

klementc/microservices_simgrid_reproducibility

Repository files navigation

Microservice model within SimGrid experiments

This repository contains the code, scripts and visualizations made for our microservice simulation paper. It can be seen as a snapshot of https://github.com/klementc/internship_simgrid, the repository used to develop our microservice model, and https://github.com/klementc/calvin-microbenchmarks used to perform some experiments.

Using this repository, it is possible to reproduce our simulated results by simply compiling the simulation model and the simulators used in the paper. We also give some documentation files on how to reproduce our real-world experimental results (different hardware than the hardware we used leading to different real-world values).

Below can be found a description of the files available in this repository and used in each of our experiments.

Step-1: Building the Simulators

The code we used for our validation is available in this repository. To reproduce our simulated results, you just need to build the simulator model and the examples before running them using the benchmark scripts we provide.

The code of our microservice model can be found in ./Elasticity, and the code of the simulators in ./example.

Our simulators are able to export simulated traces to Jaeger thanks to an opentracing instrumentation. To use this feature you need https://github.com/jaegertracing/jaeger-client-cpp.

# build the simulator and the examples
mkdir build && cd build
cmake ..
make -j8

Once compiled, executable examples can be executed under ./build/examples, and you can use the model to code your own microservice applications.

Step-2: Reproduce Microbenchmarks Results

Step-3: Reproduce TeaStore Results

Step-4: Reproduce Social Network Results

About

Reproduce the experiments of our microservice simulation paper

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published