org.apache.giraph.graph.Vertex.voteToHalt()方法的使用及代码示例

x33g5p2x  于2022-02-01 转载在 其他  
字(8.5k)|赞(0)|评价(0)|浏览(173)

本文整理了Java中org.apache.giraph.graph.Vertex.voteToHalt()方法的一些代码示例,展示了Vertex.voteToHalt()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Vertex.voteToHalt()方法的具体详情如下:
包路径:org.apache.giraph.graph.Vertex
类名称:Vertex
方法名:voteToHalt

Vertex.voteToHalt介绍

[英]After this is called, the compute() code will no longer be called for this vertex unless a message is sent to it. Then the compute() code will be called once again until this function is called. The application finishes only when all vertices vote to halt.
[中]调用该顶点后,将不再为此顶点调用compute()代码,除非向其发送消息。然后将再次调用compute()代码,直到调用此函数为止。只有当所有顶点投票停止时,应用程序才会结束。

代码示例

代码示例来源:origin: org.apache.giraph/giraph-examples

  1. @Override
  2. public void compute(Vertex<I, V, E> vertex,
  3. Iterable<M> messages) throws IOException {
  4. vertex.voteToHalt();
  5. }
  6. }

代码示例来源:origin: grafos-ml/okapi

  1. @Override
  2. public void compute(Vertex<LongWritable, NullWritable, DoubleWritable> vertex,
  3. Iterable<Writable> messages) throws IOException {
  4. vertex.voteToHalt();
  5. }
  6. }

代码示例来源:origin: grafos-ml/okapi

  1. @Override
  2. public void compute(Vertex<LongWritable, NullWritable, DoubleBooleanPair> vertex,
  3. Iterable<Writable> messages) throws IOException {
  4. vertex.voteToHalt();
  5. }
  6. }

代码示例来源:origin: org.apache.giraph/giraph-examples

  1. @Override
  2. public void compute(
  3. Vertex<LongWritable, DoubleWritable, FloatWritable> vertex,
  4. Iterable<DoubleWritable> messages) throws IOException {
  5. counter++;
  6. if (getSuperstep() > 5) {
  7. vertex.voteToHalt();
  8. }
  9. }

代码示例来源:origin: grafos-ml/okapi

  1. @Override
  2. public void compute(Vertex<WritableComparable, Writable, Writable> vertex,
  3. Iterable<WritableComparable> messages) throws IOException {
  4. int count = 0;
  5. for (WritableComparable msg : messages) {
  6. // If this vertex has a neighbor with this ID, then this means it
  7. // participates in a triangle.
  8. if (vertex.getEdgeValue(msg)!=null) {
  9. count++;
  10. }
  11. }
  12. if (count>0) {
  13. vertex.setValue(new IntWritable(count));
  14. }
  15. vertex.voteToHalt();
  16. }
  17. }

代码示例来源:origin: org.apache.giraph/giraph-examples

  1. /**
  2. * Send message wrapper for the Bracha Toueg algorithm specific for ACK
  3. * messages.
  4. *
  5. * @param receiver recipient of the message
  6. * @param vertex vertex sending the message
  7. */
  8. private void sendAckMessage(long receiver, Vertex<LongWritable,
  9. BrachaTouegDeadlockVertexValue, LongWritable> vertex) {
  10. this.sendMessage(Long.valueOf(vertex.getId().get()),
  11. receiver, BrachaTouegDeadlockMessage.ACK);
  12. if (!vertex.getValue().isNotified()) {
  13. vertex.voteToHalt();
  14. }
  15. }

代码示例来源:origin: org.apache.giraph/giraph-examples

  1. @Override
  2. public void compute(Vertex<IntWritable, IntWritable, NullWritable> vertex,
  3. Iterable<IntWritable> messages) throws IOException {
  4. boolean changed = false;
  5. for (IntWritable message : messages) {
  6. if (vertex.getValue().get() < message.get()) {
  7. vertex.setValue(message);
  8. changed = true;
  9. }
  10. }
  11. if (getSuperstep() == 0 || changed) {
  12. sendMessageToAllEdges(vertex, vertex.getValue());
  13. }
  14. vertex.voteToHalt();
  15. }
  16. }

