Tsnkit
A scheduling and benchmark toolkit for Time-Sensitive Networking in Python
Install / Use
/learn @ChuanyuXue/TsnkitREADME
tsnkit
TSNKit is an open-source scheduling and benchmarking toolkit for Time-Sensitive Networking (TSN), written in Python. It provides a unified interface for developing, testing, and benchmarking scheduling algorithms for IEEE 802.1Qbv and related standards.
- Open-source Implementations: Ready-to-use implementations of state-of-the-art TSN scheduling methods.
- Unified Interface: Standardized typing and commandline interface for algorithms.
- Built-in Simulation: Built-in simulator to validate scheduling outputs against network constraints.
- Benchmarking Tools: Tools for performance comparison among scheduling methods.
Documentation: https://tsnkit.readthedocs.io
Demo: Check in Colab
Installation
Install from source (recommended):
git clone https://github.com/ChuanyuXue/tsnkit
cd tsnkit
pip install .
From pip:
pip install -U tsnkit
Usage
## Generate data
python3 -m tsnkit.data.generator
## Run scheduling algorithm
python3 -m tsnkit.algorithms.ls 1_task.csv 1_topo.csv
## Run simulation
python3 -m tsnkit.simulation.tas ./1_task.csv ./
## Run benchmark
python -m tsnkit.test.benchmark --methods ALL --ins 1-16
Related projects:
- OMNeT_TSNkit: Integrating TSNkit into OMNeT++ for simulation.
- VisTSN: Displaying TSN real-world testbed status when TSNKit results applies.
Reference
If you use TSNKit in your research, please cite our RTAS 2024 paper:
@inproceedings{xue2024real,
title={Real-time scheduling for 802.1 Qbv time-sensitive networking (TSN): A systematic review and experimental study},
author={Xue, Chuanyu and Zhang, Tianyu and Zhou, Yuanbin and Nixon, Mark and Loveless, Andrew and Han, Song},
booktitle={2024 IEEE 30th Real-Time and Embedded Technology and Applications Symposium (RTAS)},
pages={108--121},
year={2024},
organization={IEEE}
}
Paper link: https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=10568056
Contribute
Contributions are welcome! Feel free to add your own scheduling algorithm in this toolkit. Please reach out to me if you need any help or have any suggestions skewcy@gmail.com.
Related Skills
node-connect
349.9kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.8kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
349.9kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
349.9kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
