Skip to content

Subangkar/CS536-project

 
 

Repository files navigation

RouteNet Reproduction (CS536 Project)

📝 Overview

This project reproduces the key ideas from "RouteNet: Leveraging Graph Neural Networks for network modeling and optimization in SDN",
by simulating network traffic, collecting delay and jitter metrics, and training a Graph Neural Network (GNN) to predict these metrics for SDN environments.


📄 Paper Link

RouteNet: Leveraging Graph Neural Networks for network modeling and optimization in SDN


⚙️ Prerequisites

  • Python 3
  • PyTorch 2.4+
  • networkx
  • pip packages listed in model/requirements.txt, for the routenet model
  • Docker (used for ONOS, Mininet, and D-ITG in containerized setup)
  • NVIDIA GPU recommended (optional, speeds up training)

🚀 Usage

Clone and set up

git clone https://github.com/jaison-joseph/CS536-project.git
cd CS536-project
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

🚀 Usage

Generate dataset from simulation

python3 master.py <number of nodes> [nsfnet/geant2/germany50] <number of runs per traffic intensity value> <time per run in SECONDS> <frequency of statistics in MILLISECONDS> <min traffic intensity> <max traffic intensity>

Train the RouteNet model

cd model
python main.py

⚠️ Limitations

  • Simulations are shorter and use fewer samples than the original RouteNet study (due to resource constraints), leading to higher prediction errors.
  • Occasional Mininet instability is handled by automatic restarts.
  • Overall results have higher MAE and MRE compared to the paper’s benchmarks.

📚 References

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 82.4%
  • Shell 15.5%
  • Dockerfile 1.3%
  • Makefile 0.8%