[
https://issues.apache.org/jira/browse/HAMA-490?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13461199#comment-13461199
]
Apurv Verma commented on HAMA-490:
----------------------------------
I am gonna place an AsyncMessageService inside AbstractMessageManager, this
will maintain a fixed pool of threads for sending. For now since we don't have
a spilling queue implementation, I am going to create an extra C.H.M.
This thread pool will poll from the CHM and send the messages in small batches.
So for any new message to be sent,
Case 1: IT goes in the CHM if the CHM is not heavily populated. From where it
will be picked up by the executor service.
Case 2: If the CHM was already populated, we write the message where the
message was being written earlier. i.e in the DiskQueue / MemoryQueue / future
queue implementations
At the end just before leaving the barrier, we shutdown this async service to
ensure all pending tasks have been completed.
In future when a Spilling Disk Queue would be available, then we can do away
with the CHM completely ;)
Any problems in my design, otherwise I am gonna code it up.
> Support asynchronous messaging
> ------------------------------
>
> Key: HAMA-490
> URL: https://issues.apache.org/jira/browse/HAMA-490
> Project: Hama
> Issue Type: New Feature
> Reporter: Thomas Jungblut
>
> We should support asynchronous messaging.
> A new messaging service should send messages during computation time in
> another thread to save the time during the barrier sync.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira