public class DiskBasedDominantResourceCalculator extends DominantResourceCalculator
Constructor and Description |
---|
DiskBasedDominantResourceCalculator() |
Modifier and Type | Method and Description |
---|---|
int |
computeAvailableContainers(org.apache.hadoop.yarn.api.records.Resource available,
org.apache.hadoop.yarn.api.records.Resource required)
Compute the number of containers which can be allocated given
available and required resources. |
org.apache.hadoop.yarn.api.records.Resource |
divideAndCeil(org.apache.hadoop.yarn.api.records.Resource numerator,
int denominator)
Divide-and-ceil
numerator by denominator . |
static double |
divideAndCeilDouble(double a,
double b) |
static double |
divideAndFloorDouble(double a,
double b) |
protected float |
getResourceAsValue(org.apache.hadoop.yarn.api.records.Resource clusterResource,
org.apache.hadoop.yarn.api.records.Resource resource,
boolean dominant)
Use 'dominant' for now since we only have 2 resources - gives us a slight
performance boost.
|
org.apache.hadoop.yarn.api.records.Resource |
multiplyAndNormalizeDown(org.apache.hadoop.yarn.api.records.Resource r,
double by,
org.apache.hadoop.yarn.api.records.Resource stepFactor)
Multiply resource
r by factor by
and normalize down using step-factor stepFactor . |
org.apache.hadoop.yarn.api.records.Resource |
multiplyAndNormalizeUp(org.apache.hadoop.yarn.api.records.Resource r,
double by,
org.apache.hadoop.yarn.api.records.Resource stepFactor)
Multiply resource
r by factor by
and normalize up using step-factor stepFactor . |
org.apache.hadoop.yarn.api.records.Resource |
normalize(org.apache.hadoop.yarn.api.records.Resource r,
org.apache.hadoop.yarn.api.records.Resource minimumResource,
org.apache.hadoop.yarn.api.records.Resource maximumResource,
org.apache.hadoop.yarn.api.records.Resource stepFactor)
Normalize resource
r given the base
minimumResource and verify against max allowed
maximumResource using a step factor for hte normalization. |
float |
ratio(org.apache.hadoop.yarn.api.records.Resource a,
org.apache.hadoop.yarn.api.records.Resource b)
Ratio of resource
a to resource b . |
org.apache.hadoop.yarn.api.records.Resource |
roundDown(org.apache.hadoop.yarn.api.records.Resource r,
org.apache.hadoop.yarn.api.records.Resource stepFactor)
Round-down resource
r given factor stepFactor . |
static double |
roundDownDisk(double a,
double b) |
org.apache.hadoop.yarn.api.records.Resource |
roundUp(org.apache.hadoop.yarn.api.records.Resource r,
org.apache.hadoop.yarn.api.records.Resource stepFactor)
Round-up resource
r given factor stepFactor . |
static double |
roundUpDisk(double a,
double b) |
compare, divide, isInvalidDivisor
divideAndCeil, normalize, roundDown, roundUp
public static double divideAndCeilDouble(double a, double b)
public static double roundUpDisk(double a, double b)
public static double divideAndFloorDouble(double a, double b)
public static double roundDownDisk(double a, double b)
protected float getResourceAsValue(org.apache.hadoop.yarn.api.records.Resource clusterResource, org.apache.hadoop.yarn.api.records.Resource resource, boolean dominant)
getResourceAsValue
in class DominantResourceCalculator
public int computeAvailableContainers(org.apache.hadoop.yarn.api.records.Resource available, org.apache.hadoop.yarn.api.records.Resource required)
ResourceCalculator
available
and required
resources.computeAvailableContainers
in class DominantResourceCalculator
available
- available resourcesrequired
- required resourcespublic float ratio(org.apache.hadoop.yarn.api.records.Resource a, org.apache.hadoop.yarn.api.records.Resource b)
ResourceCalculator
a
to resource b
.ratio
in class DominantResourceCalculator
a
- resourceb
- resourcea
to resource b
public org.apache.hadoop.yarn.api.records.Resource divideAndCeil(org.apache.hadoop.yarn.api.records.Resource numerator, int denominator)
ResourceCalculator
numerator
by denominator
.divideAndCeil
in class DominantResourceCalculator
numerator
- numerator resourcedenominator
- denominatorpublic org.apache.hadoop.yarn.api.records.Resource normalize(org.apache.hadoop.yarn.api.records.Resource r, org.apache.hadoop.yarn.api.records.Resource minimumResource, org.apache.hadoop.yarn.api.records.Resource maximumResource, org.apache.hadoop.yarn.api.records.Resource stepFactor)
ResourceCalculator
r
given the base
minimumResource
and verify against max allowed
maximumResource
using a step factor for hte normalization.normalize
in class DominantResourceCalculator
r
- resourceminimumResource
- minimum valuemaximumResource
- the upper bound of the resource to be allocatedstepFactor
- the increment for resources to be allocatedpublic org.apache.hadoop.yarn.api.records.Resource roundUp(org.apache.hadoop.yarn.api.records.Resource r, org.apache.hadoop.yarn.api.records.Resource stepFactor)
ResourceCalculator
r
given factor stepFactor
.roundUp
in class DominantResourceCalculator
r
- resourcestepFactor
- step-factorpublic org.apache.hadoop.yarn.api.records.Resource roundDown(org.apache.hadoop.yarn.api.records.Resource r, org.apache.hadoop.yarn.api.records.Resource stepFactor)
ResourceCalculator
r
given factor stepFactor
.roundDown
in class DominantResourceCalculator
r
- resourcestepFactor
- step-factorpublic org.apache.hadoop.yarn.api.records.Resource multiplyAndNormalizeUp(org.apache.hadoop.yarn.api.records.Resource r, double by, org.apache.hadoop.yarn.api.records.Resource stepFactor)
ResourceCalculator
r
by factor by
and normalize up using step-factor stepFactor
.multiplyAndNormalizeUp
in class DominantResourceCalculator
r
- resource to be multipliedby
- multiplierstepFactor
- factor by which to normalize uppublic org.apache.hadoop.yarn.api.records.Resource multiplyAndNormalizeDown(org.apache.hadoop.yarn.api.records.Resource r, double by, org.apache.hadoop.yarn.api.records.Resource stepFactor)
ResourceCalculator
r
by factor by
and normalize down using step-factor stepFactor
.multiplyAndNormalizeDown
in class DominantResourceCalculator
r
- resource to be multipliedby
- multiplierstepFactor
- factor by which to normalize downCopyright © 2017 Apache Software Foundation. All Rights Reserved.