Interface VmAllocationPolicyMigrationDynamicUpperThreshold
- All Superinterfaces:
VmAllocationPolicy
,VmAllocationPolicyMigration
- All Known Implementing Classes:
VmAllocationPolicyMigrationDynamicUpperThresholdFirstFit
- Since:
- CloudSim Plus 1.0
- Author:
- Anton Beloglazov, Manoel Campos da Silva Filho
-
Field Summary
Fields inherited from interface org.cloudbus.cloudsim.allocationpolicies.VmAllocationPolicy
DEF_HOST_COUNT_PARALLEL_SEARCH, LOGGER
Fields inherited from interface org.cloudbus.cloudsim.allocationpolicies.migration.VmAllocationPolicyMigration
NULL
-
Method Summary
Modifier and TypeMethodDescriptiondouble
Computes the measure used to generate the dynamic host over utilization threshold using some statistical method (such as the Median absolute deviation - MAD, InterQuartileRange - IRQ, Local Regression, etc.), depending on the implementing class.Gets the fallback VM allocation policy to be used when the over utilization host detection doesn't have data to be computed.double
Gets the safety parameter for the over utilization threshold in percentage, at scale from 0 to 1.void
setFallbackVmAllocationPolicy
(VmAllocationPolicyMigration fallbackPolicy) Sets the fallback VM allocation policy to be used when the over utilization host detection doesn't have data to be computed.Methods inherited from interface org.cloudbus.cloudsim.allocationpolicies.VmAllocationPolicy
allocateHostForVm, allocateHostForVm, allocateHostForVm, deallocateHostForVm, findHostForVm, getDatacenter, getHostCountForParallelSearch, getHostList, getOptimizedAllocationMap, isParallelHostSearchEnabled, isVmMigrationSupported, scaleVmVertically, setDatacenter, setFindHostForVmFunction, setHostCountForParallelSearch
Methods inherited from interface org.cloudbus.cloudsim.allocationpolicies.migration.VmAllocationPolicyMigration
areHostsOverloaded, areHostsUnderloaded, areHostsUnderOrOverloaded, getOverUtilizationThreshold, getUnderUtilizationThreshold, getVmSelectionPolicy, isHostOverloaded, isHostUnderloaded, setUnderUtilizationThreshold, setVmSelectionPolicy
-
Method Details
-
setFallbackVmAllocationPolicy
Sets the fallback VM allocation policy to be used when the over utilization host detection doesn't have data to be computed.- Parameters:
fallbackPolicy
- the new fallback vm allocation policy
-
getFallbackVmAllocationPolicy
VmAllocationPolicyMigration getFallbackVmAllocationPolicy()Gets the fallback VM allocation policy to be used when the over utilization host detection doesn't have data to be computed.- Returns:
- the fallback vm allocation policy
-
getSafetyParameter
double getSafetyParameter()Gets the safety parameter for the over utilization threshold in percentage, at scale from 0 to 1. For instance, a value 1 means 100% while 1.5 means 150%. It is a tuning parameter used by the allocation policy to define when a host is overloaded. The overload detection is based on a dynamic defined host utilization threshold.Such a threshold is computed based on the host's usage history using different statistical methods (such as Median absolute deviation - MAD, that is similar to the Standard Deviation) depending on the implementing class, as defined by the method
computeHostUtilizationMeasure(Host)
.This safety parameter is used to increase or decrease the utilization threshold. As the safety parameter increases, the threshold decreases, what may lead to less SLA violations. So, as higher is that parameter, safer the algorithm will be when defining a host as overloaded. A value equal to 0 indicates that the safety parameter doesn't affect the computed CPU utilization threshold.
Let's take an example of a class that uses the MAD to compute the over utilization threshold. Considering a host's resource usage mean of 0.6 (60%) and a MAD of 0.2, meaning the usage may vary from 0.4 to 0.8. Now take a safety parameter of 0.5 (50%). To compute the usage threshold, the MAD is increased by 50%, being equals to 0.3. Finally, the threshold will be 1 - 0.3 = 0.7. Thus, only when the host utilization threshold exceeds 70%, the host is considered overloaded.
Here, safer doesn't mean a more accurate overload detection but that the algorithm will use a lower host utilization threshold that may lead to lower SLA violations but higher resource wastage. Thus this parameter has to be tuned in order to trade-off between SLA violation and resource wastage.
-
computeHostUtilizationMeasure
Computes the measure used to generate the dynamic host over utilization threshold using some statistical method (such as the Median absolute deviation - MAD, InterQuartileRange - IRQ, Local Regression, etc.), depending on the implementing class. The method uses Host utilization history to compute such a metric.- Parameters:
host
- the host to get the current utilization- Returns:
- Throws:
IllegalArgumentException
- when the measure could not be computed (for instance, because the Host doesn't have enough history to use)IllegalStateException
- See Also:
-