public void setCandidateProperties(GlobalProperties gProps, LocalProperties lProps, Channel initialInput) { if (this.cachedPlans != null) { throw new IllegalStateException(); } else { WorksetPlanNode wspn = new WorksetPlanNode(this, "Workset ("+this.getOperator().getName()+")", gProps, lProps, initialInput); this.cachedPlans = Collections.<PlanNode>singletonList(wspn); } }
private JobVertex createWorksetIterationHead(WorksetPlanNode wspn) { final WorksetIterationPlanNode iteration = wspn.getContainingIterationNode(); if (mergeIterationAuxTasks && wspn.getOutgoingChannels().size() == 1) { final Channel c = wspn.getOutgoingChannels().get(0); final PlanNode successor = c.getTarget(); merge = c.getShipStrategy() == ShipStrategyType.FORWARD && c.getLocalStrategy() == LocalStrategy.NONE && c.getTempMode() == TempMode.NONE && successor.getParallelism() == wspn.getParallelism() && !(successor instanceof NAryUnionPlanNode) && successor != iteration.getNextWorkSetPlanNode() && final TaskConfig headConfig; if (merge) { final PlanNode successor = wspn.getOutgoingChannels().get(0).getTarget(); headVertex = this.vertices.get(successor);
@Override public SourceAndDamReport hasDamOnPathDownTo(PlanNode source) { if (source == this) { return FOUND_SOURCE; } SourceAndDamReport res = this.initialInput.getSource().hasDamOnPathDownTo(source); if (res == FOUND_SOURCE_AND_DAM) { return FOUND_SOURCE_AND_DAM; } else if (res == FOUND_SOURCE) { return (this.initialInput.getLocalStrategy().dams() || this.initialInput.getTempMode().breaksPipeline() || getDriverStrategy().firstDam() == DamBehavior.FULL_DAM) ? FOUND_SOURCE_AND_DAM : FOUND_SOURCE; } else { return NOT_FOUND; } } }
final WorksetIterationPlanNode iterationNode = wspn.getContainingIterationNode();
"Cannot associate the node for a partial solutions with its containing iteration."); wspn.setContainingIterationNode((WorksetIterationPlanNode) iteration);
wsn.getWorksetNode().getIterationNode().getOperator().getName() + "'"; } else { throw new CompilerException();
WorksetPlanNode wspn = (WorksetPlanNode) node; inConns = Collections.singleton(wspn.getContainingIterationNode().getInput2()).iterator();
"Cannot associate the node for a partial solutions with its containing iteration."); wspn.setContainingIterationNode((WorksetIterationPlanNode) iteration);
private JobVertex createWorksetIterationHead(WorksetPlanNode wspn) { final WorksetIterationPlanNode iteration = wspn.getContainingIterationNode(); if (mergeIterationAuxTasks && wspn.getOutgoingChannels().size() == 1) { final Channel c = wspn.getOutgoingChannels().get(0); final PlanNode successor = c.getTarget(); merge = c.getShipStrategy() == ShipStrategyType.FORWARD && c.getLocalStrategy() == LocalStrategy.NONE && c.getTempMode() == TempMode.NONE && successor.getParallelism() == wspn.getParallelism() && !(successor instanceof NAryUnionPlanNode) && successor != iteration.getNextWorkSetPlanNode() && final TaskConfig headConfig; if (merge) { final PlanNode successor = wspn.getOutgoingChannels().get(0).getTarget(); headVertex = this.vertices.get(successor);
final WorksetIterationPlanNode iterationNode = wspn.getContainingIterationNode();
public void setCandidateProperties(GlobalProperties gProps, LocalProperties lProps, Channel initialInput) { if (this.cachedPlans != null) { throw new IllegalStateException(); } else { WorksetPlanNode wspn = new WorksetPlanNode(this, "Workset ("+this.getOperator().getName()+")", gProps, lProps, initialInput); this.cachedPlans = Collections.<PlanNode>singletonList(wspn); } }
@Override public SourceAndDamReport hasDamOnPathDownTo(PlanNode source) { if (source == this) { return FOUND_SOURCE; } SourceAndDamReport res = this.initialInput.getSource().hasDamOnPathDownTo(source); if (res == FOUND_SOURCE_AND_DAM) { return FOUND_SOURCE_AND_DAM; } else if (res == FOUND_SOURCE) { return (this.initialInput.getLocalStrategy().dams() || this.initialInput.getTempMode().breaksPipeline() || getDriverStrategy().firstDam() == DamBehavior.FULL_DAM) ? FOUND_SOURCE_AND_DAM : FOUND_SOURCE; } else { return NOT_FOUND; } } }
"Cannot associate the node for a partial solutions with its containing iteration."); wspn.setContainingIterationNode((WorksetIterationPlanNode) iteration);
private JobVertex createWorksetIterationHead(WorksetPlanNode wspn) { final WorksetIterationPlanNode iteration = wspn.getContainingIterationNode(); if (mergeIterationAuxTasks && wspn.getOutgoingChannels().size() == 1) { final Channel c = wspn.getOutgoingChannels().get(0); final PlanNode successor = c.getTarget(); merge = c.getShipStrategy() == ShipStrategyType.FORWARD && c.getLocalStrategy() == LocalStrategy.NONE && c.getTempMode() == TempMode.NONE && successor.getParallelism() == wspn.getParallelism() && !(successor instanceof NAryUnionPlanNode) && successor != iteration.getNextWorkSetPlanNode() && final TaskConfig headConfig; if (merge) { final PlanNode successor = wspn.getOutgoingChannels().get(0).getTarget(); headVertex = this.vertices.get(successor);
final WorksetIterationPlanNode iterationNode = wspn.getContainingIterationNode();
public void setCandidateProperties(GlobalProperties gProps, LocalProperties lProps, Channel initialInput) { if (this.cachedPlans != null) { throw new IllegalStateException(); } else { WorksetPlanNode wspn = new WorksetPlanNode(this, "Workset ("+this.getOperator().getName()+")", gProps, lProps, initialInput); this.cachedPlans = Collections.<PlanNode>singletonList(wspn); } }
@Override public SourceAndDamReport hasDamOnPathDownTo(PlanNode source) { if (source == this) { return FOUND_SOURCE; } SourceAndDamReport res = this.initialInput.getSource().hasDamOnPathDownTo(source); if (res == FOUND_SOURCE_AND_DAM) { return FOUND_SOURCE_AND_DAM; } else if (res == FOUND_SOURCE) { return (this.initialInput.getLocalStrategy().dams() || this.initialInput.getTempMode().breaksPipeline() || getDriverStrategy().firstDam() == DamBehavior.FULL_DAM) ? FOUND_SOURCE_AND_DAM : FOUND_SOURCE; } else { return NOT_FOUND; } } }
"Cannot associate the node for a partial solutions with its containing iteration."); wspn.setContainingIterationNode((WorksetIterationPlanNode) iteration);
private JobVertex createWorksetIterationHead(WorksetPlanNode wspn) { final WorksetIterationPlanNode iteration = wspn.getContainingIterationNode(); if (mergeIterationAuxTasks && wspn.getOutgoingChannels().size() == 1) { final Channel c = wspn.getOutgoingChannels().get(0); final PlanNode successor = c.getTarget(); merge = c.getShipStrategy() == ShipStrategyType.FORWARD && c.getLocalStrategy() == LocalStrategy.NONE && c.getTempMode() == TempMode.NONE && successor.getParallelism() == wspn.getParallelism() && !(successor instanceof NAryUnionPlanNode) && successor != iteration.getNextWorkSetPlanNode() && final TaskConfig headConfig; if (merge) { final PlanNode successor = wspn.getOutgoingChannels().get(0).getTarget(); headVertex = this.vertices.get(successor);
final WorksetIterationPlanNode iterationNode = wspn.getContainingIterationNode();