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

Eric Caspole updated HDFS-2243:
-------------------------------

    Attachment: HDFS-2234-branch-0.20-append.patch

Here is a thread pool patch based on branch-0.20-append, since that is what is 
documented to work with HBase 0.90.3. I reused the dfs.datanode.max.xcievers to 
indicate the thread pool size, which is probably cheating.
I tested this patch with YCSB workloadb on 3 AMD and 2 Intel systems I have 
handy. It gives at least equal if not better response times and reduces cpu 
consumption of the datanode process by 5-10% depending on the system and load.
Is this a viable approach? If so, I'll forward port it to 0.23 and I can retest 
if I can find out which HBase works with 0.23 hdfs.

> DataXceiver per accept seems to be a bottleneck in HBase/YCSB test
> ------------------------------------------------------------------
>
>                 Key: HDFS-2243
>                 URL: https://issues.apache.org/jira/browse/HDFS-2243
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: data-node
>    Affects Versions: 0.23.0
>         Environment: Using Fedora 14 on a quad core phenom system
>            Reporter: Eric Caspole
>            Priority: Minor
>         Attachments: HDFS-2234-branch-0.20-append.patch, 
> datanode-perf-110808.gif
>
>
> I am running the YCSB benchmark against HBase, sometimes against a single 
> node, sometimes against a cluster of 6 systems. As the load increases into 
> thousands of TPS, especially on the single node, I can see that the datanode 
> runs very high system time and seems to be bottlenecked by how fast it can 
> create the threads to handle the new connections in DataXceiverServer.run. By 
> "perf top" I can see the process spends about 12% of all its time in 
> pthread_create, and in hprof profiles I can see there are tens of thousands 
> of threads created in just a few minutes of test execution.
> Does anyone else observe this bottleneck? Is there a major challenge to using 
> a thread pool of DataXceivers in this situation?

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

        

Reply via email to