Home

Awesome

LEAF 🌱

A simulator for Large Energy-Aware Fog computing environments. LEAF enables energy consumption modeling of distributed, heterogeneous, and resource-constrained infrastructure that executes complex application graphs.

Features include:

<p align="center"> <img src="/images/infrastructure.png"> </p>

Python Implementation

We created a new, lightweight implementation of LEAF in Python. Although the Python version is currently less performant, we hope the cleaner interface, improved usability, and bigger third party library support - especially for machine learning - will lead to a greater adoption of our model.

You can find the new implementation here and its documentation here.

Core

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

The current implementation is based on CloudSim Plus, a modern and fully documented simulation framework. Several features and improvements developed within LEAF were directly contributed to the CloudSim Plus core and released in version 6.

Infrastructure and application graphs are implemented through JGraphT.

Example Scenario

The package org.examples.smart_city_traffic implements an exemplary traffic management scenario in a smart city. The example contains:

<img src="/images/visualization.png" width="70%">

Experiments can be configured via the Settings class. To improve simulation speed increase the LOG_LEVEL and reduce the VISUALIZATION_REDRAW_INTERVAL.

Analysis

The directory analysis contains the experiment analysis code written in Python. For running the analysis yourself, install conda adapt settings.py and run:

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

Publications