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

Chris Li updated HADOOP-10278:
------------------------------

    Attachment: HADOOP-10278-atomicref.patch

[~jingzhao] This patch should fix that issue

[~daryn] [~benoyantony]

I completed tests using more powerful servers, doing RPCCallBenchmark -c 500 -s 
300 -t 60

First test between trunk, HADOOP-10278-atomic.patch, and a variation using 
volatile instead of atomic ref:
* Both experimental groups showed a statistically significant decrease in 
throughput (-1.1%, p=.0007) and increase in server CPU time (1.5%, p=.0001)  
compared to trunk.
* No significant difference between volatile and atomicref (or difference is 
too small to be noticed among other noise. p=.4)

Second test between trunk, HADOOP-10278-atomic.patch, and variation using 
1000ms wait instead of 100ms (on a different machine):
* Significant throughput decrease between 100ms poll and trunk, as before 
(-0.6%, p=0.03)
* No significant throughput decrease between 1000ms poll and trunk (-0.2%, 
p=.26)
* Significant increase in server CPU compared to trunk for both 100ms and 
1000ms poll (about 2.2%, p=0.0007)
* No significant difference in server CPU between 100ms and 1000ms poll (p=.34)
* Significant increase in client CPU for 1000ms poll vs trunk (1.2%, p=0.03)

-----------

Benchmarks show that a longer poll timeout is better for throughput 
performance, but will still raise the server CPU about the same.

Thoughts?

> Refactor to make CallQueue pluggable
> ------------------------------------
>
>                 Key: HADOOP-10278
>                 URL: https://issues.apache.org/jira/browse/HADOOP-10278
>             Project: Hadoop Common
>          Issue Type: Sub-task
>          Components: ipc
>            Reporter: Chris Li
>         Attachments: HADOOP-10278-atomicref.patch, 
> HADOOP-10278-atomicref.patch, HADOOP-10278-atomicref.patch, HADOOP-10278.patch
>
>
> * Refactor CallQueue into an interface, base, and default implementation that 
> matches today's behavior
> * Make the call queue impl configurable, keyed on port so that we minimize 
> coupling



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to