Skip to content

Repository files navigation

VM Allocator

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.

Prerequisites

  • IBM ILOG CPLEX Optimization Studio: This project requires IBM ILOG CPLEX Optimization Studio for solving VM allocation with proprietary algorithms.

Setup Instructions

  1. 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
  2. Create a Virtual Environment

    Create a virtual environment to manage dependencies:

    python -m venv .venv
  3. Activate the Virtual Environment

    Activate the virtual environment:

    • On Windows:
      .venv\Scripts\activate
    • On macOS/Linux:
      source .venv/bin/activate
  4. Install Dependencies

    Install the required packages using the requirements.txt file:

    pip install -r requirements.txt

Usage

  • 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

About

Optimal allocation of Virtual Machines

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages