[
https://issues.apache.org/jira/browse/HAMA-588?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13294829#comment-13294829
]
Apurv Verma commented on HAMA-588:
----------------------------------
@Edward,
Can you please explain this to me. This has been troubling me since yesterday.
I have not understood the patch completely. When from a user program voteToHalt
is called, the boolean votedToHalt variable is set true. Now the instance of
the vertex class may be on some separate node and the update will be local. It
will need to be propagated back to the master.
The master can't simply check vertex.isHalted() because values returned by it
will be stale values. Am I missing something.
Also you need to put an additional condition in the main while loop.
> Add voteToHalt() mechanism in Graph API
> ---------------------------------------
>
> Key: HAMA-588
> URL: https://issues.apache.org/jira/browse/HAMA-588
> Project: Hama
> Issue Type: Improvement
> Components: graph
> Affects Versions: 0.5.0
> Reporter: Apurv Verma
> Assignee: Edward J. Yoon
> Fix For: 0.5.0
>
> Attachments: patch.txt
>
>
> Currently Graph API is such that when a vertex doesn't receive any messages,
> compute() is not called upon it.
> One way to change it is let the user decide when the algorithm has to stop.
> For this we need to add a voteToHalt() function with each vertex.
> And maintain a state variable with each vertex. A vertex which has
> votedToHalt() doesn't send messages in the next superstep. However if it
> receives any message, its voteToHalt() ends and it is again eligible to send
> messages.
> When all vertices have votedToHalt() algorithm should end.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira