HP-UX TCP/IP Performance White Paper, March 2008

7
The large initial congestion window (RFC 3390) increases the permitted initial window from one or two
segments to four segments or 4380 bytes, whichever is less. For example, when MSS is 1460 bytes, the
TCP connection starts with three segments (3*1460=4380).
By default, HP-UX uses the large initial congestion window. This is configured by the ndd tunable
tcp_cwnd_initial.
The large initial congestion window is especially effective for connections that need to send a small quantity
of data. For example, to send 4KB of data, it needs just one RTT to transmit the data, while, without the
large initial window, it requires an extra round trip time (RTT) which could have significant performance
impact on long delay networks.
2.5 TCP Segmentation Offload (TSO)
TCP Segmentation Offload (TSO) refers to a mechanism by which the TCP host stack offloads certain portions of
outbound TCP packet processing to the Network Interface Card (NIC). This reduces the host CPU utilization. It
allows the HP-UX transport implementation to create packets up to 32120 bytes in length that can be
passed down to the driver in one write. This feature is also referred to as Large Send Offload,
Segmentation Offload, Multidata Transmit, or Re-segmentation.
TSO increases the efficiency of the HP-UX kernel by allowing 22 segments with the TCP maximum segment
size (MSS) of 1460 bytes to be processed at one time, saving 21 passes down the stack. Using a “Jumbo
Frame” MTU of 9000 bytes, this translates to 3 to 4 passes for a 32k byte send.
This feature can significantly reduce the server load for applications that transmit large amounts of data from the
system. Examples of such applications include Web Servers, NFS, and file transfer applications.
If the link is primarily used for bulk-data transfers, then turning on this feature improves CPU utilization. The
performance gain is less optimal for shorter application messages transmitted over interactive streams.
The NIC must be capable of providing this feature. To enable this feature use the following commands:
11i v1 and 11i v2:
lanadmin -X send_cko_on ppa
lanadmin -X vmtu 32160 ppa
11i v3:
nwmgr -s -A tx_cko=on -c interface_name
nwmgr -s -A vmtu=32160 -c interface_name
If the card is not TSO-capable, the "vmtu" option will not be supported.
For more information on TSO-enhanced cards and drivers, go to http://www.hp.com/go/softwaredepot,
and search for “TSO”.
2.6 Packet Trains for IP fragments
Packet Trains are used when sending IP fragments. This solves the problem where driver may not be able to
handle a burst of IP fragments. Previously, when processing a large datagram, IP would fragment the
datagram to the current MTU size and send down each fragment to the driver before processing the rest of
the datagram. This could cause a problem if the driver is unable to process one or more of the IP fragments
during outbound processing of these individual fragments.