Exemple #1
0
  @Override
  public void remove() throws IOException {
    MapWritable msg = new MapWritable();
    msg.put(GraphJobRunner.FLAG_VERTEX_DECREASE, this.vertexID);

    // Get master task peer.
    String destPeer = GraphJobRunner.getMasterTask(this.getPeer());
    runner.getPeer().send(destPeer, new GraphJobMessage(msg));

    alterVertexCounter(-1);
  }
Exemple #2
0
  @Override
  public void addVertex(V vertexID, List<Edge<V, E>> edges, M value) throws IOException {
    MapWritable msg = new MapWritable();
    // Create the new vertex.
    Vertex<V, E, M> vertex = GraphJobRunner.<V, E, M>newVertexInstance(GraphJobRunner.VERTEX_CLASS);
    vertex.setEdges(edges);
    vertex.setValue(value);
    vertex.setVertexID(vertexID);

    msg.put(GraphJobRunner.FLAG_VERTEX_INCREASE, vertex);
    runner.getPeer().send(runner.getHostName(vertexID), new GraphJobMessage(msg));

    alterVertexCounter(1);
  }
Exemple #3
0
  @Override
  public void readFields(DataInput in) throws IOException {
    if (in.readBoolean()) {
      if (this.vertexID == null) {
        this.vertexID = GraphJobRunner.createVertexIDObject();
      }
      this.vertexID.readFields(in);
    }
    if (in.readBoolean()) {
      if (this.value == null) {
        this.value = GraphJobRunner.createVertexValue();
      }
      this.value.readFields(in);
    }

    this.lastComputedSuperstep = in.readLong();

    this.edges = new ArrayList<Edge<V, E>>();
    if (in.readBoolean()) {
      int num = in.readInt();
      if (num > 0) {
        for (int i = 0; i < num; ++i) {
          V vertex = GraphJobRunner.createVertexIDObject();
          vertex.readFields(in);
          E edgeCost = null;
          if (in.readBoolean()) {
            edgeCost = GraphJobRunner.createEdgeCostObject();
            edgeCost.readFields(in);
          }
          Edge<V, E> edge = new Edge<V, E>(vertex, edgeCost);
          this.edges.add(edge);
        }
      }
    }
    votedToHalt = in.readBoolean();
    readState(in);
  }
Exemple #4
0
 @Override
 public void sendMessageToNeighbors(M msg) throws IOException {
   runner.sendMessage(this.getEdges(), msg);
 }
Exemple #5
0
 @Override
 public void sendMessage(V destinationVertexID, M msg) throws IOException {
   runner.sendMessage(destinationVertexID, msg);
 }
Exemple #6
0
 @Override
 public void sendMessage(Edge<V, E> e, M msg) throws IOException {
   runner.sendMessage(e.getDestinationVertexID(), msg);
 }
Exemple #7
0
 public HamaConfiguration getConf() {
   return runner.getPeer().getConfiguration();
 }
Exemple #8
0
 @Override
 public Counter getCounter(String group, String name) {
   return runner.getPeer().getCounter(group, name);
 }
Exemple #9
0
 @Override
 public Counter getCounter(Enum<?> name) {
   return runner.getPeer().getCounter(name);
 }
Exemple #10
0
 /**
  * Get the number of aggregated vertices in the last superstep. Or null if no aggregator is
  * available.You have to supply an index, the index is defined by the order you set the aggregator
  * classes in {@link GraphJob#setAggregatorClass(Class...)}. Index is starting at zero, so if you
  * have a single aggregator you can retrieve it via {@link #getNumLastAggregatedVertices}(0).
  */
 public IntWritable getNumLastAggregatedVertices(int index) {
   return runner.getNumLastAggregatedVertices(index);
 }
Exemple #11
0
 /**
  * Get the last aggregated value of the defined aggregator, null if nothing was configured or not
  * returned a result. You have to supply an index, the index is defined by the order you set the
  * aggregator classes in {@link GraphJob#setAggregatorClass(Class...)}. Index is starting at zero,
  * so if you have a single aggregator you can retrieve it via {@link
  * GraphJobRunner#getLastAggregatedValue}(0).
  */
 @SuppressWarnings("unchecked")
 @Override
 public M getAggregatedValue(int index) {
   return (M) runner.getLastAggregatedValue(index);
 }
Exemple #12
0
 @Override
 public long getTotalNumVertices() {
   return runner.getNumberVertices();
 }
Exemple #13
0
 /** Gives access to the BSP primitives and additional features by a peer. */
 public BSPPeer<Writable, Writable, Writable, Writable, GraphJobMessage> getPeer() {
   return runner.getPeer();
 }
Exemple #14
0
 public int getNumPeers() {
   return runner.getPeer().getNumPeers();
 }
Exemple #15
0
 public int getMaxIteration() {
   return runner.getMaxIteration();
 }
Exemple #16
0
 @Override
 public long getSuperstepCount() {
   return runner.getNumberIterations();
 }