Skip to content

SDDCVMP/framework

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

[DEPRECATED] Dynamic Virtual Machine Placement Framework

This project contains the source code and results of the following research:

"Towards Elastic Virtual Machine Placement in Overbooked OpenStack Clouds under Uncertainty"

Jornadas de Cloud Computing & Big Data, 2018
Authors: F. López-Pires and B. Barán and C. Pereira and M. Velázquez and O. González
Ref.: JCC&BD-2018

Abstract

Cloud computing datacenters currently provide millions of virtual machines in highly dynamic Infrastructure as a Service (IaaS) markets. As a first step on implementing algorithms previously proposed by the authors for the Virtual Machine Placement (VMP) in a real-world IaaS middleware, this work presents an experimental comparison of these algorithms against current algorithms considered for solving VMP problems in OpenStack. Several experiments considering scenario-based simulations for uncertainty modelling demonstrate that the proposed algorithms present promising results for its implementation towards real-world operations. Next steps are also summarized.

"Machine Learning Opportunities in Cloud Computing Datacenter Management for 5G Services"

ITU Kaleidoscope, 2018
Authors: F. López-Pires and B. Barán
Ref.: ITU-2018

Abstract

Emerging paradigms associated to Cloud Computing operations are considered to serve as a basis to integrate 5G components and protocols. In the context of resource management for Cloud Computing Datacenters, several research challenges could addressed considering state-of-the-art machine learning techniques. This paper presents identified opportunities on improving critical resource management decisions, analyzing the potential on applying machine learning to solve these relevant problems, mainly in two-phase optimization schemes for Virtual Machine Placement (VMP). Future research directions are also presented.

To develop and execute the following items are required:

To develop:

  1. Maven 3 or greater
  2. Java 8 (JDK 1.8)
  3. Java IDE (i.e. eclipse, intellij, ...)

To run:

The framework could be compile with maven.

  1. Go to the project root and execute:
$ mvn clean package
  1. In the target directory is the compiled framework, to execute use the following command:
$ java -jar target/DynamicVMPFramework.jar inputs/ivmp.conf inputs/vmpr.conf inputs/scenarios.con
f outputs/

Input File

  • parameter: Configuration file and scenarios
Parameter File Structure

ivmp.conf:

  1. APPROACH = Algorithm approach
  • CENTRALIZED
  • DISTRIBUTED -> This approach will automatically launch the distributed approach and you don't need to specify the following inputs: VMPr, VMPr_TRIGGERING, VMPr_RECOVERING.
  1. iVMP = Algorithm for the incremental phase (iVMP).
  • FF -> First Fit
  • BF -> Best Fit
  • WF -> Worst Fit
  • FFD -> First Fit Decreasing
  • BFD -> Best Fit Decreasing

vmpr.conf: 3. VMPr = Algorithm for the reconfiguration phase (VMPr).

  • MEMETIC -> Memetic Algorithm
  • ACO -> Ant Colony Optimization
  1. VMPr_TRIGGERING = VMPr triggering strategy
  • PERIODICALLY
  • PREDICTION-BASED
  1. VMPr_RECOVERING = VMPr recovering strategy
  • CANCELLATION
  • UPDATE-BASED
  1. PM_CONFIG = Load CPU Configuration
  • LOW -> (<10%)
  • MED -> (<30%)
  • HIGH -> (<80%)
  • FULL -> (<95%)
  • SATURATED -> (<120%)
  1. DERIVE_COST = Cost per each derived VM
  2. PROTECTION_FACTOR_01 = Resource1 protection factor [0;1]
  3. PROTECTION_FACTOR_02 = Resource2 protection factor [0;1]
  4. PROTECTION_FACTOR_03 = Resource3 protection factor [0;1]
  5. PENALTY_FACTOR_01 = Resource1 penalty factor (greater than 1)
  6. PENALTY_FACTOR_02 = Resource1 penalty factor (greater than 1)
  7. PENALTY_FACTOR_03 = Resource1 penalty factor (greater than 1)
  8. INTERVAL_EXECUTION_MEMETIC = Periodic Time of MA Execution
  9. POPULATION_SIZE = Population size for MA
  10. NUMBER_GENERATIONS = Generations size for MA
  11. EXECUTION_DURATION = Time of Duration
  12. LINK_CAPACITY = Link Capacity for Migration
  13. MIGRATION_FACTOR_LOAD = Factor Load per Migration
  14. HISTORICAL_DATA_SIZE = Historical Data Sieze
  15. FORECAST_SIZE = Forecast Size
  16. SCALARIZATION_METHOD = Scalarization Method
  • ED -> Euclidean Distance
  • MD -> Manhattan Distance
  • CD -> Chevyshev Distance
  • WS -> Weighted Sum
  1. MAX_PHEROMONE = Max pheromone allowed in ACO
  2. PHEROMONE_CONSTANT = Pheromone constant for ACO, range [0,1], determines how fast pheromone evaporates. Pheromones evaporates quicker as pheromone constant grows
  3. N_ANTS = Number of ants used for ACO
  4. ACO_ITERATIONS = Number of iterations to be performed in ACO to return a solution

scenarios.conf: 27. SCENARIOS = List of Request

Output Files

The framework generates the following file:

  • *resutls: contains F1, F2, F3 values

About

[DEPRECATED] Simulation Framework for Virtual Machine Placement in Cloud Computing Environments. [CURRENT]: https://github.com/SDDCVMP/VMP-framework

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 97.6%
  • Shell 2.4%