Simulate the allocation and execution of Virtual Machines on Physical Machines to test the efficacy of algorithms. Developed proprietary algorithms combine mathematical programming models for optimal allocation in an efficient and scalable manner.
- IBM ILOG CPLEX Optimization Studio: This project requires IBM ILOG CPLEX Optimization Studio for solving VM allocation with proprietary algorithms.
-
Clone the Repository
Clone the repository to your local machine using the following command:
git clone https://github.com/robertomeroni/vm_allocator.git cd vm_allocator -
Create a Virtual Environment
Create a virtual environment to manage dependencies:
python -m venv .venv
-
Activate the Virtual Environment
Activate the virtual environment:
- On Windows:
.venv\Scripts\activate
- On macOS/Linux:
source .venv/bin/activate
- On Windows:
-
Install Dependencies
Install the required packages using the
requirements.txtfile:pip install -r requirements.txt
-
Run a Simulation: To run a simulation with the settings in
config.py, execute the following command:./run.sh
-
Run Tests with Multiple Algorithms: To run a test with multiple algorithms, use:
./test.sh
-
Test Scalability: To test the scalability of the algorithms, execute:
./test_scalability.sh