Skip to content

Latest commit

 

History

History
52 lines (36 loc) · 2.52 KB

README.md

File metadata and controls

52 lines (36 loc) · 2.52 KB

LEAF 🍃

A simulator for modeling Large Energy-Aware Fog computing environments. LEAF is now maintained at:

LEAF provides a holistic but granular energy consumption model, covering different parts of the infrastructure, including the network, and enables research on energy-conserving fog architectures. The model can trace back the relative power requirements of applications and allows for the implementation of energy-aware task placement strategies and dynamic energy-saving mechanisms. Furthermore, LEAF is designed to enable simulations with hundreds or thousands of devices and applications.

The implementation depends on a patched version of CloudSim Plus which can be found here.

Core

The package org.leaf contains the proposed infrastructure and application model as well as the related power models.

Infrastructure and application graphs were implemented via JGraphT.

Smart City Experiments

The package org.cityexperiment implements all functionality required in the evaluation of my Masters thesis. It contains the city scenario, mobility model, compute nodes, network link types and the applications. Experiments can be configured via org.cityexperiment.Settings. Experiment runs output CSV files containing all measurements.

A live visualization has been implemented to allow insights on running experiments. The visualization contains:

  1. A map of the city and the moving taxis
  2. The number of taxis that were present on themap at a given time
  3. The infrastructure power usage over time
  4. The application power usage over time.

Analysis

The analysis of the experiment results was performed in Python. The directory analysis contains a conda environment.yml for setting up a virtual environment as well as:

  • settings.py for defining inout/output paths and colors of the plots.
  • Analysis.ipynb for interactive analysis of experiments.
  • create_plots.py which creates several plots for one or more experiment runs.
  • create_taxi_plot.py which generates the taxi distribution and speed plot used in the thesis.

For running the analysis yourself, specify the directory containing the experiment CSVs in settings.py and run:

cd analysis
conda env create
conda activate leaf
python create_plots.py