[
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)