public interface VmAllocationPolicyMigrationDynamicUpperThreshold extends VmAllocationPolicyMigration
NULL
DEF_HOST_COUNT_FOR_PARALLEL_SEARCH
Modifier and Type | Method and Description |
---|---|
double |
computeHostUtilizationMeasure(Host host)
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.
|
VmAllocationPolicyMigration |
getFallbackVmAllocationPolicy()
Gets the fallback VM allocation policy to be used when
the over utilization host detection doesn't have
data to be computed.
|
double |
getSafetyParameter()
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.
|
getOverUtilizationThreshold, getUnderUtilizationThreshold, getVmSelectionPolicy, isHostOverloaded, isHostUnderloaded, setUnderUtilizationThreshold, setVmSelectionPolicy
allocateHostForVm, allocateHostForVm, deallocateHostForVm, findHostForVm, getDatacenter, getHostCountForParallelSearch, getHostList, getOptimizedAllocationMap, isParallelHostSearchEnabled, scaleVmVertically, setDatacenter, setFindHostForVmFunction, setHostCountForParallelSearch
void setFallbackVmAllocationPolicy(VmAllocationPolicyMigration fallbackPolicy)
fallbackPolicy
- the new fallback vm allocation policyVmAllocationPolicyMigration getFallbackVmAllocationPolicy()
double getSafetyParameter()
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 safery 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.
double computeHostUtilizationMeasure(Host host) throws IllegalStateException
host
- the host to get the current utilizationIllegalArgumentException
- when the measure could not be computed
(for instance, because the Host doesn't have enough history to use)IllegalStateException
VmAllocationPolicyMigration.getOverUtilizationThreshold(Host)
Copyright © 2015–2019 Systems, Security and Image Communication Lab - Instituto de Telecomunica����es (IT) - Universidade da Beira Interior (UBI) - Instituto Federal de Educa����o Ci��ncia e Tecnologia do Tocantins (IFTO). All rights reserved.