GeminiLight / drl-sfcp

[ICC'21 - DRL-SFCP] Implementation of our paper "DRL-SFCP: Adaptive Service Function Chains Placement with Deep Reinforcement Learning", accepted by ICC 2021.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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}
}

About

[ICC'21 - DRL-SFCP] Implementation of our paper "DRL-SFCP: Adaptive Service Function Chains Placement with Deep Reinforcement Learning", accepted by ICC 2021.

License:Apache License 2.0


Languages

Language:Python 99.8%Language:Shell 0.2%