This repository contains the framework and code for optimized, distributed latency calculations, including measurement point discussion, reservation processes, and configuration generation for Time-Sensitive Networking (TSN). When using this library, please cite the following paper:
Alexej Grigorjew, Stefan Geissler, Jürgen Schmitt, and Tobias Hossfeld, "Decentralized Latency Models and Information Flow for TSN Shapers – A Tutorial," (under submission for IEEE Communications Surveys & Tutorials)
Depending on the executed python file, the following python packages may be needed:
Flask
Flask-Cors
matplotlib
mizani
networkx
numpy
pandas
plotnine
PyYAML
The key functions and evaluations for the paper are located in the zz_main directory. You can execute these scenarios directly using Python. The following commands were used specifically for the paper evaluation:
# Preconfigured network scenario
PYTHONPATH=. python ./zz_main/paper_scenario_preconfigured.py -p ~/preconf_x10 -s all -n 100 -r 10 -c 31 -x 10 -e
# Accept-all evaluation scenario
PYTHONPATH=. python ./zz_main/paper_scenario_accept_all.py -p ~/accept_all -s all -n 100 -c 31 -ow -e
# Accept-all with global configuration and 50% resource cap
PYTHONPATH=. python ./zz_main/paper_scenario_accept_all.py -p ~/accept_all_gc -s all -n 100 -c 31 -ow -gc -lc 0.5 -e
# Single switch scenario
PYTHONPATH=. python ./zz_main/paper_scenario_single_switch.py -p ~/single_sw -ow -c 1 -eFor details on each parameter, refer to the respective help:
PYTHONPATH=. python ./zz_main/paper_scenario_preconfigured.py -hTo view the live visualizations in the frontend, navigate to the frontEnd directory and start the server:
cd frontEnd
python serverStart.py(Check the terminal output for the local server address, typically http://localhost:XXXX, and open it in your web browser).
The lib directory contains the core classes and functions used across the project:
- Latency Analysis: Computes end-to-end delays and bounds for TSN streams.
- Auto-config: Automatically generates feasible network configurations and schedules for TSN shapers.
- Data Structures: Handles the representation of topology and streams.
CC-BY-SA