Hi Nicolas,

You are right, using aggregators and master compute is the way to go.
Please take a look at
https://cwiki.apache.org/confluence/display/GIRAPH/Aggregators
to learn more about aggregators. From the MasterCompute.compute() you will
be calling haltComputation() when you decided it's time to do so.
Please let me know if you have any questions.

Maja

On 3/29/13 3:16 AM, "Nicolas Lalevée" <nicolas.lale...@hibnet.org> wrote:

>Hi,
>
>In my use case (implementation of affinity propagation) I want to halt
>the computation if at least of minimum of vertex has voted to halt. As
>far as I understand the default is to halt if all vertex has voted to
>halt and no messages are sent between vertices. But in my use case, even
>if a vertex has voted to halt, it must sent and receive message in case
>there is a next superstep. And with some of my data, some vertex makes a
>lot of superstep to converge and vote to halt. Which I don't care much if
>there are a little percentage of theses.
>
>My current implementation create a fake "master" vertex which is
>gathering the convergence of all vertices via messages. And once that
>master decide it is time to halt the computation, it sends a message to
>all vertices so they all halt.
>
>But I have seen some thread here about some master compute, I have seen
>some code about aggregators, so I guess there is some smarter way of
>implementing this ?
>
>Nicolas
>

Reply via email to