incubator-giraph-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Avery Ching" <avery.ch...@gmail.com>
Subject Re: Review Request: Improve concurrency of putMsg / putMsgList
Date Tue, 24 Apr 2012 21:34:00 GMT


> On 2012-04-24 20:53:33, Avery Ching wrote:
> > http://svn.apache.org/repos/asf/incubator/giraph/trunk/src/main/java/org/apache/giraph/comm/BasicRPCCommunications.java,
lines 776-777
> > <https://reviews.apache.org/r/4852/diff/1/?file=104059#file104059line776>
> >
> >     Bo, I'm a little leery about converting the List and ArrayList to LinkedList
and ConcurrentLinkedList.  I believe that linked list's will use more memory than the array
list due to the double links (forward and backward).  Also, is ConcurrentLinkedList supposted
to outperform a synchronized ArrayList?  I haven't seen much on that.
> >     
> >     The concurrenthashmap changes look good.
> 
> Bo Wang wrote:
>     Avery, thanks for the comments. I just measured the sizes of these classes and below
are an estimation. 
>     
>     java.util.ArrayList: 149 bytes
>     java.util.LinkedList: 101 bytes
>     java.util.concurrent.ConcurrentLinkedQueue: 118 bytes
>     
>     The tool I was using is a program from the link below.
>     http://www.javapractices.com/topic/TopicAction.do?Id=83
>     
>     In terms of performance, here is a benchmark.
>     http://www.javacodegeeks.com/2010/09/java-best-practices-queue-battle-and.html
>     
>     In its test #1 (adding element), ConcurrentLinkedQueue performed slightly better
than LinkedList. In test #3 (iterator), LinkedList outperformed ConcurrentLinkedQueue. I think
the most time consuming part is add, while iteration is also heavily used but no concurrent
accesses. 
>     
>

Thanks for the response Bo.

Those numbers are for the empty data structures I'm assuming.  I was referring to the incremental
cost of adding elements (messages) to the data structures.  The performance isn't a a concern
to me (unless we call size() somewhere).


- Avery


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/4852/#review7185
-----------------------------------------------------------


On 2012-04-24 06:11:38, Bo Wang wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/4852/
> -----------------------------------------------------------
> 
> (Updated 2012-04-24 06:11:38)
> 
> 
> Review request for giraph.
> 
> 
> Summary
> -------
> 
> Use ConcurrentHashMap and ConcurrentLinkedQueue to allow concurrent assess to message
map. The concurrencyLevel of ConcurrentHashMap uses the default value. There may be some performance
gain by tuning this value.
> 
> 
> This addresses bug GIRAPH-185.
>     https://issues.apache.org/jira/browse/GIRAPH-185
> 
> 
> Diffs
> -----
> 
>   http://svn.apache.org/repos/asf/incubator/giraph/trunk/src/main/java/org/apache/giraph/comm/BasicRPCCommunications.java
1328747 
> 
> Diff: https://reviews.apache.org/r/4852/diff
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Bo
> 
>


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message