# DRL-based-VM-Rescheduling **Repository Path**: ByteDance/DRL-based-VM-Rescheduling ## Basic Information - **Project Name**: DRL-based-VM-Rescheduling - **Description**: This repo contains the implementation of deep reinforcement learning (DRL) algorithms for virtual machine rescheduling in data centers. - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-11-15 - **Last Updated**: 2026-02-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## Deep Reinforcement Learning-based Virtual Machine Rescheduling We are still working on this repository. A more complete and clean version will be provided soon. ### Installation Steps 1. Install Anaconda: ``` $ conda create -n rl_vm_scheduling python=3.7 $ conda activate rl_vm_scheduling ``` 2. Install RLlib: ``` $ pip install gym==0.23.1 $ pip install "ray[rllib]" tensorflow torch $ pip install -e gym-reschdule_combination ``` ### Running Steps - Train PPO-based agent ``` $ python3 main.py ``` - To use pretrained model for VM selection ``` $ python3 main.py --track --model [mlp/attn] --pretrain ``` - Evaluation ``` $ python3 eval.py --restore-name [] --restore-file-name [] --model [mlp/attn] ``` ### Environments * generalizer-v0: Base environment. Fixed number of VMs. * generalizer-v1: Dynamic number of VMs. * graph-v1: Dynamic number of VMs with vm-pm affiliations to support graph models.