I figured it out. All I did was Implement an aggregator that summed all of the values sent to it. I had every superstep that was active send value to 1 to it. So every superstep, i can find the number of active vertices that are present in the last superstep. If the number of active vertices are zero, the program has halted and then I can change the Computation Class on the Master knowing that the previous computation class finished.
On Mon, Nov 4, 2013 at 1:57 PM, Ameya Vilankar <[email protected]>wrote: > Hi, > I want to check on the Master(i.e. in the MasterCompute Class) whether all > the vertices have voted to halt and the program has terminated. > > For e.g. Suppose that I am running Connected Components. I want to run an > aggregator when the algorithm has terminated that will count the number of > components and the number of vertices in each component. I have written a > separate Computation Class that does this. I have also written an > Aggregator and An aggregator writer for writing the aggregated results to > file. > > How do I check if the algorithm terminated so that I can change the > computation class to the new one? Can i use the isHalted() method in > MasterCompute, or does it work only when haltComputation() is called? > > Please help me out. > Thanks, > Ameya >
