2014-11-08 3 views
0
내가 Giraph의 노동자 API 문서에서, 궁금

, 나는이 방법에 대한 설명을 참조하십시오Giraph의 작업자가 정점에서 메시지를받을 때 어떤 메커니즘을 수행합니까?

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 설명서에는 이에 대한 내용이 없습니다.

답변

1

모든 메시지는 수퍼 스텝 후에 대량으로 수신됩니다.이 메시지는 컴퓨 트 기능이 다음 수퍼 스텝에서 실행해야하는 버텍스 또는 노드를 알려줍니다. 이것은 벌크 동기 병렬 프로세스입니다. 이 프로세스에서 meesage가 전달 된 버텍스가 활성화되고 각 버텍스에서 계산 방법이 병렬로 실행됩니다. 이것은 슈퍼 스텝입니다. 이제 모든 정점이 투표 중단으로 알려진 상황에 도달 할 때까지이 프로세스가 반복됩니다.이 투표는 apache zookeeper zk 노드를 사용하거나 실행중인 프로세스를 중지하기위한 writeHaltInstrcutions (args, args) 함수를 말할 수 있습니다. storecheckpoint 함수가 필요하다는 것을 기억하십시오. 때로는 Map이 100 % 실행되고 감속기가없는 경우가 발생하기 때문입니다. 이 프로세스는 계속 실행되고 중단이 없기 때문에 도달 한 체크 포인트를 추적하는 체크 포인트 기능이 필요합니다. 이게 도움이 되길 바란다.