Edward J. Yoon created HAMA-897: ----------------------------------- Summary: 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 Fix For: 0.7.0
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.2#6252)