[ 
https://issues.apache.org/jira/browse/HAMA-380?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13021534#comment-13021534
 ] 

Thomas Jungblut commented on HAMA-380:
--------------------------------------

Hi,

actually I have a few things:
* You're just sending the first class of the element in messagequeue. What if a 
user is using several message classes and want to sync them? E.g. sending the 
size of an message as an integermessage and afterwards a list of vertices as a 
vertexmessage?
{noformat}
BSPMessage element = messages.get(0);
Class<? extends BSPMessage> clazz = element.getClass();
{noformat}

* Lot's of overhead with searching classes and instantiating.

I targeted it and added a class cache and structured the data a bit more to fit 
with the multiple classes.
It's ~ 20% faster than the version you've provided. 

Would be great to see a benchmark for it. I mean randbench is not meaningful at 
all, because of the random component.

> Send messages in batches to reduce RPC overhead.
> ------------------------------------------------
>
>                 Key: HAMA-380
>                 URL: https://issues.apache.org/jira/browse/HAMA-380
>             Project: Hama
>          Issue Type: Improvement
>          Components: bsp
>    Affects Versions: 0.3.0
>            Reporter: Miklos Erdelyi
>            Assignee: Miklos Erdelyi
>             Fix For: 0.3.0
>
>         Attachments: bspmsgbundle.patch, bspmsgbundle.v2.patch
>
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> When profiling graph computations running on HAMA it turned out that huge 
> amount of time is spent in RPC calls.
> To reduce this overhead I propose extending the GroomServer's API with a 
> put(BSPMessageBundle) method so that a group of messages can be transferred 
> from the caller to the callee at once. Also, the sync() operation should be 
> improved by sending messages in batches rather than one-by-one.
> Using BSPMessageBundle makes it easier to add support for compression of 
> messages later.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to