You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hama.apache.org by "Edward J. Yoon (JIRA)" <ji...@apache.org> on 2015/03/24 02:19:53 UTC

[jira] [Updated] (HAMA-897) Performance improvement of graph processing using background threads

     [ https://issues.apache.org/jira/browse/HAMA-897?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Edward J. Yoon updated HAMA-897:
--------------------------------
    Fix Version/s:     (was: 0.7.0)

> Performance improvement of graph processing using background threads
> --------------------------------------------------------------------
>
>                 Key: HAMA-897
>                 URL: https://issues.apache.org/jira/browse/HAMA-897
>             Project: Hama
>          Issue Type: Improvement
>          Components: graph
>    Affects Versions: 0.6.4
>            Reporter: Edward J. Yoon
>
> Each GraphJobRunner (BSPTask) calls vertex.compute() method sequentially in a while loop:
> {code}
>     while (iterator.hasNext(
>         currentMessage == null ? null : (V) currentMessage.getVertexId(),
>         Strategy.ALL)) {
>       vertex = iterator.next();
>       if (currentMessage != null) {
>         iterable = iterate(currentMessage, (V) currentMessage.getVertexId(),
>             vertex, peer);
>       }
>       if (iterable != null && vertex.isHalted()) {
>         vertex.setActive();
>       }
>       if (!vertex.isHalted()) {
>         if (iterable == null) {
>           vertex.compute(Collections.<M> emptyList());
>         } else {
>           vertex.compute(iterable);
>           currentMessage = iterable.getOverflowMessage();
>         }
>         activeVertices++;
>       }
>       // note that we even need to rewrite the vertex if it is halted for
>       // consistency reasons
>       vertices.finishVertexComputation(vertex);
>     }
> {code}
> I might be wrong but I'm sure we can improve the performance using the background threads.



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