Experiment 2021 Pulverization-EdgeCloudSim
This repository contains code and instruction to reproduce the experiments presented in the paper
"A Methodology and Simulation-based Toolchain for Estimating Deployment Performance of Intelligent Collective Services at the Edge"
by Roberto Casadei, Giancarlo Fortino, Danilo Pianini, Andrea Placuzzi, Claudio Savaglio, and Mirko Viroli.
In order to run the experiments, the Java Development Kit 11 is required. We use a version of the EdgeCloudSim simulator compatible with the JDK up to version 11. We use a version of the Protelis language compatible with the JDK up to version 13. We simulate using OpenJDK 11.
In order to produce the charts, octave 5.1.0 is required.
The experiments have been designed and tested under Linux. However, everything should run on any recent Linux, MacOS X, and Windows setup.
Charts are remotely generated and made available on the project release page. The latest release allows for quick retrieval of the latest version of the charts. Autogenerated charts my little differ from paper charts on coloer and line style due to system where the charts are generated.
To execute the whole simulation batch first use the command
./gradlew createConfigFiles to generate all the configuration files for EdgeCloudSim. Then, the whole simulation batch can be executed by issuing
./gradlew defaultBatch. Be aware that it may take a very long time, from days to weeks, depending on your hardware. With the actual configuration it executes 10045 simulations. Each simulation is a different java process and the gradle task
batch parallelize their execution using all the cores available.
In order to speed up the process for those interested in observing and manipulating the existing data, we provide simulation-generated data directly in the repository. Generating the charts is matter of executing the
plotAll.m script by issuing