Giraph的工人在顶点接收消息时会做什么机制?



我很好奇,在Giraph的工人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文档中找不到任何关于这方面的信息。

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

最新更新