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

11
modules pushed on the DLPI stream create or modify the modules to operate at the NOSYNC
synchronization level so that the NOSYNC performance gain is not lost.
For more details about writing a NOSYNC module/driver refer to:
STREAMS/UX Programmer's Guide, available at
http://docs.hp.com/en/netcom.html#STREAMS/UX
Patch level information for the NOSYNC feature:
11i v1:
STREAMS: PHNE_35453 or higher
ARPA Transport: PHNE_35351 or higher
DLPI: PHNE_33704 or higher
IPFilter: A.03.05.12 or later
11i v2:
STREAMS: PHNE_34788 or higher
ARPA Transport: PHNE_35765 or higher
DLPI: PHNE_33429 or higher
IPFilter: A.03.05.12 or later
3.3 Protection from Packet Storms
When the network is overloaded, or when defective network components send out a flood of packets, a
server can see an inbound “packet storm” of network traffic. This would have a serious impact on the
performance of a mission critical server as a lot of the CPU power is consumed and an excessive amount of
time spent in interrupt context to process these packets. HP-UX has an extensive set of features to minimize
the negative effects of many types of packet storms. Using the default capabilities of HP-UX 11i v3, the
system will be well protected against this, as described below.
3.3.1 Detect and Strobe Solution
The Detect and Strobe kernel functionality is described in The HP-UX 11i v3 Release Notes, Chapter 5
http://docs.hp.com/en/5991-6469/index.html. This feature is designed to limit the amount of processor
time spent in interrupt context to a maximum percentage over time. This provides better responsiveness for
time-sensitive applications and high-priority kernel threads that could otherwise be delayed by interrupt
activity.
A tunable parameter, documented in the man page intr_strobe_ics_pct(5) is provided to control
the operation of detect and strobe. It is enabled by default, and it is documented that only HP Field
Engineers should change the value of this tunable.
3.3.2 HP-UX Networking Responsiveness Features
Several features of the networking kernel code contribute to protecting the system from packet storms, and
these have been improved in HP-UX 11i v3.
In general, synchronization points exist in the protocol layers to serialize the processing of packets when
required. For example, to maintain the state of a particular TCP connection, inbound and outbound
segments are processed serially as they are received by the upper or lower protocol layers, and queuing
can occur. The queued backlog of packets could become a responsiveness issue, particularly when
processed in an interrupt context. However, by setting some reasonable limits to the queue length, and