代码示例来源:origin: org.apache.giraph/giraph-examples

  1. @Override
  2. public void compute(
  3. Vertex<LongWritable, LongWritable, DoubleWritable> vertex,
  4. Iterable<DoubleWritable> messages) throws IOException {
  5. LongWritable vertexValue = vertex.getValue();
  6. vertexValue.set(vertex.getNumEdges());
  7. vertex.setValue(vertexValue);
  8. vertex.voteToHalt();
  9. }
  10. }

代码示例来源:origin: grafos-ml/okapi

  1. @Override
  2. public void compute(
  3. Vertex<LongWritable, NullWritable, DoubleWritable> vertex,
  4. Iterable<LongIdFriendsList> messages) throws IOException {
  5. for (Edge<LongWritable, DoubleWritable> e: vertex.getEdges()) {
  6. vertex.setEdgeValue(e.getTargetVertexId(), covertToDistance(e.getValue()));
  7. }
  8. vertex.voteToHalt();
  9. }
  10. }

代码示例来源:origin: grafos-ml/okapi

  1. @Override
  2. public void compute(
  3. Vertex<LongWritable, NullWritable, DoubleWritable> vertex,
  4. Iterable<LongIdBloomFilter> messages) throws IOException {
  5. for (Edge<LongWritable, DoubleWritable> e: vertex.getEdges()) {
  6. vertex.setEdgeValue(e.getTargetVertexId(), covertToDistance(e.getValue()));
  7. }
  8. vertex.voteToHalt();
  9. }
  10. }

代码示例来源:origin: org.apache.giraph/giraph-examples

  1. @Override
  2. public void compute(
  3. Vertex<LongWritable, IntWritable, FloatWritable> vertex,
  4. Iterable<DoubleWritable> messages) throws IOException {
  5. long superstep = getSuperstep();
  6. if (superstep < TESTLENGTH) {
  7. EmitterWorkerContext emitter = getWorkerContext();
  8. emitter.emit("vertexId=" + vertex.getId() +
  9. " superstep=" + superstep + "\n");
  10. } else {
  11. vertex.voteToHalt();
  12. }
  13. }
  14. }

代码示例来源:origin: grafos-ml/okapi

  1. @Override
  2. public void compute(Vertex<CfLongId, FloatMatrixWritable, FloatWritable> vertex,
  3. Iterable<FloatMatrixMessage> messages) throws IOException {
  4. FloatMatrixWritable vector =
  5. new FloatMatrixWritable(getContext().getConfiguration().getInt(
  6. VECTOR_SIZE, VECTOR_SIZE_DEFAULT));
  7. Random randGen = new Random();
  8. for (int i=0; i<vector.length; i++) {
  9. vector.put(i, 0.01f*randGen.nextFloat());
  10. }
  11. vertex.setValue(vector);
  12. for (Edge<CfLongId, FloatWritable> edge : vertex.getEdges()) {
  13. FloatMatrixMessage msg = new FloatMatrixMessage(
  14. vertex.getId(), vertex.getValue(), edge.getValue().get());
  15. sendMessage(edge.getTargetVertexId(), msg);
  16. }
  17. vertex.voteToHalt();
  18. }
  19. }

代码示例来源:origin: grafos-ml/okapi

  1. @Override
  2. public void compute(
  3. Vertex<LongWritable, DoubleWritable, DoubleWritable> vertex,
  4. Iterable<LongIdAndValueBloomFilter> messages) throws IOException {
  5. for (Edge<LongWritable, DoubleWritable> e: vertex.getEdges()) {
  6. vertex.setEdgeValue(e.getTargetVertexId(),
  7. new DoubleWritable(e.getValue().get()*(-1.0)));
  8. }
  9. vertex.voteToHalt();
  10. }
  11. }

代码示例来源:origin: grafos-ml/okapi

  1. @Override
  2. public void compute(
  3. Vertex<LongWritable, DoubleWritable, DoubleWritable> vertex,
  4. Iterable<LongIdDoubleValueFriendsList> messages) throws IOException {
  5. for (Edge<LongWritable, DoubleWritable> e: vertex.getEdges()) {
  6. vertex.setEdgeValue(e.getTargetVertexId(),
  7. new DoubleWritable(e.getValue().get()*(-1.0)));
  8. }
  9. vertex.voteToHalt();
  10. }
  11. }

