【问题标题】:What mechanism that Giraph's workers do when receiving messages in vertices?Giraph 的工作人员在接收顶点消息时会采取什么机制?
【发布时间】:2014-11-08 16:52:25
【问题描述】:

我很好奇,在 Giraph 的 worker API 文档中,我看到了关于这个方法的解释:

public void storeCheckpoint()
// Both the vertices and the messages need to be checkpointed in order for them to be used. 
// This is done after all messages have been delivered, but prior to a superstep starting.

我知道他们在compute() 方法中使用他们接受的消息,但是他们什么时候收到呢?如果是在检查点流程之前,文档/代码中是否有我可以看懂的部分?

另外,Giraph 在超级步 S+1 之前使用什么机制来存储消息?他们是先将其存储在缓冲区还是磁盘中?

我在 Giraph 文档中找不到任何关于此的内容。

【问题讨论】:

    标签: java apache hadoop giraph


    【解决方案1】:

    所有消息都是在一个超级步之后批量接收的,它告诉计算函数在下一个超级步中应该在哪个顶点或节点上执行。这就是批量同步并行的过程。在此过程中,已为其传递消息的顶点变为活动状态,并且计算方法在每个顶点上并行执行。这是超级步骤。现在这个过程重复,直到所有顶点都达到称为停止投票的情况,这个停止投票使用 apache zookeeper zk 节点或者你可以说一个函数 writeHaltInstrcutions(args,args) 来停止正在运行的进程。请记住,您需要 storecheckpoint 函数,因为有时会发生在 Map 100% 执行之后并且没有 reducer 的情况。该过程只是继续运行并且没有停止,因此对于这些情况,您需要一个检查点功能来跟踪您已达到的检查点。我希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2020-04-20
      • 2020-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-28
      相关资源
      最近更新 更多