Class ResourceSitePass
- java.lang.Object
-
- org.apache.nemo.common.pass.Pass
-
- org.apache.nemo.compiler.optimizer.pass.compiletime.CompileTimePass
-
- org.apache.nemo.compiler.optimizer.pass.compiletime.annotating.AnnotatingPass
-
- org.apache.nemo.compiler.optimizer.pass.compiletime.annotating.ResourceSitePass
-
public final class ResourceSitePass extends AnnotatingPass
Computes and assigns appropriate share of nodes to each irVertex to minimize shuffle time, with respect to bandwidth restrictions of nodes. If bandwidth information is not given, this pass does nothing. This pass optimizes task assignment considering nonuniform network bandwidths between resources. Ref. http://pages.cs.wisc.edu/~akella/papers/gda-sigcomm15.pdfAssumptions
This pass assumes no skew in input or intermediate data, so that the number of Task assigned to a node is proportional to the data size handled by the node. Also, this pass assumes stages with empty map asResourceSiteProperty
are assigned to nodes evenly. For example, if source splits are not distributed evenly, any source location-aware scheduling policy will assign TaskGroups unevenly. Also, this pass assumes network bandwidth to be the bottleneck. Each node should have enough capacity to run TaskGroups immediately as scheduler attempts to schedule a TaskGroup.
-
-
Constructor Summary
Constructors Constructor Description ResourceSitePass()
Default constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description IRDAG
apply(IRDAG dag)
static void
setBandwidthSpecificationString(java.lang.String value)
-
Methods inherited from class org.apache.nemo.compiler.optimizer.pass.compiletime.annotating.AnnotatingPass
getExecutionPropertiesToAnnotate, getPrerequisiteExecutionProperties
-
Methods inherited from class org.apache.nemo.common.pass.Pass
addCondition, getCondition
-
-