https://github.com/intellabs/mlwins
Machine Learning for Wireless Networking Systems Simulator
https://github.com/intellabs/mlwins
Last synced: about 1 year ago
JSON representation
Machine Learning for Wireless Networking Systems Simulator
- Host: GitHub
- URL: https://github.com/intellabs/mlwins
- Owner: IntelLabs
- License: mit
- Created: 2022-11-18T18:22:12.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-02-05T16:42:32.000Z (over 2 years ago)
- Last Synced: 2024-02-05T17:53:03.024Z (over 2 years ago)
- Language: Jupyter Notebook
- Size: 76 MB
- Stars: 2
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
The `Machine Learning for Wireless Networking Systems Simulator` integrates Intel’s open-source tools (a) CARLA for modeling vehicular environments and autonomous driving, (b) Open Federated Learning for privacy preserving distributed machine learning, and (c) ns3 based wireless simulator. The tool allows for evaluation of machine learning optimizations across wireless as well as the application stack and can be used to evaluate the E2E performance with realistic datasets.
## Brief intro to the current Network Sim interface
Our current interface works with a **socket interface** connecting the `python` and `NS3`. The interface contains a `Wave Server` inside and this server will deal with all the traffics.
Currently our methods contains:
* Init Simulation: Where the interface will create a new server instance.
* Create Nodes(# Nodes): Where the server will create a given number of wifi devices centered all at (0.,0.) with no velocity. The server will give the list of created nodes and their types as a response.
* Update Location(ID, x, y): The server will give new locations to the given node. If the node doesn't exist, return an error.
* Schedule traffics(src, dst, pktsize, pktcount): This function will schedule a traffic between the given source and destination, the two nodes are now connected by socket.
* Run simulation(): Start the simulation with previously scheduled traffices. The server will collect transmitted and received packets from the sockets, store them in a map and send back to the controller.
Notice that the traffic collection happens when the socket connection sends or receives a packet, a transmission failure means that the sockets fails to receive a certain packet.