Oh,I know.If all vertices became inactive in superstep n,the program would exit 
superstep and didn't go to superstep n+1,even though some vertices send 
messages to others in superstep n.
But in my opinion,if there were messages from vertex A to vertex B,even though 
vertex A and B were both inactive,the program should do the next superstep.
Just express the personal view. 
Thanks.


------------------ Original ------------------
Sender: "??????"<[email protected]>;
Send time: Tuesday, Jan 21, 2014 11:12 PM
To: "user"<[email protected]>; 

Subject: Vertices didn't become active when it received messages



Hello,
I have a question,Should a vertex become active when it receive some 
messages,even though it was inactive before receiving message?
Now,my program got a problem.In detail,some vertices became inactive in 
Superstep n.And they would receive messages in Superstep n+m.In my 
opinion,these vertices which received messages should became 
active.However,they are not.If these vertices didn't become inactive in 
Superstep n,the program would run util it reach MaxIteration.
What should I do?What's more,I am debuging at local model of Hama 0.6.2.And 
when I running on distributed mode of Hama 0.6.3,the same problem appeared.
Some code of my program are as follows:
                         if (getSuperstepCount() >= 3) {
                                if (!match || (!messages.iterator().hasNext())) 
{
                                        voteToHalt();
                                        return;
                                }
                                for (TriTextPair msg : messages) {
                                        matchSet.remove(msg);
                                }
                                boolean flag = judge(judgeList, matchSet);
                                if (flag) {
                                        outputRightValue();
                                } else {
                                        sendMessageToNeighbors(new 
TriTextPair(getVertexID(),
                                                        getLabel(), new 
Text("frP")));
                                        voteToHalt();
                                }

                         }
Are there any errors in my program?I need help.Thanks.

Reply via email to