@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 . |
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, roundUp
public int compare(Resource unused, Resource lhs, Resource rhs)
compare
in class ResourceCalculator
public int computeAvailableContainers(Resource available, Resource required)
ResourceCalculator
available
and required
resources.computeAvailableContainers
in class ResourceCalculator
available
- available resourcesrequired
- required resourcespublic float divide(Resource unused, Resource numerator, Resource denominator)
ResourceCalculator
numerator
by resource denominator
using specified policy (domination, average, fairness etc.); hence overall
clusterResource
is provided for context.divide
in class ResourceCalculator
unused
- cluster resourcesnumerator
- numeratordenominator
- denominatornumerator
/denominator
using specific policypublic float ratio(Resource a, Resource b)
ResourceCalculator
a
to resource b
.ratio
in class ResourceCalculator
a
- resourceb
- resourcea
to resource b
public Resource divideAndCeil(Resource numerator, int denominator)
ResourceCalculator
numerator
by denominator
.divideAndCeil
in class ResourceCalculator
numerator
- numerator resourcedenominator
- denominatorpublic Resource normalize(Resource r, Resource minimumResource, Resource maximumResource, Resource stepFactor)
ResourceCalculator
r
given the base
minimumResource
and verify against max allowed
maximumResource
using a step factor for hte normalization.normalize
in class ResourceCalculator
r
- 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)
ResourceCalculator
r
given the base
minimumResource
and verify against max allowed
maximumResource
normalize
in class ResourceCalculator
r
- resourceminimumResource
- step-factormaximumResource
- the upper bound of the resource to be allocatedpublic Resource roundUp(Resource r, Resource stepFactor)
ResourceCalculator
r
given factor stepFactor
.roundUp
in class ResourceCalculator
r
- resourcestepFactor
- step-factorpublic Resource roundDown(Resource r, Resource stepFactor)
ResourceCalculator
r
given factor stepFactor
.roundDown
in class ResourceCalculator
r
- resourcestepFactor
- step-factorpublic Resource multiplyAndNormalizeUp(Resource r, double by, Resource stepFactor)
ResourceCalculator
r
by factor by
and normalize up using step-factor stepFactor
.multiplyAndNormalizeUp
in class ResourceCalculator
r
- resource to be multipliedby
- multiplierstepFactor
- factor by which to normalize uppublic Resource multiplyAndNormalizeDown(Resource r, double by, Resource stepFactor)
ResourceCalculator
r
by factor by
and normalize down using step-factor stepFactor
.multiplyAndNormalizeDown
in class ResourceCalculator
r
- resource to be multipliedby
- multiplierstepFactor
- factor by which to normalize downCopyright © 2013 Apache Software Foundation. All rights reserved.