Virne is a simulator & benchmark for resource allocation (RA) problems in network function virtualization (NFV), i.e., NFV-RA, including virtual network embedding, service function chain deployment, network slicing, etc.
✨ Benchmark Paper • Documentation • Citations • SDN-NFV Papers
Virne is a simulator and benchmark designed to address resource allocation (RA) problems in network function virtualization (NFV), with a highlight on supporting reinforcement learning (RL)-based algorithms.
In the literature, RA in NFV is often termed Virtual Network Embedding (VNE), Virtual Network Function (VNF) placement, service function chain (SFC) deployment, or network slicing in 5G.
Virne offers a unified and comprehensive framework for NFV-RA, with the following key features:
[!IMPORTANT]
🎉 We have released the benchmark paper of Virne. Welcome to check it out!✨ If you have any questions, please open a new issue or contact me via email (wtfly2018@gmail.com)
❤️ If you find Virne helpful to your research, please feel free to cite our related papers.
[arXiv, 2025] Virne
@article{tfwang-2025-virne,
title={Virne: A Comprehensive Benchmark for Deep RL-based Network Resource Allocation in NFV},
author={Wang, Tianfu and Deng, Liwei and Chen, Xi and Wang, Junyang and He, Huiguo and Ding, Leilei and Wu, Wei and Fan, Qilin and Xiong, Hui},
year={2025},
}
[IJCAI, 2024] FlagVNE (paper & code)
@INPROCEEDINGS{ijcai-2024-flagvne,
title={FlagVNE: A Flexible and Generalizable Reinforcement Learning Framework for Network Resource Allocation},
author={Wang, Tianfu and Fan, Qilin and Wang, Chao and Ding, Leilei and Yuan, Nicholas Jing and Xiong, Hui},
booktitle={Proceedings of the 33rd International Joint Conference on Artificial Intelligence},
year={2024},
}
[TSC, 2023] HRL-ACRA (paper & code)
@ARTICLE{tsc-2023-hrl-acra,
author={Wang, Tianfu and Shen, Li and Fan, Qilin and Xu, Tong and Liu, Tongliang and Xiong, Hui},
journal={IEEE Transactions on Services Computing},
title={Joint Admission Control and Resource Allocation of Virtual Network Embedding Via Hierarchical Deep Reinforcement Learning},
volume={17},
number={03},
pages={1001--1015},
year={2024},
}
[ICC, 2021] DRL-SFCP (paper & code)
@INPROCEEDINGS{icc-2021-drl-sfcp,
author={Wang, Tianfu and Fan, Qilin and Li, Xiuhua and Zhang, Xu and Xiong, Qingyu and Fu, Shu and Gao, Min},
booktitle={ICC 2021 - IEEE International Conference on Communications},
title={DRL-SFCP: Adaptive Service Function Chains Placement with Deep Reinforcement Learning},
year={2021},
pages={1-6},
}
conda create -n virne python=3.10
conda activate virne
# use cpu
bash install.sh -c 0
# use cuda (only support cuda=12.4 and torch=2.6.0)
bash install.sh -c 12.4
Before running the example, you could update the configuration file in settings/
directory to set the parameters on simulation and algorithm.
python main.py
Virne is built on Hydra, which allows you to override configuration parameters directly from the command line.
python main.py CONFIG_NAME=NEW_VALUE
Some examples of command line arguments are:
# Run with a specific nfv-ra algorithm
python main.py solver.solver_name=nrm_rank
# Run with a specific physical topology
python main.py p_net_setting.topology.file_path=../../datasets/topology/Geant.gml
# Run with a specific network system
python main.py system.if_offline_system=true
Virne has implemented the rich heuristic-based and learning-based algorithms for NFV-RA. Some of them are listed in the following tables.
*
means that the algorithm only supports chain-shape virtual networks embedding
Name | Command | Type | Mapping | Title | Publication | Year | Note |
---|---|---|---|---|---|---|---|
NodeRanking-MetaHeuristic | **_** |
meta-heuristics |
joint |
Virtual network embedding through topology awareness and optimization | CN | 2012 | MultiThreading Support |
Genetic-Algorithm | ga |
meta-heuristics |
two-stage |
Virtual network embedding based on modified genetic algorithm | Peer-to-Peer Networking and Applications | 2019 | MultiThreading Support |
Tabu-Search | ts |
meta-heuristics |
joint |
Virtual network forwarding graph embedding based on Tabu Search | WCSP | 2017 | MultiThreading Support |
ParticleSwarmOptimization | pso |
meta-heuristics |
two-stage |
Energy-Aware Virtual Network Embedding | TON | 2014 | MultiThreading Support |
Ant-Colony-Optimization | aco |
meta-heuristics |
joint |
Link mapping-oriented ant colony system for virtual network embedding | CEC | 2017 | MultiThreading Support |
AntColony-Optimization | aco |
meta-heuristics |
joint |
VNE-AC: Virtual Network Embedding Algorithm Based on Ant Colony Metaheuristic | ICC | 2011 | MultiThreading Support |
Simulated-Annealing | sa |
meta-heuristics |
two-stage |
FELL: A Flexible Virtual Network Embedding Algorithm with Guaranteed Load Balancing | ICC | 2011 | MultiThreading Support |
Other Related Papers
Name | Command | Type | Mapping | Title | Publication | Year | Note |
---|---|---|---|---|---|---|---|
PL (Priority of Location) | pl_rank |
heuristics |
two-stage |
Efficient Virtual Network Embedding of Cloud-Based Data Center Networks into Optical Networks | TPDS | 2021 | |
NRM (Node Resource Management) | nrm_rank |
heuristics |
two-stage |
Virtual Network Embedding Based on Computing, Network, and Storage Resource Constraints | IoTJ | 2018 | |
GRC (Global resource capacity) | grc_rank |
heuristics |
two-stage |
Toward Profit-Seeking Virtual Network Embedding Algorithm via Global Resource Capacity | INFOCOM | 2014 | |
RW-MaxMatch (NodeRank) | rw_rank |
heuristics |
two-stage |
Virtual Network Embedding Through Topology-Aware Node Ranking | ACM SIGCOMM Computer Communication Review | 2011 | |
RW-BFS (NodeRank) | rw_rank_bfs |
heuristics |
bfs_trials |
Virtual Network Embedding Through Topology-Aware Node Ranking | ACM SIGCOMM Computer Communication Review | 2011 |
Name | Command | Type | Mapping | Title | Publication | Year | Note |
---|---|---|---|---|---|---|---|
MIP (Mixed-Integer Programming) | mip |
exact |
joint |
ViNEYard: Virtual Network Embedding Algorithms With Coordinated Node and Link Mapping | TON | 2012 | |
D-Rounding (Deterministic Rounding) | d_rounding |
exact |
joint |
ViNEYard: Virtual Network Embedding Algorithms With Coordinated Node and Link Mapping | TON | 2012 | |
R-Rounding (Random Rounding) | r_rounding |
exact |
joint |
ViNEYard: Virtual Network Embedding Algorithms With Coordinated Node and Link Mapping | TON | 2012 |
Name | Command | Mapping |
---|---|---|
Random Rank | random_rank |
two-stage |
Random Joint Place and Route | random_joint_pr |
joint_pr |
Random Rank Breath First Search | random_bfs_trials |
bfs_trials |
Order Rank | order_rank |
two-stage |
Order Joint Place and Route | order_joint_pr |
joint_pr |
Order Rank Breath First Search | order_bfs_trials |
bfs_trials |
First Fit Decreasing Rank | ffd_rank |
two-stage |
First Fit Decreasing Joint Place and Route | ffd_joint_pr |
joint_pr |
First Fit Decreasing Rank Breath First Search | ffd_bfs_trials |
bfs_trials |