Skip to content

VM Consolidation for SDN using Transformer-Based Deep Reinforcement Learning(DRL).

License

Notifications You must be signed in to change notification settings

euidong/sdn-lullaby

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SDN Lullaby

python pytorch matplotlib pandas ffmpeg

sdn-lullaby

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.

Published at

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.

Dependency

  • 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)

Run

1. Install python packages

conda create --name vnf-consolidation --file requirements.txt -c pytorch -c conda-forge -c anaconda
conda activate vnf-consolidation

2. Run agent code

DQN Agent

python -m src.agent.dqn

Project Structure

|
|- src/       # Source Code
|- param/     # Saved model parameters
|- result/    # Result metrics & animations
`- resource/  # Resource files

Architecture

Further More

I also implemented PPO-based Implementation. If you are interesting in it, go to ppo branch.

Reference

About

VM Consolidation for SDN using Transformer-Based Deep Reinforcement Learning(DRL).

Resources

License

Stars

Watchers

Forks