| User Datagram Protocol (UDP)Description: OpenSS7 Documentation Performance.Test ResultsUntil recently, we have never been able to do performance testing between Linux Fast-STREAMS STREAMS-based UDP and Linux Native Sockets implementations of UDP. However, with the advent of the udp2(4) driver for Linux Fast-STREAMS, and some adjustment to the netperf package, it is now possible to perform the tests. Current testing performed on the streams-0.9.2.3 and strinet-0.9.2.6 packages using netperf-2.3.6 modifications are detailed in the paper: STREAMS vs. Sockets Performance Comparison for UDP. This paper details that current results show Linux Fast-STREAMS UDP about 40% to 60% faster than Linux UDP. I used to be worried that the inet(4) driver, that does STREAMS over Sockets, would perform poorly compared to Sockets alone. After all, the Stream head was placed over a socket using a driver and data was copied 4 times (from user to message block, message block to socket buffer, socket buffer to message block, and message block to user). But the report shows that STREAMS over Sockets (XTIoS) run as fast (or faster) that Sockets alone. Also, I used to worry that STREAMS would perform poorly on SMP (as critics of STREAMS claim). Well, the results show (see Figure 31 below) that STREAMS cleans Linux's clock on SMP nicely. The paper details the test methodology, the results, and an analysis of the cause. I do not think that there will be any further need for performance tuning of the Linux Fast-STREAMS transport protocol implementations for some time to come. Anyone on LKML wishing to complain about how slow STREAMS is can first get about fixing their Linux legacy BSD Sockets implementation. See also a demonstration of Linux having its clock cleaned on pipes and a demonstration of Linux Sockets TCP having its clock cleaned by STREAMS SCTP. | |||||||||||||||||||||
Last modified: Mon, 25 Jun 2007 12:25:10 GMT Copyright © 2014 OpenSS7 Corporation All Rights Reserved. |