[
https://issues.apache.org/jira/browse/HAMA-919?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Edward J. Yoon updated HAMA-919:
--------------------------------
Attachment: HAMA-919_v01.patch
Basically, Graph module needed to manage the messages (received from other
Peers) per VertexID. We insisted on using of default message queue<M>
implementation of BSP core module, and we wrote really bad code. :/
By adding custom outgoing/incoming message manager for graph module, I was able
to get rid of the overheads of sorting and grouping messages by vertexID, and
pickuping non-vertex messages e.g., aggregator values from the queue.
Everything should be rewritten based on this.
> Manage messages per Vertex
> --------------------------
>
> Key: HAMA-919
> URL: https://issues.apache.org/jira/browse/HAMA-919
> Project: Hama
> Issue Type: Improvement
> Components: graph
> Affects Versions: 0.6.4
> Reporter: Edward J. Yoon
> Assignee: Edward J. Yoon
> Priority: Blocker
> Fix For: 0.7.0
>
> Attachments: HAMA-919_v01.patch, test.patch
>
>
> As I described in mailing list, we need to manage the messages per Vertex.
> Currently, sender-side creates and sends the GraphJobMessage object per each
> message, receiver-side groups messages by Vertex. To simplify grouping
> process, we used sorting and sequential processing.
> If we manage the outgoing messages per Vertex, we don't need to use the
> sorted message queue. So we can improve the memory efficiency and the
> performance by multi-threading.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)