Package org.apache.wayang.core.optimizer
Class DefaultOptimizationContext
java.lang.Object
org.apache.wayang.core.optimizer.OptimizationContext
org.apache.wayang.core.optimizer.DefaultOptimizationContext
This implementation of
OptimizationContext
represents a direct mapping from OptimizationContext.OperatorContext
to executions of the respective Operator
s.-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.wayang.core.optimizer.OptimizationContext
OptimizationContext.LoopContext, OptimizationContext.OperatorContext
-
Field Summary
Fields inherited from class org.apache.wayang.core.optimizer.OptimizationContext
hostLoopContext, job, logger
-
Constructor Summary
ConstructorsConstructorDescriptionCreate a new instance.DefaultOptimizationContext
(Job job, Operator operator) Creates a new instance.Forks anDefaultOptimizationContext
by providing a write-layer on top of thebase
. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addOneTimeLoop
(OptimizationContext.OperatorContext operatorContext) AddDefaultOptimizationContext
s for theloop
that is executed once within this instance.addOneTimeOperator
(Operator operator) AddOptimizationContext.OperatorContext
s for theoperator
that is executed once within this instance.void
CallsOptimizationContext.OperatorContext.clearMarks()
for all nestedOptimizationContext.OperatorContext
s.copy()
Create a shallow copy of this instance.static DefaultOptimizationContext
createFrom
(Job job) Create a new instance and adds allOperator
s in theWayangPlan
.getBase()
Get theDefaultOptimizationContext
s represented by this instance.getNestedLoopContext
(LoopSubplan loopSubplan) Retrieve theOptimizationContext.LoopContext
for theloopSubplan
.getOperatorContext
(Operator operator) Return theOptimizationContext.OperatorContext
of theoperator
.boolean
void
Methods inherited from class org.apache.wayang.core.optimizer.OptimizationContext
addOneTimeOperators, getChannelConversionGraph, getConfiguration, getIterationNumber, getJob, getLoopContext, getNextIterationContext, getParent, getPruningStrategies, getRootParent, isFinalIteration, isInitialIteration, putIntoJobCache, queryJobCache, queryJobCache
-
Constructor Details
-
DefaultOptimizationContext
Create a new instance.- Parameters:
job
- the optimization task; loops should already be isolated
-
DefaultOptimizationContext
Forks anDefaultOptimizationContext
by providing a write-layer on top of thebase
. -
DefaultOptimizationContext
Creates a new instance. Useful for testing.- Parameters:
job
- whose optimization thew new instance backsoperator
- the singleOperator
of this instance
-
-
Method Details
-
createFrom
Create a new instance and adds allOperator
s in theWayangPlan
.- Parameters:
job
- the optimization task; loops should already be isolated
-
addOneTimeOperator
Description copied from class:OptimizationContext
AddOptimizationContext.OperatorContext
s for theoperator
that is executed once within this instance. Also add its encasedOperator
s. Potentially invokeOptimizationContext.addOneTimeLoop(OperatorContext)
as well.- Specified by:
addOneTimeOperator
in classOptimizationContext
-
addOneTimeLoop
AddDefaultOptimizationContext
s for theloop
that is executed once within this instance.- Specified by:
addOneTimeLoop
in classOptimizationContext
-
getOperatorContext
Return theOptimizationContext.OperatorContext
of theoperator
.- Specified by:
getOperatorContext
in classOptimizationContext
- Parameters:
operator
- a one-timeOperator
(i.e., not in a nested loop)- Returns:
- the
OptimizationContext.OperatorContext
for theOperator
ornull
if none
-
getNestedLoopContext
Retrieve theOptimizationContext.LoopContext
for theloopSubplan
.- Specified by:
getNestedLoopContext
in classOptimizationContext
-
clearMarks
public void clearMarks()CallsOptimizationContext.OperatorContext.clearMarks()
for all nestedOptimizationContext.OperatorContext
s.- Specified by:
clearMarks
in classOptimizationContext
-
getLocalOperatorContexts
- Specified by:
getLocalOperatorContexts
in classOptimizationContext
- Returns:
- the
OptimizationContext.OperatorContext
s of this instance (exclusive of any base instance)
-
isTimeEstimatesComplete
public boolean isTimeEstimatesComplete()- Specified by:
isTimeEstimatesComplete
in classOptimizationContext
- Returns:
- whether there is a
TimeEstimate
for eachExecutionOperator
-
getBase
- Overrides:
getBase
in classOptimizationContext
-
mergeToBase
public void mergeToBase()- Specified by:
mergeToBase
in classOptimizationContext
-
getDefaultOptimizationContexts
Description copied from class:OptimizationContext
Get theDefaultOptimizationContext
s represented by this instance.- Specified by:
getDefaultOptimizationContexts
in classOptimizationContext
- Returns:
- a
Collection
of saidDefaultOptimizationContext
s
-
copy
Create a shallow copy of this instance.- Returns:
- the shallow copy
-