Oh sorry, I didn't know that discussion. The problem I see is that in
every implementation, a user might run into this issue, and I don't
think its ideal to force users to always run a round of sending empty
messages at the beginning.

Maybe the system should (somehow) automagically do that for the users?
Really seems to be an awkward situation though...

--sebastian



On 29.05.2012 15:03, Claudio Martella wrote:
> About the mapreduce job to prepare the inputset, I did advocate for
> this solution instead of supporting automatic creation of non-existent
> vertices implicitly (which I believe adds a logical path in vertex
> resolution which has some drawbacks e.g you have to check in the
> hashmap for the existence of the destination vertex for each message,
> which is "fine" now that it's a hashmap, but it's going to be less
> fine when/if we turn to TreeMap for out-of-core).
> 
> Unfortunately the other committers preferred going for the path that
> helps userland's life, so I guess this solution is not to be
> considered here either.
> 
> On Tue, May 29, 2012 at 1:48 PM, Sebastian Schelter <s...@apache.org> wrote:
>> On 29.05.2012 13:13, Paolo Castagna wrote:
>>> Hi Sebastian
>>>
>>> Sebastian Schelter wrote:
>>>> Why do you only recompute the pageRank in each second superstep? Can we
>>>> not use the aggregated value of the dangling nodes from the last superstep?
>>>
>>> I removed the computing of PageRank values every each second superstep.
>>> However, I needed to use a couple of aggregators for the dangling nodes
>>> contribution instead of just one: "dangling-current" and 
>>> "dangling-previous".
>>>
>>> Each superstep, I need to reset the dangling-current aggregator, at the
>>> same time, I need to know the value of the aggregator at a previous
>>> superstep.
>>
>> You can save the value from the previous step in a static variable in
>> the WorkerContext before resetting the aggregator.
>>
>>>
>>> I hope it makes sense, let me know if you have a better idea.
>>>
>>>> Overall I think we're on a good way to a robust, real-world PageRank
>>>> implementation, I managed to implement the convergence check with an
>>>> aggregator, will post an updated patch soon.
>>>
>>> I think I've just done it, have a look [1] and let me know if you would have
>>> done it differently.
>>>
>>> Paolo
>>>
>>>  [1]
>>> https://github.com/castagna/jena-grande/blob/11f07dd897562f7a4bf8d6e4845128d7f2cdd2ff/src/main/java/org/apache/jena/grande/giraph/pagerank/PageRankVertex.java#L90
>>>
>>>
>>
> 
> 
> 

Reply via email to