Package eu.stratosphere.nephele.executiongraph

Examples of eu.stratosphere.nephele.executiongraph.ExecutionGroupVertex


    final ExecutionGroupVertexIterator it = new ExecutionGroupVertexIterator(this.executionGraph, true,
      this.executionGraph.getIndexOfCurrentExecutionStage());
    while (it.hasNext()) {

      final ExecutionGroupVertex groupVertex = it.next();
      for (int i = 0; i < groupVertex.getCurrentNumberOfGroupMembers(); i++) {
        final ExecutionVertex executionVertex = groupVertex.getGroupMember(i);
        if (instanceProfilingData.getInstanceConnectionInfo().equals(
          executionVertex.getAllocatedResource().getInstance().getInstanceConnectionInfo())) {
          this.collectedInstanceProfilingData.put(instanceProfilingData.getInstanceConnectionInfo(),
            instanceProfilingData);
          return true;
View Full Code Here


    // First determine the number of allocated instances in the current stage
    final ExecutionGroupVertexIterator it = new ExecutionGroupVertexIterator(this.executionGraph, true,
      this.executionGraph.getIndexOfCurrentExecutionStage());
    while (it.hasNext()) {

      final ExecutionGroupVertex groupVertex = it.next();
      for (int i = 0; i < groupVertex.getCurrentNumberOfGroupMembers(); i++) {
        final ExecutionVertex executionVertex = groupVertex.getGroupMember(i);
        final AbstractInstance instance = executionVertex.getAllocatedResource().getInstance();
        if(!(instance instanceof DummyInstance)) {
          tempSet.add(instance);
        }
      }
View Full Code Here

  public void registerJob(final ExecutionGraph executionGraph) {

    final Iterator<ExecutionGroupVertex> it = new ExecutionGroupVertexIterator(executionGraph, true, -1);
    while (it.hasNext()) {

      final ExecutionGroupVertex groupVertex = it.next();
      final InputSplit[] inputSplits = groupVertex.getInputSplits();

      if (inputSplits == null) {
        continue;
      }

      if (inputSplits.length == 0) {
        continue;
      }

      final AbstractInvokable invokable = groupVertex.getEnvironment().getInvokable();
      if (!(invokable instanceof AbstractInputTask)) {
        LOG.error(groupVertex.getName() + " has " + inputSplits.length
          + " input splits, but is not of typt AbstractInputTask, ignoring...");
        continue;
      }

      @SuppressWarnings("unchecked")
View Full Code Here

  public void unregisterJob(final ExecutionGraph executionGraph) {

    final Iterator<ExecutionGroupVertex> it = new ExecutionGroupVertexIterator(executionGraph, true, -1);
    while (it.hasNext()) {

      final ExecutionGroupVertex groupVertex = it.next();
      final InputSplit[] inputSplits = groupVertex.getInputSplits();

      if (inputSplits == null) {
        continue;
      }

      if (inputSplits.length == 0) {
        continue;
      }

      final InputSplitAssigner assigner = this.assignerCache.remove(groupVertex);
      if (assigner == null) {
        LOG.error("Group vertex " + groupVertex.getName()
          + " is unregistered, but cannot be found in assigner cache");
        continue;
      }

      assigner.unregisterGroupVertex(groupVertex);
View Full Code Here

    if (nextInputSplit != null) {
      LOG.info("Input split " + nextInputSplit.getSplitNumber() + " for vertex " + vertex + " replayed from log");
      return nextInputSplit;
    }

    final ExecutionGroupVertex groupVertex = vertex.getGroupVertex();
    final InputSplitAssigner inputSplitAssigner = this.assignerCache.get(groupVertex);
    if (inputSplitAssigner == null) {
      final JobID jobID = groupVertex.getExecutionStage().getExecutionGraph().getJobID();
      LOG.error("Cannot find input assigner for group vertex " + groupVertex.getName() + " (job " + jobID + ")");
      return null;
    }

    nextInputSplit = inputSplitAssigner.getNextInputSplit(vertex);
    if (nextInputSplit != null) {
View Full Code Here

  void registerJob(final ExecutionGraph eg) {

    final Iterator<ExecutionGroupVertex> it = new ExecutionGroupVertexIterator(eg, true, -1);
    while (it.hasNext()) {

      final ExecutionGroupVertex groupVertex = it.next();
      final InputSplit[] inputSplits = groupVertex.getInputSplits();

      if (inputSplits == null) {
        continue;
      }

      if (inputSplits.length == 0) {
        continue;
      }

      for (int i = 0; i < groupVertex.getCurrentNumberOfGroupMembers(); ++i) {
        final ExecutionVertex vertex = groupVertex.getGroupMember(i);
        if (this.splitMap.put(vertex.getID(), new ArrayList<InputSplit>()) != null) {
          LOG.error("InputSplitTracker must keep track of two vertices with ID " + vertex.getID());
        }
      }
    }
View Full Code Here


  @Override
  public InputSplit getNextInputSplit(final ExecutionVertex vertex) {

    final ExecutionGroupVertex groupVertex = vertex.getGroupVertex();
    final LocatableInputSplitList splitStore = this.vertexMap.get(groupVertex);

    if (splitStore == null) {
      return null;
    }
View Full Code Here


  @Override
  public InputSplit getNextInputSplit(final ExecutionVertex vertex) {

    final ExecutionGroupVertex groupVertex = vertex.getGroupVertex();
    final FileInputSplitList splitStore = this.vertexMap.get(groupVertex);

    if (splitStore == null) {
      return null;
    }
View Full Code Here

        // Some tasks of the pipeline are still running
        return;
      }

      // Find another vertex in the group which is still in SCHEDULED state and get its pipeline.
      final ExecutionGroupVertex groupVertex = this.executionVertex.getGroupVertex();
      for (int i = 0; i < groupVertex.getCurrentNumberOfGroupMembers(); ++i) {
        final ExecutionVertex groupMember = groupVertex.getGroupMember(i);
        if (groupMember.compareAndUpdateExecutionState(ExecutionState.SCHEDULED, ExecutionState.ASSIGNED)) {

          final ExecutionPipeline pipelineToBeDeployed = groupMember.getExecutionPipeline();
          pipelineToBeDeployed.setAllocatedResource(this.executionVertex.getAllocatedResource());
          pipelineToBeDeployed.updateExecutionState(ExecutionState.ASSIGNED);
View Full Code Here

    final Set<ExecutionVertex> alreadyVisited = new HashSet<ExecutionVertex>();

    for (int i = 0; i < executionStage.getNumberOfStageMembers(); ++i) {

      final ExecutionGroupVertex startVertex = executionStage.getStageMember(i);
      if (!startVertex.isInputVertex()) {
        continue;
      }

      for (int j = 0; j < startVertex.getCurrentNumberOfGroupMembers(); ++j) {
        final ExecutionVertex vertex = startVertex.getGroupMember(j);
        findVerticesToBeDeployed(vertex, verticesToBeDeployed, alreadyVisited);
      }
    }

    if (!verticesToBeDeployed.isEmpty()) {
View Full Code Here

TOP

Related Classes of eu.stratosphere.nephele.executiongraph.ExecutionGroupVertex

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.