代码示例来源:origin: grafos-ml/okapi

  1. @Override
  2. public void compute(
  3. Vertex<CfLongId, FloatMatrixWritable, BooleanWritable> vertex,
  4. Iterable<FloatMatrixMessage> messages) throws IOException {
  5. minItemId = Integer.parseInt(getConf().get("minItemId"));
  6. maxItemId = Integer.parseInt(getConf().get("maxItemId"));
  7. numberSamples = Integer.parseInt(getConf().get("numberSamples", "100"));
  8. k = Integer.parseInt(getConf().get("k", "5"));
  9. if (getSuperstep() == 0){
  10. sampleIrrelevantEdges(vertex);
  11. sendUserDataToItems(vertex);
  12. }else if(getSuperstep() == 1){
  13. computeScoreAndSendBack(vertex, messages);
  14. }else if(getSuperstep() == 2){
  15. computeRankingMeasure(vertex, messages);
  16. }
  17. vertex.voteToHalt();
  18. }

代码示例来源:origin: grafos-ml/okapi

  1. @Override
  2. public void compute(Vertex<WritableComparable, Writable, Writable> vertex,
  3. Iterable<Writable> messages) throws IOException {
  4. for (Edge<WritableComparable, Writable> edge: vertex.getEdges()) {
  5. if (edge.getTargetVertexId().compareTo(vertex.getId()) > 0) {
  6. sendMessage(edge.getTargetVertexId(), vertex.getId());
  7. }
  8. }
  9. vertex.voteToHalt();
  10. }
  11. }

代码示例来源:origin: grafos-ml/okapi

  1. @Override
  2. public void compute(Vertex<LongWritable, NullWritable,DoubleWritable> vertex,
  3. Iterable<Writable> messages) throws IOException {
  4. for (Edge<LongWritable, DoubleWritable> edge: vertex.getEdges()) {
  5. if (edge.getTargetVertexId().compareTo(vertex.getId()) > 0) {
  6. sendMessage(edge.getTargetVertexId(), vertex.getId());
  7. }
  8. }
  9. vertex.voteToHalt();
  10. }
  11. }

代码示例来源:origin: grafos-ml/okapi

  1. @Override
  2. public void compute(Vertex<WritableComparable, Writable, Writable> vertex,
  3. Iterable<WritableComparable> messages) throws IOException {
  4. for (WritableComparable msg : messages) {
  5. assert(msg.compareTo(vertex.getId())<0); // This can never happen
  6. for (Edge<WritableComparable, Writable> edge: vertex.getEdges()) {
  7. if (vertex.getId().compareTo(edge.getTargetVertexId()) < 0) {
  8. sendMessage(edge.getTargetVertexId(), msg);
  9. }
  10. }
  11. }
  12. vertex.voteToHalt();
  13. }
  14. }

代码示例来源:origin: grafos-ml/okapi

  1. @Override
  2. public void compute(Vertex<CfLongId, FloatMatrixWritable, FloatWritable> vertex, Iterable<FloatMatrixMessage> messages) throws IOException {
  3. vertex.setValue(new FloatMatrixWritable(FloatMatrix.rand(DIM)));
  4. if(getSuperstep() == 0){
  5. Iterable<Edge<CfLongId, FloatWritable>> edges = vertex.getEdges();
  6. sendMessage(vertex.getId(), emptyMsg); //send message to myself in order to be executed in the next super step
  7. for (Edge<CfLongId, FloatWritable> edge : edges) {
  8. sendMessage(edge.getTargetVertexId(), new FloatMatrixMessage(vertex.getId(), emptyList, edge.getValue().get()));
  9. }
  10. }
  11. vertex.voteToHalt();
  12. }

代码示例来源:origin: org.apache.giraph/giraph-core

  1. @Override
  2. public void compute(
  3. Vertex<IntWritable, FloatWritable, NullWritable> vertex,
  4. Iterable<FloatWritable> messages) throws IOException {
  5. if (getSuperstep() >= 1) {
  6. float sum = 0;
  7. for (FloatWritable message : messages) {
  8. sum += message.get();
  9. }
  10. vertex.getValue().set((0.15f / getTotalNumVertices()) + 0.85f * sum);
  11. }
  12. if (getSuperstep() < getConf().getInt(SUPERSTEP_COUNT, 0)) {
  13. sendMessageToAllEdges(vertex,
  14. new FloatWritable(vertex.getValue().get() / vertex.getNumEdges()));
  15. } else {
  16. vertex.voteToHalt();
  17. }
  18. }
  19. }

相关文章