[jira] [Commented] (GIRAPH-37) Implement Netty-backed rpc solution

2012-05-06 Thread Bo Wang (JIRA)

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

Bo Wang commented on GIRAPH-37:
---

This is really good news. RPC doesn't seems very scalable. Look forward to the 
Netty implementation.

> Implement Netty-backed rpc solution
> ---
>
> Key: GIRAPH-37
> URL: https://issues.apache.org/jira/browse/GIRAPH-37
> Project: Giraph
>  Issue Type: New Feature
>Reporter: Jakob Homan
>Assignee: Jakob Homan
> Attachments: GIRAPH-37-wip.patch
>
>
> GIRAPH-12 considered replacing the current Hadoop based rpc method with 
> Netty, but didn't went in another direction. I think there is still value in 
> this approach, and will also look at Finagle.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (GIRAPH-185) Improve concurrency of putMsg / putMsgList

2012-05-05 Thread Bo Wang (JIRA)

 [ 
https://issues.apache.org/jira/browse/GIRAPH-185?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Bo Wang updated GIRAPH-185:
---

Attachment: (was: GIRAPH-185.patch)

> Improve concurrency of putMsg / putMsgList
> --
>
> Key: GIRAPH-185
> URL: https://issues.apache.org/jira/browse/GIRAPH-185
> Project: Giraph
>  Issue Type: Improvement
>  Components: graph
>Affects Versions: 0.2.0
>Reporter: Bo Wang
>Assignee: Bo Wang
> Fix For: 0.2.0
>
> Attachments: GIRAPH-185.patch, GIRAPH-185.patch, GIRAPH-185.patch
>
>   Original Estimate: 2h
>  Remaining Estimate: 2h
>
> Currently in putMsg / putMsgList, a synchronized closure is used to protect 
> the whole transientInMessages when adding the new message. This lock prevents 
> other concurrent calls to putMsg/putMsgList and increases the response time. 
> We should use fine-grain locks to allow high concurrency in message 
> communication.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (GIRAPH-185) Improve concurrency of putMsg / putMsgList

2012-05-05 Thread Bo Wang (JIRA)

 [ 
https://issues.apache.org/jira/browse/GIRAPH-185?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Bo Wang updated GIRAPH-185:
---

Attachment: GIRAPH-185.patch

Sorry for replying late. I've been pretty busy last week with midterms and 
deadlines. I did a few tests on a 24-core 32GB DRAM machine.

Quite astonishing, the performance of the new version (ConcurrentHashMap + 
ConcurrentLinkedQueue) is kind of slower than the original version. I ran the 
PageRankBenchmark with "-e 100 -s 10 -V 1". Results are as following.

(original)
#cores  superstep.exec.time
12  11580
 8  10651
 4  12944
 2  19334
 1  20782

(ConcurrentHashMap + ConcurrentLinkedQueue)
#cores  superstep.exec.time
12  11639
 8  11527
 4  13653
 2  20354
 1  27825

I think the overhead came from the lock/unlock on the get(), especially when 
reading messages sent in the previous stage where no lock is needed since it's 
sequential.

To verify my assumption, I changed the ConcurrentLinkedQueue back to ArrayList 
and wrap it with synchronized, then the performance does improve.

(ConcurrentHashMap)
#cores  superstep.exec.time
12  11380
 8  11618
 4  12834
 2  18417
 1  22952

In comparison, it's more or less the same as the original version. Then I ran 
with another set of parameters "-e 1000 -s 10 -V 1000". It seems the fine grain 
lock does help.

(original)
#cores  superstep.exec.time
12  97101
 6  11321

(ConcurrentHashMap)
#cores  superstep.exec.time
12  92848 (4.4%)
 6  10834 (4.3%)

I attached the new patch (ConcurrentHashMap version) for the review.

Claudio, thanks for offering to help. You may checkout a clean version and 
apply the patch ($ patch -p0 -i GIRAPH-185.patch) to test it on the cluster.



> Improve concurrency of putMsg / putMsgList
> --
>
> Key: GIRAPH-185
> URL: https://issues.apache.org/jira/browse/GIRAPH-185
> Project: Giraph
>  Issue Type: Improvement
>  Components: graph
>Affects Versions: 0.2.0
>Reporter: Bo Wang
>Assignee: Bo Wang
> Fix For: 0.2.0
>
> Attachments: GIRAPH-185.patch, GIRAPH-185.patch, GIRAPH-185.patch, 
> GIRAPH-185.patch
>
>   Original Estimate: 2h
>  Remaining Estimate: 2h
>
> Currently in putMsg / putMsgList, a synchronized closure is used to protect 
> the whole transientInMessages when adding the new message. This lock prevents 
> other concurrent calls to putMsg/putMsgList and increases the response time. 
> We should use fine-grain locks to allow high concurrency in message 
> communication.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (GIRAPH-185) Improve concurrency of putMsg / putMsgList

2012-05-05 Thread Bo Wang (JIRA)

 [ 
https://issues.apache.org/jira/browse/GIRAPH-185?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Bo Wang updated GIRAPH-185:
---

Attachment: GIRAPH-185.patch

> Improve concurrency of putMsg / putMsgList
> --
>
> Key: GIRAPH-185
> URL: https://issues.apache.org/jira/browse/GIRAPH-185
> Project: Giraph
>  Issue Type: Improvement
>  Components: graph
>Affects Versions: 0.2.0
>Reporter: Bo Wang
>Assignee: Bo Wang
> Fix For: 0.2.0
>
> Attachments: GIRAPH-185.patch, GIRAPH-185.patch, GIRAPH-185.patch, 
> GIRAPH-185.patch
>
>   Original Estimate: 2h
>  Remaining Estimate: 2h
>
> Currently in putMsg / putMsgList, a synchronized closure is used to protect 
> the whole transientInMessages when adding the new message. This lock prevents 
> other concurrent calls to putMsg/putMsgList and increases the response time. 
> We should use fine-grain locks to allow high concurrency in message 
> communication.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (GIRAPH-185) Improve concurrency of putMsg / putMsgList

2012-04-26 Thread Bo Wang (JIRA)

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

Bo Wang commented on GIRAPH-185:


I did a small test (2 machines, each with 2 cores) and the performance
change is relatively small. I am now scheduling a time to run it on a
larger environment so that there are more conflicts. There are always too
many concurrent jobs on the cluster and I need to wait for a time slot.
Sorry for having your waiting.




> Improve concurrency of putMsg / putMsgList
> --
>
> Key: GIRAPH-185
> URL: https://issues.apache.org/jira/browse/GIRAPH-185
> Project: Giraph
>  Issue Type: Improvement
>  Components: graph
>Affects Versions: 0.2.0
>Reporter: Bo Wang
>Assignee: Bo Wang
> Fix For: 0.2.0
>
> Attachments: GIRAPH-185.patch, GIRAPH-185.patch
>
>   Original Estimate: 2h
>  Remaining Estimate: 2h
>
> Currently in putMsg / putMsgList, a synchronized closure is used to protect 
> the whole transientInMessages when adding the new message. This lock prevents 
> other concurrent calls to putMsg/putMsgList and increases the response time. 
> We should use fine-grain locks to allow high concurrency in message 
> communication.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (GIRAPH-185) Improve concurrency of putMsg / putMsgList

2012-04-25 Thread Bo Wang (JIRA)

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

Bo Wang commented on GIRAPH-185:


I checked the source and found the same thing. I think LinkedList should be ok 
in terms of space. ArrayList also has to keep empty space in the array to 
future insertion. Should we close this issue?

> Improve concurrency of putMsg / putMsgList
> --
>
> Key: GIRAPH-185
> URL: https://issues.apache.org/jira/browse/GIRAPH-185
> Project: Giraph
>  Issue Type: Improvement
>  Components: graph
>Affects Versions: 0.2.0
>Reporter: Bo Wang
>Assignee: Bo Wang
> Fix For: 0.2.0
>
> Attachments: GIRAPH-185.patch, GIRAPH-185.patch
>
>   Original Estimate: 2h
>  Remaining Estimate: 2h
>
> Currently in putMsg / putMsgList, a synchronized closure is used to protect 
> the whole transientInMessages when adding the new message. This lock prevents 
> other concurrent calls to putMsg/putMsgList and increases the response time. 
> We should use fine-grain locks to allow high concurrency in message 
> communication.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




Re: Review Request: Improve concurrency of putMsg / putMsgList

2012-04-24 Thread Bo Wang


> 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.

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. 


- Bo


---
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
> 
>



[jira] [Created] (GIRAPH-188) Merge inMessages and vertex message list

2012-04-24 Thread Bo Wang (JIRA)
Bo Wang created GIRAPH-188:
--

 Summary: Merge inMessages and vertex message list
 Key: GIRAPH-188
 URL: https://issues.apache.org/jira/browse/GIRAPH-188
 Project: Giraph
  Issue Type: Improvement
  Components: graph
Affects Versions: 0.2.0
Reporter: Bo Wang
Assignee: Bo Wang
 Fix For: 0.2.0


Currently received messages will firstly be stored in transientInMessages and 
then merged and moved to inMessages before finally copied to vertex message 
list. The copy from inMessages to vertex message list can be avoided to save 
time and space.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (GIRAPH-185) Improve concurrency of putMsg / putMsgList

2012-04-24 Thread Bo Wang (JIRA)

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

Bo Wang commented on GIRAPH-185:


Thanks for looking at this, Claudio. I may do some perf tests and post the 
results. I also found inMessages and vertex message list can be merged to save 
memory and time. I will create a Jira and work on it.

> Improve concurrency of putMsg / putMsgList
> --
>
> Key: GIRAPH-185
> URL: https://issues.apache.org/jira/browse/GIRAPH-185
> Project: Giraph
>  Issue Type: Improvement
>  Components: graph
>Affects Versions: 0.2.0
>Reporter: Bo Wang
>Assignee: Bo Wang
> Fix For: 0.2.0
>
> Attachments: GIRAPH-185.patch, GIRAPH-185.patch
>
>   Original Estimate: 2h
>  Remaining Estimate: 2h
>
> Currently in putMsg / putMsgList, a synchronized closure is used to protect 
> the whole transientInMessages when adding the new message. This lock prevents 
> other concurrent calls to putMsg/putMsgList and increases the response time. 
> We should use fine-grain locks to allow high concurrency in message 
> communication.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




Review Request: Improve concurrency of putMsg / putMsgList

2012-04-23 Thread Bo Wang

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

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



[jira] [Updated] (GIRAPH-185) Improve concurrency of putMsg / putMsgList

2012-04-23 Thread Bo Wang (JIRA)

 [ 
https://issues.apache.org/jira/browse/GIRAPH-185?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Bo Wang updated GIRAPH-185:
---

Attachment: GIRAPH-185.patch

Thanks for keeping up in the communication, Avery. I used putIfAbsent in the 
new version (thanks Claudio for the suggestion). Here comes the new patch.

> Improve concurrency of putMsg / putMsgList
> --
>
> Key: GIRAPH-185
> URL: https://issues.apache.org/jira/browse/GIRAPH-185
> Project: Giraph
>  Issue Type: Improvement
>  Components: graph
>Affects Versions: 0.2.0
>Reporter: Bo Wang
>Assignee: Bo Wang
> Fix For: 0.2.0
>
> Attachments: GIRAPH-185.patch, GIRAPH-185.patch
>
>   Original Estimate: 2h
>  Remaining Estimate: 2h
>
> Currently in putMsg / putMsgList, a synchronized closure is used to protect 
> the whole transientInMessages when adding the new message. This lock prevents 
> other concurrent calls to putMsg/putMsgList and increases the response time. 
> We should use fine-grain locks to allow high concurrency in message 
> communication.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




Re: [jira] [Commented] (GIRAPH-185) Improve concurrency of putMsg / putMsgList

2012-04-23 Thread Bo Wang
Thanks for the opinion, Avery.

Yep, the space for ConcurrenHashMap is not a concern. I estimate the space
overhead for those empty entries is not too large though. An empty entry is
around 69 bytes, just the size of a couple of messages. Statistically
speaking, most vertices will receive one or more messages, for example, in
PageRank. Actually, each Vertex object also has an internal messageList
structure of the same size, whether it receives a message or not. With
pre-population the time for entry creation and insertion can be saved as
well as the time spent on garbage collection.

Do you think it's worth the trade-off? If not, I am pretty open to using
ConcurrentHashMap.

Thanks,
Bo

On Mon, Apr 23, 2012 at 12:08 PM, Avery Ching (JIRA) wrote:

>
>[
> https://issues.apache.org/jira/browse/GIRAPH-185?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13259841#comment-13259841]
>
> Avery Ching commented on GIRAPH-185:
> 
>
> Since we only allocate one ConcurrentHashMap per worker, the empty
> overhead isn't a concern.  If however, the per element memory cost of a
> entry into the concurrent hash map is much more expensive then I would
> definitely be worried.  We can also tune the concurrency level (default 16)
> to a reasonable tradeoff.
>
> > Improve concurrency of putMsg / putMsgList
> > --
> >
> > Key: GIRAPH-185
> > URL: https://issues.apache.org/jira/browse/GIRAPH-185
> > Project: Giraph
> >  Issue Type: Improvement
> >  Components: graph
> >Affects Versions: 0.2.0
> >Reporter: Bo Wang
> >Assignee: Bo Wang
> > Fix For: 0.2.0
> >
> > Attachments: GIRAPH-185.patch
> >
> >   Original Estimate: 2h
> >  Remaining Estimate: 2h
> >
> > Currently in putMsg / putMsgList, a synchronized closure is used to
> protect the whole transientInMessages when adding the new message. This
> lock prevents other concurrent calls to putMsg/putMsgList and increases the
> response time. We should use fine-grain locks to allow high concurrency in
> message communication.
>
> --
> This message is automatically generated by JIRA.
> If you think it was sent incorrectly, please contact your JIRA
> administrators:
> https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
> For more information on JIRA, see: http://www.atlassian.com/software/jira
>
>
>


[jira] [Commented] (GIRAPH-185) Improve concurrency of putMsg / putMsgList

2012-04-23 Thread Bo Wang (JIRA)

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

Bo Wang commented on GIRAPH-185:


Thanks for the comments, Avery and Claudio.

I am measuring the performance, but I found the #Sent messages (reported by
counter) is always zero in both the original and changed version. Is that a
bug? In the output of Quick Start Guide, it is also zero.

I think ConcurrentHashMap is a good way to go. But for the current
approach, I think the memory overhead won't be much since most of the
vertices will receive messages except for those isolated ones and the one
whose neighbors are all inactive. In comparison, ConcurrentHashMap is much
larger than HashMap. An empty ConcurrentHashMap takes around 1673 bytes
while an empty HashMap only takes 137 bytes.

Another reason to use pre-population is to avoid the time spent on
allocating new message lists and inserting them into the map. We just need
to clear the list before the next super-step.

What's your opinion?

Thanks,
Bo




> Improve concurrency of putMsg / putMsgList
> --
>
> Key: GIRAPH-185
> URL: https://issues.apache.org/jira/browse/GIRAPH-185
> Project: Giraph
>  Issue Type: Improvement
>  Components: graph
>Affects Versions: 0.2.0
>    Reporter: Bo Wang
>Assignee: Bo Wang
> Fix For: 0.2.0
>
> Attachments: GIRAPH-185.patch
>
>   Original Estimate: 2h
>  Remaining Estimate: 2h
>
> Currently in putMsg / putMsgList, a synchronized closure is used to protect 
> the whole transientInMessages when adding the new message. This lock prevents 
> other concurrent calls to putMsg/putMsgList and increases the response time. 
> We should use fine-grain locks to allow high concurrency in message 
> communication.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




Review Request: Change coarse-grain lock to fine-grain lock by pre-populating the message map so that each entry for a vertex can be locked individually and the hazard condition is also avoided.

2012-04-22 Thread Bo Wang

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

Review request for giraph.


Summary
---

Improve concurrency of putMsg / putMsgList.


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 
  
http://svn.apache.org/repos/asf/incubator/giraph/trunk/src/main/java/org/apache/giraph/comm/WorkerCommunications.java
 1328747 
  
http://svn.apache.org/repos/asf/incubator/giraph/trunk/src/main/java/org/apache/giraph/graph/BspServiceWorker.java
 1328747 

Diff: https://reviews.apache.org/r/4840/diff


Testing
---

All test passed. Wait for review. Thanks.


Thanks,

Bo



[jira] [Updated] (GIRAPH-185) Improve concurrency of putMsg / putMsgList

2012-04-22 Thread Bo Wang (JIRA)

 [ 
https://issues.apache.org/jira/browse/GIRAPH-185?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Bo Wang updated GIRAPH-185:
---

Attachment: GIRAPH-185.patch

Fixed the problem and wait for review.

> Improve concurrency of putMsg / putMsgList
> --
>
> Key: GIRAPH-185
> URL: https://issues.apache.org/jira/browse/GIRAPH-185
> Project: Giraph
>  Issue Type: Improvement
>  Components: graph
>Affects Versions: 0.2.0
>Reporter: Bo Wang
>Assignee: Bo Wang
> Fix For: 0.2.0
>
> Attachments: GIRAPH-185.patch
>
>   Original Estimate: 2h
>  Remaining Estimate: 2h
>
> Currently in putMsg / putMsgList, a synchronized closure is used to protect 
> the whole transientInMessages when adding the new message. This lock prevents 
> other concurrent calls to putMsg/putMsgList and increases the response time. 
> We should use fine-grain locks to allow high concurrency in message 
> communication.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




Re: [jira] [Assigned] (GIRAPH-185) Improve concurrency of putMsg / putMsgList

2012-04-17 Thread Bo Wang
Thanks for the comments, Claudio and Avery. I will work on it.

On Tue, Apr 17, 2012 at 2:35 PM, Avery Ching (Assigned) (JIRA) <
j...@apache.org> wrote:

>
> [
> https://issues.apache.org/jira/browse/GIRAPH-185?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel]
>
> Avery Ching reassigned GIRAPH-185:
> ------
>
>Assignee: Bo Wang
>
> > Improve concurrency of putMsg / putMsgList
> > --
> >
> > Key: GIRAPH-185
> > URL: https://issues.apache.org/jira/browse/GIRAPH-185
> > Project: Giraph
> >  Issue Type: Improvement
> >      Components: graph
> >    Affects Versions: 0.2.0
> >Reporter: Bo Wang
> >Assignee: Bo Wang
> > Fix For: 0.2.0
> >
> >   Original Estimate: 2h
> >  Remaining Estimate: 2h
> >
> > Currently in putMsg / putMsgList, a synchronized closure is used to
> protect the whole transientInMessages when adding the new message. This
> lock prevents other concurrent calls to putMsg/putMsgList and increases the
> response time. We should use fine-grain locks to allow high concurrency in
> message communication.
>
> --
> This message is automatically generated by JIRA.
> If you think it was sent incorrectly, please contact your JIRA
> administrators:
> https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
> For more information on JIRA, see: http://www.atlassian.com/software/jira
>
>
>


[jira] [Created] (GIRAPH-186) Improve concurrency of putVertexList

2012-04-17 Thread Bo Wang (Created) (JIRA)
Improve concurrency of putVertexList


 Key: GIRAPH-186
 URL: https://issues.apache.org/jira/browse/GIRAPH-186
 Project: Giraph
  Issue Type: Improvement
  Components: graph
Affects Versions: 0.2.0
Reporter: Bo Wang
 Fix For: 0.2.0


It's pretty similar to GIRAPH-185. The whole inPartitionVertexMap is locked 
when there is a call to it. We should allow multiple calls adding different 
partitions to the same worker at the same time.


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (GIRAPH-185) Improve concurrency of putMsg / putMsgList

2012-04-17 Thread Bo Wang (Commented) (JIRA)

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

Bo Wang commented on GIRAPH-185:


putVertexIdMessagesList can be improved together

> Improve concurrency of putMsg / putMsgList
> --
>
> Key: GIRAPH-185
> URL: https://issues.apache.org/jira/browse/GIRAPH-185
> Project: Giraph
>  Issue Type: Improvement
>  Components: graph
>Affects Versions: 0.2.0
>Reporter: Bo Wang
> Fix For: 0.2.0
>
>   Original Estimate: 2h
>  Remaining Estimate: 2h
>
> Currently in putMsg / putMsgList, a synchronized closure is used to protect 
> the whole transientInMessages when adding the new message. This lock prevents 
> other concurrent calls to putMsg/putMsgList and increases the response time. 
> We should use fine-grain locks to allow high concurrency in message 
> communication.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Created] (GIRAPH-185) Improve concurrency of putMsg / putMsgList

2012-04-17 Thread Bo Wang (Created) (JIRA)
Improve concurrency of putMsg / putMsgList
--

 Key: GIRAPH-185
 URL: https://issues.apache.org/jira/browse/GIRAPH-185
 Project: Giraph
  Issue Type: Improvement
  Components: graph
Affects Versions: 0.2.0
Reporter: Bo Wang
 Fix For: 0.2.0


Currently in putMsg / putMsgList, a synchronized closure is used to protect the 
whole transientInMessages when adding the new message. This lock prevents other 
concurrent calls to putMsg/putMsgList and increases the response time. We 
should use fine-grain locks to allow high concurrency in message communication.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira