VM Consolidation for SDN using Transformer-Based Deep Reinforcement Learning.
The goal of this project is to redistribute VNF (or VM) deployed inefficiently on multiple servers to maximize the performance of SFC while operating with as few servers as possible. After this process, the unused machine goes to sleep mode. So, I named this project SDN Lullaby
.
Eui-Dong Jeong, Jae-Hyoung Yoo, James Won-Ki Hong, "SDN Lullaby: VM Consolidation for SDN using Transformer-Based Deep Reinforcement Learning", 19th International Conference on Network and Service Management (CNSM 2023), Niagara Falls, Canada, Oct. 30 – Nov. 2, 2023.
- GPU : Quadro RTX 5000
- CUDA : 11.8
- python : 3.8.16
- torch : 2.0.1
- platform : Linux (for
torch.multiprocessing
) - IDE : Vscode (Recommended)
- matplotlib : 3.7.1
- pandas : 1.5.2
- ffmpeg : 4.2.2 (for animation rendering)
conda create --name vnf-consolidation --file requirements.txt -c pytorch -c conda-forge -c anaconda
conda activate vnf-consolidation
python -m src.agent.dqn
|
|- src/ # Source Code
|- param/ # Saved model parameters
|- result/ # Result metrics & animations
`- resource/ # Resource files
I also implemented PPO-based Implementation. If you are interesting in it, go to ppo branch.