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

Ulf Lilleengen updated DISPATCH-479:
------------------------------------
    Description: 
I ran some profiling using perf, and on the test server hardware, the locking 
related to ref counts on delivery and message was most contended. The benchmark 
is basically send unsettled messages as fast as it can. It would be nice to 
have this reviewed for correctness, as I am quite new to dispatch code and 
probably are making some bad assumptions.

I'm seeing ~10% improvement in throughput with this patch on the test server at 
least, but there was no noticable improvement on my laptop. It might be that 
the cost of locking is much less on newer hardware. [~mwagner] It would be 
great if you could test the patch to see if it has any effect for your tests.

Another question is if/how to use atomic instructions in dispatch. If  c11 is 
preferred, I can change to that, but it appears it is not available for older 
RHEL versions, so the patch uses GCC extensions.

  was:
I ran some profiling using perf, and on the test server hardware, the locking 
related to ref counts on delivery and message was most contended. The benchmark 
is basically send unsettled messages as fast as it can.

I'm seeing ~10% improvement in throughput with this patch on the test server at 
least, but there was no noticable improvement on my laptop. It might be that 
the cost of locking is much less on newer hardware. [~mwagner] It would be 
great if you could test the patch to see if it has any effect for your tests.

Another question is if/how to use atomic instructions in dispatch. If  c11 is 
preferred, I can change to that, but it appears it is not available for older 
RHEL versions, so the patch uses GCC extensions.


> Use atomic operations for ref counts
> ------------------------------------
>
>                 Key: DISPATCH-479
>                 URL: https://issues.apache.org/jira/browse/DISPATCH-479
>             Project: Qpid Dispatch
>          Issue Type: Bug
>            Reporter: Ulf Lilleengen
>            Priority: Minor
>
> I ran some profiling using perf, and on the test server hardware, the locking 
> related to ref counts on delivery and message was most contended. The 
> benchmark is basically send unsettled messages as fast as it can. It would be 
> nice to have this reviewed for correctness, as I am quite new to dispatch 
> code and probably are making some bad assumptions.
> I'm seeing ~10% improvement in throughput with this patch on the test server 
> at least, but there was no noticable improvement on my laptop. It might be 
> that the cost of locking is much less on newer hardware. [~mwagner] It would 
> be great if you could test the patch to see if it has any effect for your 
> tests.
> Another question is if/how to use atomic instructions in dispatch. If  c11 is 
> preferred, I can change to that, but it appears it is not available for older 
> RHEL versions, so the patch uses GCC extensions.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org

Reply via email to