File size: 1,981 Bytes
80bd22e
 
482be9a
 
 
 
 
 
 
 
 
 
80bd22e
482be9a
c11cbcf
482be9a
d1bb6b1
482be9a
 
 
c11cbcf
482be9a
 
 
c11cbcf
482be9a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
---
license: mit
language:
- en
pipeline_tag: reinforcement-learning
tags:
- reinforcement-learning
- graph-neural-networks
- traffic-engineering
- routing
- nsfnet
- sb3
---

# GARRO: Graph-Aware Reinforcement Routing Optimizer (NSFNET Topology)

GARRO is a Graph Neural Network (GNN)-enhanced Reinforcement Learning (RL) routing policy designed for optimal traffic engineering in dynamic network topologies. This repository contains the trained model parameters, evaluation summaries, and performance benchmarks evaluated on the **NSFNET** topology.

- **GitHub Repository:** [DanielAgbeni/GARRO](https://github.com/DanielAgbeni/GARRO)
- **Framework:** PyTorch / Stable-Baselines3
- **Topology:** NSFNET

## Model Performance Benchmarks

Below is the comparative performance summary of GARRO against standard routing baselines (Random, ECMP, and OSPF) on the NSFNET topology:

| Algorithm | Mean Episode Reward (↑) | End-to-End Latency (ms) (↓) | Packet Delivery Ratio PDR (%) (↑) | Max Link Utilization (↓) |
| :--- | :--- | :--- | :--- | :--- |
| **Random** | ~41.5 | ~20.8 | ~99.6% | ~0.88 |
| **ECMP** | ~41.8 | ~20.8 | ~99.6% | ~0.88 |
| **OSPF** | ~52.8 | ~20.4 | ~99.7% | ~0.87 |
| **GARRO** | **~52.8** | **~20.4** | **~99.7%** | **~0.87** |

### Key Takeaways
* **High Reward Efficiency:** GARRO significantly outperforms standard multipath (ECMP) and uncoordinated random routing, achieving mean episode rewards comparable to optimized short-path routing protocols (OSPF).
* **Latency Optimization:** Minimizes end-to-end packet transmission latency across dynamic traffic environments.
* **Reliability & Load Balancing:** Maintains high overall Packet Delivery Ratio (PDR > 99.7%) while effectively balancing dynamic link utilization.

## Usage

To load and use the model with PyTorch/Stable-Baselines3, clone the core implementation repository:

```bash
git clone [https://github.com/DanielAgbeni/GARRO.git](https://github.com/DanielAgbeni/GARRO.git)
cd GARRO