PowerVmSelectionPolicyMaximumCorrelation

public class PowerVmSelectionPolicyMaximumCorrelation extends PowerVmSelectionPolicy

A VM selection policy that selects for migration the VM with the Maximum Correlation Coefficient (MCC) among a list of migratable VMs.

If you are using any algorithms, policies or workload included in the power package please cite the following paper:

Author:Anton Beloglazov

Constructors

PowerVmSelectionPolicyMaximumCorrelation

public PowerVmSelectionPolicyMaximumCorrelation(PowerVmSelectionPolicy fallbackPolicy)

Instantiates a new PowerVmSelectionPolicyMaximumCorrelation.

Parameters:
  • fallbackPolicy – the fallback policy

Methods

getCorrelationCoefficients

protected List<Double> getCorrelationCoefficients(double[][] data)

Gets the correlation coefficients.

Parameters:
  • data – the data
Returns:

the correlation coefficients

getFallbackPolicy

public PowerVmSelectionPolicy getFallbackPolicy()

Gets the fallback policy.

Returns:the fallback policy

getMinUtilizationHistorySize

protected int getMinUtilizationHistorySize(List<Vm> vmList)

Gets the min CPU utilization percentage history size between a list of VMs.

Parameters:
  • vmList – the VM list
Returns:

the min CPU utilization percentage history size of the VM list

getUtilizationMatrix

protected double[][] getUtilizationMatrix(List<Vm> vmList)

Gets the CPU utilization percentage matrix for a given list of VMs.

Parameters:
  • vmList – the VM list
Returns:

the CPU utilization percentage matrix, where each line i is a VM and each column j is a CPU utilization percentage history for that VM.

getVmToMigrate

public Vm getVmToMigrate(Host host)

setFallbackPolicy

public final void setFallbackPolicy(PowerVmSelectionPolicy fallbackPolicy)

Sets the fallback policy.

Parameters:
  • fallbackPolicy – the new fallback policy