Metadata-Version: 2.1
Name: leafsim
Version: 0.1.2
Summary: A simulator for Large Energy-Aware Fog computing environments.
Home-page: https://github.com/dos-group/leaf
License: MIT
Keywords: simulation,modeling,fog computing,energy consumption,edge computing
Author: Philipp Wiesner
Author-email: wiesner@tu-berlin.de
Requires-Python: >=3.7.9,<4.0.0
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Education
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Distributed Computing
Classifier: Typing :: Typed
Provides-Extra: docs
Requires-Dist: networkx (>=2.5,<3.0)
Requires-Dist: numpy (>=1.20.0,<2.0.0)
Requires-Dist: pandas (>=1.2.1,<2.0.0)
Requires-Dist: simpy (>=4.0.0,<5.0.0)
Requires-Dist: tqdm (>=4.0.0,<5.0.0)
Project-URL: Documentation, https://leaf.readthedocs.io
Project-URL: Repository, https://github.com/dos-group/leaf
Description-Content-Type: text/markdown

# LEAF [![PyPI version](https://img.shields.io/pypi/v/leafsim.svg?color=52c72b)](https://pypi.org/project/leafsim/) [![Supported versions](https://img.shields.io/pypi/pyversions/leafsim.svg)](https://pypi.org/project/leafsim/) [![License](https://img.shields.io/pypi/l/leafsim.svg)](https://pypi.org/project/leafsim/)

LEAF is a simulator for **L**arge **E**nergy-**A**ware **F**og computing environments.
It enables then modeling of complex application graphs in distributed, heterogeneous, and resource-constrained infrastructures.
A special emphasis was put on the modeling of energy consumption (and soon carbon emissions).

Please visit the official [documentation](https://leaf.readthedocs.io) for more information and examples on this project.


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

This Python implementation was ported from the [original Java protoype](https://www.github.com/birnbaum/leaf).
All future development will take place in this repository.


## Installation

You can use LEAF either by directly cloning this repository or installing the latest release via [pip](https://pip.pypa.io/en/stable/quickstart/):

```
$ pip install leafsim
```

## What can I do with it?

LEAF enables a high-level modeling of cloud, fog and edge computing environments.
It builds on top of [networkx](https://networkx.org/), a library for creating and manipulating complex networks,
and [SimPy](https://simpy.readthedocs.io/en/latest/), a process-based discrete-event simulation framework.

Besides allowing research on scheduling and placement algorithms on resource-constrained environments,
LEAF puts a special focus on:

- **Dynamic networks**: Simulate mobile nodes which can join or leave the network during the simulation.
- **Power consumption modeling**: Model the power usage of individual compute nodes, network traffic and applications.
- **Energy-aware algorithms**: Implement dynamically adapting task placement strategies, routing policies, and other energy-saving mechanisms.
- **Scalability**: Model the execution of thousands of compute nodes and applications in magnitudes faster than real time.

Please visit the official [documentation](https://leaf.readthedocs.io) for more information and examples on this project.


## Publications

The paper behind LEAF is accepted for publication:
- Philipp Wiesner and Lauritz Thamsen. "[LEAF: Simulating Large Energy-Aware Fog Computing Environments](https://arxiv.org/abs/2103.01170)" To appear in the Proceedings of the *5th IEEE International Conference on Fog and Edge Computing (ICFEC)*. IEEE, 2021.

