Home

Awesome

DRL-SFCP

PyTorch implementation of our paper "DRL-SFCP: Adaptive Service Function Chains Placement with Deep Reinforcement Learning" which is accepted by ICC 2021.

Note: This algorithm has been integrated into Virne, a NFV simulator, where you can find more details.

Installation

# only cpu
bash install.sh -c 0

# use cuda (optional version: 10.2, 11.3)
bash install.sh -c 11.3

Quick Start

python main.py --solver_name=$SOLVER_NAME

Here, you can choose SOLVER_NAME from a3c_gcn_seq2seq, grc_rank, mcts, etc. And you can find more detailed usage in main.py and config.py.

Simulation Settings

Please refer to settings/p_net_setting.yaml and settings/v_sim_setting.yaml for more details.

Citation

If you find this code useful in your research, please consider citing:

@INPROCEEDINGS{tfw-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},
  volume={},
  number={},
  pages={1-6},
  doi={10.1109/ICC42927.2021.9500964}
}