Le 29 mars 2013 à 15:04, Maja Kabiljo <majakabi...@fb.com> a écrit :

> 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.

Thank you very much for that doc. For some reason I didn't found it previously.
The implementation is indeed straight forward. I'll need now to test it.

cheers,
Nicolas

> 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