Hi Clemens, the patch is done: https://issues.apache.org/jira/browse/HAMA-579?focusedCommentId=13281116&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13281116
I am going to put that tomorrow into trunk if no big issues arise until then. Hope this is working like you'd expect it, please see my note and the little drawback I told about. Regards, Thomas 2012/5/22 Thomas Jungblut <[email protected]> > It's not a big deal to extend it for multiple aggregators. > I open a new ticket for 0.5.0 then. > Do you need the sum of each probability in every superstep? > Otherwise it may be more simple to initialize the leafs to 1.0 vertexvalue > and don't let them update in the compute logic. > Also the aggregator is observing the vertex value, would it be more > convenient if the whole vertex object is available when aggregating? > Currently it is done more implicitly. > > > 2012/5/22 SWP <[email protected]> > >> Hi, >> >> looking at the example PageRank.java (revision 1341332), it appears that: >> - within PageRankVertex.compute, we have numEdges=1 for a vertex without >> outgoing edges, because each is assigned a self-loop in line 114, >> pageJob.set("hama.graph.self.ref", "true"); >> - the corresponding "random surfer" will leave a vertex without outgoing >> edges (apart from the self-loop) with a probability of >> (1-DAMPING_FACTOR) = 0.15, assuming the default settings are used >> >> I would like to change this behaviour such that: >> - vertices never have loops >> - the random surfer leaves a vertex without outgoing edges with >> probability 1 >> >> However this implies that I will have to sum up globally the probability >> mass over all vertices without outgoing edges and redistribute it >> uniformly over the graph. This should happen in addition to the 0.15 >> restart probability. >> >> Now, aggregators seem to be the concept in Hama to support this kind of >> global communication. >> But there can only be one aggregator, and it is already in use to >> facilitate the stopping criterion. >> >> Is there a way to support more than one aggregator? Should I write a >> new aggregator class that somehow supports both tasks? And am I getting >> things right anyway? ;-) >> >> Clemens Gröpl >> >> >> -- >> >> Semantic Web Project, IT >> >> Unister GmbH >> Barfußgäßchen 11 | 04109 Leipzig >> >> Telefon: +49 (0)341 49288 4496 >> [email protected] <mailto:%[email protected]> >> www.unister.de <http://www.unister.de> >> >> Vertretungsberechtigter Geschäftsführer: Thomas Wagner >> Amtsgericht Leipzig, HRB: 19056 >> >> > > > -- > Thomas Jungblut > Berlin <[email protected]> > -- Thomas Jungblut Berlin <[email protected]>
