hadoop-common-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Clint Morgan (JIRA)" <j...@apache.org>
Subject [jira] Created: (HADOOP-2232) Add option to disable nagles algorithm in the IPC Server
Date Mon, 19 Nov 2007 22:50:43 GMT
Add option to disable nagles algorithm in the IPC Server
--------------------------------------------------------

                 Key: HADOOP-2232
                 URL: https://issues.apache.org/jira/browse/HADOOP-2232
             Project: Hadoop
          Issue Type: Improvement
          Components: ipc
    Affects Versions: 0.16.0
            Reporter: Clint Morgan


While investigating hbase performance, I found a bottleneck caused by
Nagles algorithm. For some reads I would get a bi-modal distribution
of read times, with about half the times being around 20ms, and half
around 200ms. I tracked this down to the well-known interaction between
Nagle's algorithm and TCP delayed acknowledgments. 

I found that calling setTcpNoDelay(true) on the server's socket
connection dropped all of my read times back to a constant 20 ms.

I propose a patch to have this TCP_NODELAY option be configurable. The
attacked patch allows one to set the TCP_NODELAY option on both the
client and the server side. Currently this is defaulted to false
(i.e., with Nagle's enabled).

To see the effect, I have included a Test which provokes the issue by
sending a MapWriteable over an IPC call. On my machine this test shows
a speedup of 117 times when using TCP_NODELAY.

These tests were done on OSX 10.4. Your milage may very with other
TCP/IP implementation stacks.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message