Experiment 2021 Pulverization-EdgeCloudSim

Citation Author(s):
Danilo
Pianini
Alma Mater Studiorum Università di Bologna
Andrea
Placuzzi
Alma Mater Studiorum Università di Bologna
Submitted by:
Danilo Pianini
Last updated:
Mon, 09/06/2021 - 05:59
DOI:
10.21227/xqyb-0f39
Links:
License:
0
0 ratings - Please login to submit your rating.

Abstract 

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.

Instructions: 

Requirements

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.

Automatic releases

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.

Running the simulations

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.

Generating the charts

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 octave plotAll.m