Patch for adding SO_REUSEPORT socket option
Mark Sheppard
mark.sheppard at oracle.com
Thu Nov 19 14:52:37 UTC 2015
there would appear to be a link to a webrev in the JBS bug
https://bugs.openjdk.java.net/browse/JDK-6432031
<https://bugs.openjdk.java.net/browse/JDK-6432031>
http://cr.openjdk.java.net/~mcberg/jdk/6432031/webrev.01/
<http://cr.openjdk.java.net/%7Emcberg/jdk/6432031/webrev.01/>
I presume that a review is requested for this patch?
regards
Mark
On 19/11/2015 14:11, Michael McMahon wrote:
> Hi Kishor
>
> Did you mean to include the patch with this message?
> If you send it, I can convert it to a webrev and put
> it on the cr.openjdk server for review
>
> Thanks
> Michael
>
> On 16/11/15 18:49, Kharbas, Kishor wrote:
>>
>> Hello all,
>>
>> I request the community to review a patch for adding SO_REUSEPORT
>> support. There is already an existing JBS opened at
>> https://bugs.openjdk.java.net/browse/JDK-6432031
>> <https://bugs.openjdk.java.net/browse/JDK-6432031>
>>
>> Details :
>>
>> SO_REUSEPORT removes 1:1 assignment between listen socket and IP:PORT
>> pair and enable multiple sockets listening to the same address and
>> port. This improves the scalability and parallelism of network
>> traffic handling. It is enabled for both TCP and UDP sockets (at
>> least for Linux). For more details, please refer to
>> https://lwn.net/Articles/542629/. Many applications, especially Linux
>> or BSD based webservers such as Apache httpd and Nginx are already
>> supporting it now. Ruby and Python have it supported as well. Other
>> Java applications such as Netty webserver have it supported via JNI
>> function since JDK has not supported it yet.
>>
>> By enabling the SO_REUSEPORT feature itself, up to 4X throughput and
>> latency improvement have been observed from various applications.
>> Specific to Java application with this patch, we modified Apache
>> Hadoop Distributed File System (HDFS) source code to take advantage
>> of this feature. We observed up to 1.93x performance improvements.
>>
>> The feature is supported since Linux Kernel 3.9. It is also supported
>> in BSDs, Solaris and Mac OS. Windows does not have it. In the current
>> patch, we only enable the feature on Linux platform since we do not
>> have BSD, Solaris and Mac OS for testing. Whether the feature is
>> supported or not on the running kernel is determined at the run time.
>>
>> P.S. Based on Alan Baleman's comment on JBS, we are in meanwhile
>> working on adding this option to 'java.net.ExtendedSocketOption'.
>>
>> Regards,
>>
>> Kishor Kharbas
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/net-dev/attachments/20151119/9f94415c/attachment.html>
More information about the net-dev
mailing list