giraph-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Schweiger, Tom" <>
Subject RE: Setting variable value in Compute class and using it in the next superstep
Date Mon, 21 Jul 2014 21:33:41 GMT

I suggest you store this information as a property of the vertex.  If its just a flag, you
could use a BooleanWritable.  That would be the V in <I, V, E>.

From: Sardeshmukh, Vivek []
Sent: Monday, July 21, 2014 2:05 PM
Subject: Setting variable value in Compute class and using it in the next superstep

Hi, all--

In my algorithm, I need to set a flag if certain conditions hold (locally at a vertex v).
If this flag is set then execute some other block of code *only once*, and do nothing until
some other condition is hold.

My question is, can I declare a flag variable in the class where I override compute function?
I defined the flag as a public variable and setting it once the conditions are met but it
seems the value is not "carried" over to the next superstep.

I dig a little bit in this mailing list and found this

This post also suggests (along with what I described above) to have a field in the vertex
value itself. For that I need to change the vertex input format and also create my own custom
vertex class. Is it really necessary?

By the way, I am using Giraph 1.1.0 compiled against Hadoop 1.0.3. I was able to run SimpleShortestPathComputation

Here are more technical details of my algorithm: I am trying to implement Delta-stepping shortest
path algorithm ( or
). This was mentioned in Pregel paper. A vertex "relax" light edges if it belongs to the minimum
bucket index (of course, aggregators!). Once a vertex is done with relaxing light edges it
relaxes heavy edges (here is where I need a flag) once. A vertex may be "re-inserted" to a
newer bucket and may have to execute all the steps that I described here again.



A beginner in Giraph (and Java too!)

View raw message