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

Edward J. Yoon commented on HAMA-526:
-------------------------------------

Another bottleneck is here:

{code}
  public void sendMessage(V vertexID, M msg) throws IOException {
    peer.send(getHostName(vertexID), new GraphJobMessage(vertexID, msg));
  }
{code}

When sendMessage is called, we have to collect values per vertex locally and 
create message object at once, instead of create new object everytime.

> Multi-threaded vertex processing
> --------------------------------
>
>                 Key: HAMA-526
>                 URL: https://issues.apache.org/jira/browse/HAMA-526
>             Project: Hama
>          Issue Type: Sub-task
>          Components: bsp core, graph
>            Reporter: Edward J. Yoon
>            Assignee: Edward J. Yoon
>         Attachments: patch.txt
>
>
> {code}
>   public void bsp(BSPPeer peer) throws IOException, SyncException,
>       InterruptedException {
>  
>       ...
>       while (updated && iteration < maxIteration) {
>         peer.sync();
>         ...
>         for (Map.Entry<String, LinkedList<Writable>> e : msgMap.entrySet()) {
>           if (e.getValue().size() > 0) {
>             vertices.get(e.getKey()).compute(e.getValue().iterator());
>           }
>         }
>       ...
>       }
> {code}
> Above code will run Vertex sequentially. Do you think we can run Vertex 
> processing concurrently using multi-threads?
> Then what's the advantages or disadvantages of using multi-threading?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to