@InterfaceAudience.Private @InterfaceStability.Unstable public class DefaultResourceCalculator extends ResourceCalculator
| Constructor and Description |
|---|
DefaultResourceCalculator() |
| Modifier and Type | Method and Description |
|---|---|
int |
compare(Resource unused,
Resource lhs,
Resource rhs) |
int |
computeAvailableContainers(Resource available,
Resource required)
Compute the number of containers which can be allocated given
available and required resources. |
float |
divide(Resource unused,
Resource numerator,
Resource denominator)
Divide resource
numerator by resource denominator
using specified policy (domination, average, fairness etc.); hence overall
clusterResource is provided for context. |
Resource |
divideAndCeil(Resource numerator,
int denominator)
Divide-and-ceil
numerator by denominator. |
boolean |
isInvalidDivisor(Resource r)
Determine if a resource is not suitable for use as a divisor
(will result in divide by 0, etc)
|
Resource |
multiplyAndNormalizeDown(Resource r,
double by,
Resource stepFactor)
Multiply resource
r by factor by
and normalize down using step-factor stepFactor. |
Resource |
multiplyAndNormalizeUp(Resource r,
double by,
Resource stepFactor)
Multiply resource
r by factor by
and normalize up using step-factor stepFactor. |
Resource |
normalize(Resource r,
Resource minimumResource,
Resource maximumResource)
Normalize resource
r given the base
minimumResource and verify against max allowed
maximumResource |
Resource |
normalize(Resource r,
Resource minimumResource,
Resource maximumResource,
Resource stepFactor)
Normalize resource
r given the base
minimumResource and verify against max allowed
maximumResource using a step factor for hte normalization. |
float |
ratio(Resource a,
Resource b)
Ratio of resource
a to resource b. |
Resource |
roundDown(Resource r,
Resource stepFactor)
Round-down resource
r given factor stepFactor. |
Resource |
roundUp(Resource r,
Resource stepFactor)
Round-up resource
r given factor stepFactor. |
divideAndCeil, roundDown, roundUppublic int compare(Resource unused, Resource lhs, Resource rhs)
compare in class ResourceCalculatorpublic int computeAvailableContainers(Resource available, Resource required)
ResourceCalculatoravailable and required resources.computeAvailableContainers in class ResourceCalculatoravailable - available resourcesrequired - required resourcespublic float divide(Resource unused, Resource numerator, Resource denominator)
ResourceCalculatornumerator by resource denominator
using specified policy (domination, average, fairness etc.); hence overall
clusterResource is provided for context.divide in class ResourceCalculatorunused - cluster resourcesnumerator - numeratordenominator - denominatornumerator/denominator
using specific policypublic boolean isInvalidDivisor(Resource r)
ResourceCalculatorisInvalidDivisor in class ResourceCalculatorr - resourcepublic float ratio(Resource a, Resource b)
ResourceCalculatora to resource b.ratio in class ResourceCalculatora - resourceb - resourcea to resource bpublic Resource divideAndCeil(Resource numerator, int denominator)
ResourceCalculatornumerator by denominator.divideAndCeil in class ResourceCalculatornumerator - numerator resourcedenominator - denominatorpublic Resource normalize(Resource r, Resource minimumResource, Resource maximumResource, Resource stepFactor)
ResourceCalculatorr given the base
minimumResource and verify against max allowed
maximumResource using a step factor for hte normalization.normalize in class ResourceCalculatorr - resourceminimumResource - minimum valuemaximumResource - the upper bound of the resource to be allocatedstepFactor - the increment for resources to be allocatedpublic Resource normalize(Resource r, Resource minimumResource, Resource maximumResource)
ResourceCalculatorr given the base
minimumResource and verify against max allowed
maximumResourcenormalize in class ResourceCalculatorr - resourceminimumResource - step-factormaximumResource - the upper bound of the resource to be allocatedpublic Resource roundUp(Resource r, Resource stepFactor)
ResourceCalculatorr given factor stepFactor.roundUp in class ResourceCalculatorr - resourcestepFactor - step-factorpublic Resource roundDown(Resource r, Resource stepFactor)
ResourceCalculatorr given factor stepFactor.roundDown in class ResourceCalculatorr - resourcestepFactor - step-factorpublic Resource multiplyAndNormalizeUp(Resource r, double by, Resource stepFactor)
ResourceCalculatorr by factor by
and normalize up using step-factor stepFactor.multiplyAndNormalizeUp in class ResourceCalculatorr - resource to be multipliedby - multiplierstepFactor - factor by which to normalize uppublic Resource multiplyAndNormalizeDown(Resource r, double by, Resource stepFactor)
ResourceCalculatorr by factor by
and normalize down using step-factor stepFactor.multiplyAndNormalizeDown in class ResourceCalculatorr - resource to be multipliedby - multiplierstepFactor - factor by which to normalize downCopyright © 2018 CERN. All Rights Reserved.