org.apache.hadoop.yarn.util.resource
Class DefaultResourceCalculator

java.lang.Object
  extended by org.apache.hadoop.yarn.util.resource.ResourceCalculator
      extended by org.apache.hadoop.yarn.util.resource.DefaultResourceCalculator

@InterfaceAudience.Private
@InterfaceStability.Unstable
public class DefaultResourceCalculator
extends ResourceCalculator


Constructor Summary
DefaultResourceCalculator()
           
 
Method Summary
 int compare(org.apache.hadoop.yarn.api.records.Resource unused, org.apache.hadoop.yarn.api.records.Resource lhs, org.apache.hadoop.yarn.api.records.Resource rhs)
           
 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.
 float divide(org.apache.hadoop.yarn.api.records.Resource unused, org.apache.hadoop.yarn.api.records.Resource numerator, org.apache.hadoop.yarn.api.records.Resource denominator)
          Divide resource numerator by resource denominator using specified policy (domination, average, fairness etc.); hence overall clusterResource is provided for context.
 org.apache.hadoop.yarn.api.records.Resource divideAndCeil(org.apache.hadoop.yarn.api.records.Resource numerator, int denominator)
          Divide-and-ceil numerator by denominator.
 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)
          Normalize resource r given the base minimumResource and verify against max allowed maximumResource
 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.
 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.
 
Methods inherited from class org.apache.hadoop.yarn.util.resource.ResourceCalculator
divideAndCeil, roundDown, roundUp
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultResourceCalculator

public DefaultResourceCalculator()
Method Detail

compare

public int compare(org.apache.hadoop.yarn.api.records.Resource unused,
                   org.apache.hadoop.yarn.api.records.Resource lhs,
                   org.apache.hadoop.yarn.api.records.Resource rhs)
Specified by:
compare in class ResourceCalculator

computeAvailableContainers

public int computeAvailableContainers(org.apache.hadoop.yarn.api.records.Resource available,
                                      org.apache.hadoop.yarn.api.records.Resource required)
Description copied from class: ResourceCalculator
Compute the number of containers which can be allocated given available and required resources.

Specified by:
computeAvailableContainers in class ResourceCalculator
Parameters:
available - available resources
required - required resources
Returns:
number of containers which can be allocated

divide

public float divide(org.apache.hadoop.yarn.api.records.Resource unused,
                    org.apache.hadoop.yarn.api.records.Resource numerator,
                    org.apache.hadoop.yarn.api.records.Resource denominator)
Description copied from class: ResourceCalculator
Divide resource numerator by resource denominator using specified policy (domination, average, fairness etc.); hence overall clusterResource is provided for context.

Specified by:
divide in class ResourceCalculator
Parameters:
unused - cluster resources
numerator - numerator
denominator - denominator
Returns:
numerator/denominator using specific policy

ratio

public float ratio(org.apache.hadoop.yarn.api.records.Resource a,
                   org.apache.hadoop.yarn.api.records.Resource b)
Description copied from class: ResourceCalculator
Ratio of resource a to resource b.

Specified by:
ratio in class ResourceCalculator
Parameters:
a - resource
b - resource
Returns:
ratio of resource a to resource b

divideAndCeil

public org.apache.hadoop.yarn.api.records.Resource divideAndCeil(org.apache.hadoop.yarn.api.records.Resource numerator,
                                                                 int denominator)
Description copied from class: ResourceCalculator
Divide-and-ceil numerator by denominator.

Specified by:
divideAndCeil in class ResourceCalculator
Parameters:
numerator - numerator resource
denominator - denominator
Returns:
resultant resource

normalize

public 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)
Description copied from class: ResourceCalculator
Normalize resource r given the base minimumResource and verify against max allowed maximumResource using a step factor for hte normalization.

Specified by:
normalize in class ResourceCalculator
Parameters:
r - resource
minimumResource - minimum value
maximumResource - the upper bound of the resource to be allocated
stepFactor - the increment for resources to be allocated
Returns:
normalized resource

normalize

public 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)
Description copied from class: ResourceCalculator
Normalize resource r given the base minimumResource and verify against max allowed maximumResource

Overrides:
normalize in class ResourceCalculator
Parameters:
r - resource
minimumResource - step-factor
maximumResource - the upper bound of the resource to be allocated
Returns:
normalized resource

roundUp

public org.apache.hadoop.yarn.api.records.Resource roundUp(org.apache.hadoop.yarn.api.records.Resource r,
                                                           org.apache.hadoop.yarn.api.records.Resource stepFactor)
Description copied from class: ResourceCalculator
Round-up resource r given factor stepFactor.

Specified by:
roundUp in class ResourceCalculator
Parameters:
r - resource
stepFactor - step-factor
Returns:
rounded resource

roundDown

public org.apache.hadoop.yarn.api.records.Resource roundDown(org.apache.hadoop.yarn.api.records.Resource r,
                                                             org.apache.hadoop.yarn.api.records.Resource stepFactor)
Description copied from class: ResourceCalculator
Round-down resource r given factor stepFactor.

Specified by:
roundDown in class ResourceCalculator
Parameters:
r - resource
stepFactor - step-factor
Returns:
rounded resource

multiplyAndNormalizeUp

public 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)
Description copied from class: ResourceCalculator
Multiply resource r by factor by and normalize up using step-factor stepFactor.

Specified by:
multiplyAndNormalizeUp in class ResourceCalculator
Parameters:
r - resource to be multiplied
by - multiplier
stepFactor - factor by which to normalize up
Returns:
resulting normalized resource

multiplyAndNormalizeDown

public 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)
Description copied from class: ResourceCalculator
Multiply resource r by factor by and normalize down using step-factor stepFactor.

Specified by:
multiplyAndNormalizeDown in class ResourceCalculator
Parameters:
r - resource to be multiplied
by - multiplier
stepFactor - factor by which to normalize down
Returns:
resulting normalized resource


Copyright © 2014 Apache Software Foundation. All Rights Reserved.