Hi,

there is currently now way to re-active the vertices from the master. One
thing you could do is use an aggregator, instead of actually voting to
halt. For example, with a sum aggregator VERTEX_FINISHED, where vertices
add 1 when they would vote to halt, you can see from the master when all
the vertices are finished, and then switch to a new computation.


On Sat, Apr 19, 2014 at 1:36 AM, Schweiger, Tom <thschwei...@ebay.com>wrote:

>
> Hello Giraph list,
>
> I have a problem that has two steps.  Step 2 needs to start after step 1
> completes.  Step 1 is completed when all the vertices have voted to halt
> and there are no more messages.
>
> I know I can switch my computes using a MasterCompute, but it is unclear
> how I re-awaken all the vertices.
>
> Has anyone else solved a problem like this?  If so, how did you do it?  Is
> there an easier way to do this?
>
> Basically I'm thinking this:
>
> class TwoStep {
>
>   class TwoStepMaster extends DefaultMasterCompute {
>
>        public final void compute() {
>               //
>               // switch from StepOne to StepTwo  if StepOne is done
>               //
>               if (this .isHalted &&
>  this.getComputation().equals(StepOne.class);) {
>                    setComputation(StepTwo.class());
>                     // send a message to all vertices???
>                     // unhalt somehow??
>                     // suggestions anyone??
>                }
>        }
>    }
>
>    class StepOne extends BasicComputation {
>         public void compute(...) {
>                   // do step one stuff
>                  vertex.voteToHalt();
>         }
>    }
>
>    class StepTwo extends BasicComputation {
>         public void compute(...) {
>                   // do step two stuff
>                  vertex.voteTpHalt();
>         }
>      }
>
>  }
>
>
>
>
>


-- 
   Claudio Martella

Reply via email to