Virne is a simulator for resource allocation problems in network virtualization, mainly for virtual network embedding (VNE). It also is adaptable to VNE's variants, such as service function chain deployment (SFC Deployment), network slicing, etc.
Documentation | Citations | SDN-NFV Papers
Virne is a simulator designed to address resource allocation problems in network virtualization. This category of problems is often referred to by various names, including:
The main goal of Virne is to provide a unified and flexible framework for solving these problems. Its main characteristics are as follows.
Virne is still under development. If you have any questions, please open a new issue or contact me via email ([email protected])
- Completing the documentation
- Implementing more VNE algorithms
✨ If you find Virne helpful to your research, please feel free to cite our related papers❤️
[IJCAI, 2024] FlagVNE (paper & code)
@INPROCEEDINGS{ijcai-2024-flagvne,
title={FlagVNE: A Flexible and Generalizable RL 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{tfwang-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},
doi={10.1109/TSC.2023.3326539}
}
[ICC, 2021] DRL-SFCP (paper & code)
@INPROCEEDINGS{tfwang-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},
doi={10.1109/ICC42927.2021.9500964}
}
pip install virne
# only cpu
bash install.sh -c 0
# use cuda (optional version: 10.2, 11.3)
bash install.sh -c 11.3
from virne.base import BasicScenario
from virne import Config, REGISTRY, Generator, update_simulation_setting
def run(config):
print(f"\n{'-' * 20} Start {'-' * 20}\n")
# Load solver info: environment and solver class
solver_info = REGISTRY.get(config.solver_name)
Env, Solver = solver_info['env'], solver_info['solver']
print(f'Use {config.solver_name} Solver (Type = {solver_info["type"]})...\n')
scenario = BasicScenario.from_config(Env, Solver, config)
scenario.run()
print(f"\n{'-' * 20} Complete {'-' * 20}\n")
if __name__ == '__main__':
config = Config(
solver_name='nrm_rank',
# p_net_setting_path='customized_p_net_setting_file_path',
# v_sim_setting_path='customized_v_sim_setting_file_path',
)
Generator.generate_dataset(config, p_net=False, v_nets=False, save=False)
run(config)
Diverse Network Topologies for Simulation
Multiple level Attributes for QoS:
Unified Reinforcement Learning Interface for Extension
Various Simulation Scenarios
Predefined QoS Awarenesses (Additional Constraints/ Objectives)
Virne has implemented the following heuristic-based and learning-based algorithms:
Mapping Strategies
- Two-Stage
- In this fromework, the VNE solving process are composed of Node mapping and Edge Mapping.
- Firstly, the node mapping solution is generate with node mapping algorithm, i.e., Node Ranking
- Secondly, the BFS algorithm is employed to route the physical link pairs obtained from the node mapping solution.
- Joint Place and Route
- The solution of node mapping consists of a sequential placement decision.
- Simultaneously, the available physical link pairs are routed by BFS algorithm.
- BFS Trails
- Based on breadth-first search, it expands the search space by exploiting the awareness of restarts.
*
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 |
ADD
Scenario
Window Batch ProcessingADD
Environment
Check Attributes of p_net and v_netADD
Environment
Latency ConstraintADD
Controller
Check graph constraintsADD
Controller
Multi-commodity flowADD
Environment
QoS level ConstraintsADD
Recorder
Count partial solutions’ informationADD
Enironment
Early rejection (Admission control)ADD
Environment
Multi-Resources AttributesADD
Environment
Position ConstraintADD
Recorder
Count Running physical network nodesName | Command | Type | Mapping | Title | Publication | Year | Note |
---|---|---|---|---|---|---|---|
PG-Conv-QoS-Security | pg_cnn_qs |
learning |
joint |
VNE Solution for Network Differentiated QoS and Security Requirements: From the Perspective of Deep Reinforcement Learning | arXiv | Security | |
DDPG-Attention* | ddpg_attention |
learning |
joint |
A-DDPG: Attention Mechanism-based Deep Reinforcement Learning for NFV | IWQOS | 2021 | |
MUVINE | mu |
learning |
joint |
MUVINE: Multi-stage Virtual Network Embedding in Cloud Data Centers using Reinforcement Learning based Predictions | JSAC | 2020 | Admission Control |
TD | td |
learning |
two-stage |
VNE-TD: A virtual network embedding algorithm based on temporal-difference learning | CN | 2019 | |
RNN | rnn |
learning |
two-stage |
Boost Online Virtual Network Embedding: Using Neural Networks for Admission Control | CNSM | 2016 | Admission Control |