Topologies
XLRON ships with all 119 real-world optical network topologies from TopologyBench in addition to the historically standard research topologies (NSFNET, COST239, USNET, JPN48, German17, CONUS, …). Both directed (each fibre direction is a separate link) and undirected variants are pre-converted and cached, so you can run on any topology by just changing one flag:
--topology_name=coronet_directed
--topology_name=geant_undirected
--topology_name=germany50_undirected
--topology_name=usa100_directed # 100 nodes, 342 directed links
--topology_name=tataind_directed # 143 nodes, 362 directed links
To list all available TopologyBench topologies (or regenerate from source):
python xlron/data/topologies/topology_bench_to_xlron_conversion.py --list
python xlron/data/topologies/topology_bench_to_xlron_conversion.py --download # re-download from upstream
If your topology JSON includes latitude and longitude per node, the render visualisation will use them to seed geographic node placement.
Bundled research topologies
| Topology | Nodes | Directed links | Avg degree | Avg SP (hops) | Avg SP (km) |
|---|---|---|---|---|---|
| COST239 | 11 | 52 | 4.73 | 1.56 | 1,810 |
| NSFNET | 14 | 44 | 3.14 | 2.12 | 2,054 |
| German17 | 17 | 48 | 2.82 | 2.85 | 799 |
| USNET | 24 | 86 | 3.58 | 2.99 | 2,993 |
| JPN48 | 48 | 164 | 3.42 | 5.21 | 1,201 |
| CONUS | 75 | 198 | 2.64 | 6.45 | 2,687 |
| USA100 (TopologyBench) | 100 | 342 | 1.71 | 6.52 | 2,684 |
| TataInd (TopologyBench) | 143 | 362 | 1.26 | 9.87 | 1,972 |
Why this matters
Most published RL-for-RMSA studies use a small handful of topologies (NSFNET, COST239, USNET, JPN48). Conclusions drawn on those tiny topologies do not always generalise — both because the action space is small and because the path diversity is limited. The largest topology any prior dynamic-RMSA RL study had attempted before the Graph Transformer paper was JPN48 (48 nodes); USA100 and TataInd are 2–3× larger and have substantially more candidate paths per node-pair.
XLRON makes those big topologies a one-flag change. The same Graph Transformer architecture and training script that is benchmarked on NSFNET also trains successfully on TataInd in 5 hours on a single H100 — see the reproduction guide.
Adding your own topology
Drop a JSON file into xlron/data/topologies/ describing the graph in node-link format with distance (km) on each edge, then refer to it via --topology_name=<filename without .json>. Optional fields:
latitude/longitudeper node (used byrenderfor geographic layouts).- The
xlron/data/topologies/topology_bench_to_xlron_conversion.pyscript is a worked example of converting an external topology source to the XLRON format.
K-shortest paths are pre-computed and cached under xlron/data/topologies/ksp/ per (topology, k, sort_criteria).
Credit
The 119-topology bundle is a redistribution of TopologyBench: A Comprehensive Repository of Real-World Optical Network Topologies by Robin Matzner et al. If you use these topologies in published work, please cite TopologyBench:
@article{matzner_topology_2024,
author = {Matzner, Robin and others},
title = {{TopologyBench}: A Comprehensive Repository of Real-World Optical Network Topologies},
year = {2024}
}