bnnetsimulator
BNNetSimulator is a packet-level network simulator to generate datasets for research and analysis.
Science Score: 52.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
✓Institutional organization owner
Organization bnn-upc has institutional domain (bnn.upc.edu) -
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (16.7%) to scientific vocabulary
Repository
BNNetSimulator is a packet-level network simulator to generate datasets for research and analysis.
Basic Info
- Host: GitHub
- Owner: BNN-UPC
- Language: Jupyter Notebook
- Default Branch: main
- Size: 24.4 KB
Statistics
- Stars: 14
- Watchers: 2
- Forks: 5
- Open Issues: 2
- Releases: 0
Metadata Files
README.md
BNNetSimulator
BNNetSimulator is a packet-level network simulator that is built on the OMNeT++ framework. It allows users to easily generate network datasets for research and analysis. With BNNetSimulator, you can define a network topology with various node and link features, specify a src-dst routing, and set a traffic matrix. The simulator then provides performance metrics such as mean delay, jitter, and packet loss per path, as well as link utilization and QoS queue statistics. With the datanetAPI tool, you can easily process and analyze the generated dataset.
Parameters
BNNetSimulator offers a variety of parameters that allow you to customize the simulation to your specific needs. You can define several characteristics for each node in the topology, including:
The scheduling policy used to serve packets and the buffer size of the queues
The capacities of the links
The src-dst routing
The simulator also supports different types of traffic profiles, including:
Poisson distribution
CBR (Constant Bit Rate) distribution
ON-OFF distribution
Generic distribution generated with a python script
Additionally, you can define the packet size distribution as a list of packet sizes and their probabilities or through a generic python script. For more information on the available parameters and how to use them, please refer to the inputparametersglossary.ipynb document.
The BNNetSimulator is available as a pre-built docker image, which can be found at https://hub.docker.com/r/bnnupc/bnnetsimulator. To use it, you can simply follow the code examples provided in the Jupyter Notebooks of the accompanying repository.
The repository includes two main Jupyter Notebooks that will guide you through the process of using the simulator:
quickstart.ipynb: This notebook provides a step-by-step introduction to the process of generating your first dataset using the BNNetSimulator. It covers all the necessary steps and provides clear examples to help you get started.
inputparametersglossary.ipynb: This notebook contains detailed descriptions of the various parameters that can be used to build a dataset. It provides information on what each parameter does, how to use it, and how it affects the resulting dataset.
Both the quickstart.ipynb and inputparametersglossary.ipynb are a great resources for someone who wants to get started using BNNetSimulator.
Cite the simulator
Please, if you use the simulator, don't forget to use the following citation:
Plain text:
Miquel Ferriol-Galmés, Jordi Paillisse, José Suárez-Varela, Krzysztof Rusek, Shihan Xiao, Xiang Shi, Xiangle Cheng, Pere Barlet-Ros, and Albert Cabellos-Aparicio. (2022). RouteNet-Fermi: Network Modeling with Graph Neural Networks. arXiv preprint arXiv:2212.12070.
BibTeX:
```
@article{ferriol2022routenet,
title={RouteNet-Fermi: Network Modeling with Graph Neural Networks},
author={Ferriol-Galm{\'e}s, Miquel and Paillisse, Jordi and Su{\'a}rez-Varela, Jos{\'e} and Rusek, Krzysztof and Xiao, Shihan and Shi, Xiang and Cheng, Xiangle and Barlet-Ros, Pere and Cabellos-Aparicio, Albert},
journal={arXiv preprint arXiv:2212.12070},
year={2022}
}
```
Setting up the docker enviroment
To use the BNNetSimulator, you will need to have either Docker Engine or Docker Desktop installed on your machine. Both of these tools provide a way to run the BNNetSimulator as a Docker container, which makes it easy to set up and use.
Here are the links to the instructions for installing Docker on your machine, depending on your operating system:
Docker Desktop: https://docs.docker.com/desktop/
Docker Engine: https://docs.docker.com/engine/
Make sure to follow the instructions for your specific operating system, and have the software installed before you try to use the BNNetSimulator. And in case you are having some troubles, you can always refer to the official documentation.
Owner
- Name: Barcelona Neural Networking Center
- Login: BNN-UPC
- Kind: organization
- Location: Barcelona
- Website: https://bnn.upc.edu/
- Twitter: bnn_upc
- Repositories: 13
- Profile: https://github.com/BNN-UPC
BNN has been created with the main goals of carrying fundamental research in the field of Graph Neural Network applied to Computer Networks
Citation (CITATION.cff)
cff-version: 1.2.0
title: >-
RouteNet-Fermi: Network Modeling with Graph Neural
Networks
message: >-
If you use this software, please cite it using the
metadata from this file.
authors:
- given-names: Miquel
family-names: Ferriol-Galmés
email: miquel.ferriol@upc.edu
affiliation: Universitat Politècnica de Catalunya
- given-names: Jordi
family-names: Paillisse
affiliation: Universitat Politècnica de Catalunya
- given-names: José
family-names: Suárez-Varela
affiliation: Universitat Politècnica de Catalunya
- given-names: Krzysztof
family-names: Rusek
affiliation: AGH University of Science and Technology
- given-names: Shihan
family-names: Xiao
affiliation: 'Huawei Technologies Co., Ltd.'
- affiliation: 'Huawei Technologies Co., Ltd.'
given-names: Xiang
family-names: Shi
- given-names: Xiangle
family-names: Cheng
affiliation: 'Huawei Technologies Co., Ltd.'
- given-names: Pere
family-names: Barlet-Ros
affiliation: Universitat Politècnica de Catalunya
- given-names: Albert
family-names: Cabellos-Aparicio
affiliation: Universitat Politècnica de Catalunya
abstract: >-
Network models are an essential block of modern
networks. For example, they are widely used in
network planning and optimization. However, as
networks increase in scale and complexity, some
models present limitations, such as the assumption
of markovian traffic in queuing theory models, or
the high computational cost of network simulators.
Recent advances in machine learning, such as Graph
Neural Networks (GNN), are enabling a new
generation of network models that are data-driven
and can learn complex non-linear behaviors. In this
paper, we present RouteNet-Fermi, a custom GNN
model that shares the same goals as queuing theory,
while being considerably more accurate in the
presence of realistic traffic models. The proposed
model predicts accurately the delay, jitter, and
loss in networks. We have tested RouteNet-Fermi in
networks of increasing size (up to 300 nodes),
including samples with mixed traffic profiles --
e.g., with complex non-markovian models -- and
arbitrary routing and queue scheduling
configurations. Our experimental results show that
RouteNet-Fermi achieves similar accuracy as
computationally-expensive packet-level simulators
and it is able to accurately scale to large
networks. For example, the model produces delay
estimates with a mean relative error of 6.24% when
applied to a test dataset with 1,000 samples,
including network topologies one order of magnitude
larger than those seen during training.
doi: https://doi.org/10.48550/arXiv.2212.12070
GitHub Events
Total
- Watch event: 3
- Fork event: 1
Last Year
- Watch event: 3
- Fork event: 1