[ 
https://issues.apache.org/jira/browse/HAMA-767?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13701667#comment-13701667
 ] 

Anastasis Andronidis commented on HAMA-767:
-------------------------------------------


I'm sorry for the late response.

A colleague of mine and me, we are working on a paper that uses BSP to 
calculate clusters (http://cs.gsu.edu/~myan2/communitydetection/16.pdf). We 
would really like this code to serve as an example. Also this is going to use 
add and remove vertex functions to dynamically analyze streaming data. The link 
is here: 
(https://github.com/csdashes/HamaGraph/tree/master/CommunityDetection/src/communitydetection).
 It is still under heavy development.

For:
1) Ok

2) I was thinking that returning the value after calling remove, would be more 
convenient to the user. But this comes with some problems like how am I going 
to distinct the returning value message from the regular returned ones. 
Creating a special type of message to declare such information would be wrong 
in my opinion because I don't want to force the user checking for specific type 
of messages in every superstep.

3) When the user asks for a vertex to be removed, a special message is created 
and is submitted, to the peer that owns the vertex, during the peer sync. The 
target peer is processing this message before compute method of its vertices. 
This means that if we want to return an exception to the vertex that called the 
remove, we have to send back a message with the exception on the next peer 
sync! 

Considering (2) and (3) I believe that a right approach would be a vertex 
should be able to remove its own instance and not any other. Or introduce an 
internal superstep, that will take place between every user superstep, that its 
role would be to handle internal stuff like the situations above.

I updated the patches to correspond to the approach of self remove vertexes. I 
also made some updates to increase or decrease INPUT_VERTICES counter.
                
> [GSoC 2013] Vertex addition and removal
> ---------------------------------------
>
>                 Key: HAMA-767
>                 URL: https://issues.apache.org/jira/browse/HAMA-767
>             Project: Hama
>          Issue Type: New Feature
>          Components: examples, graph
>    Affects Versions: 0.6.1
>            Reporter: Anastasis Andronidis
>            Assignee: Anastasis Andronidis
>              Labels: dynamic, graph, gsoc, gsoc2013, mentoring
>             Fix For: 0.6.3
>
>         Attachments: HAMA-767-addAndRemove-v1.patch, 
> HAMA-767-addition-v1.patch, HAMA-767-examplesAndTests-v1.patch, 
> HAMA-767-v2.patch
>
>
> Implement addVertex and removeVertex methods for incremental graph support on 
> Graph API.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to