Simluator for Birkhoff–von Neumann scheduling in a switch. Different heuristics for the scheduling are compared regarding metrics like packet delay, queue size, throughput, etc.
pip install -r requirements.txt
To run a single simulation with the desired configuration and write the evaluation results into a JSON file there are the following possibilities:
- Run the simulator and select your simulation configuration interactively:
python src/Simulator.py
- Specify your configuration manually. For example in the case of GLJD and 5 simulation runs for a 2x2 Switch:
python src/Simulator.py --heuristic GLJD --size 3 --runs 5
- Get an explanation of a configuration parameters:
python src/Simulator.py --help
To run the simulation suite with simulation runs for all possible configurations and save the results into a CSV file:
python src/Simulation_Suite.py