A reninfocement-learning-based application-layer QoS optimization framework of WiFi Networks.
This is the code repository for the ReinWiFi project. The project aims to optimize the application-layer QoS of WiFi networks using Reinforcement Learning (RL) techniques. The project is developed in Python and uses the PyTorch library for the RL implementation. The project is still in its early stages and is under development.
The controller is specifically designed to handle the application-layer QoS of the WiFi network as following shows.
The communication setup following two steps:
- Compile the wlsops-hack with respect to different NIC (Note: special kernel driver might be a requirement).
- Compile the transmission program in stream-replay in a release mode.
- Set up the function call handler following the guid in cluster-tap.
Online Testing for proposed model:
python main.py --config config/modelTest.yaml
Offline Training for proposed model for imitator and controller, repspectively:
python3 offline_trainning.py --config config/trainHisEnv.yaml
python3 offline_trainning.py --config config/trainHisCtl.yaml
Online Training for controller:
python main.py --config config/modelTrain.yaml
- Update README.md
- Installation guide, with requirements and scripts provided.
- Code Cleanup
This project is build on top of the stream-replay, cluster-tap and wlsops-hack. Special thanks to the authors of these projects.