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)