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

12
eliminating points of contention to allow more parallelism in TCP/IP processing, HP-UX has eliminated many
causes of delay in the kernel, even when the system is under extreme load. In addition, the Detect and
Strobe feature will be activated if the incoming traffic is more than the system can handle.
3.3.3 Responsiveness Tuning
The cost of providing responsiveness for the overall system in the case of packet storms is that incoming
network interrupts can be delayed or even dropped. This will usually occur in a case where the incoming
packets would be eventually dropped anyway due to a kernel queue overflow, memory shortage, or
network protocol timeout. Given that dropping packets is inevitable, dropping them as soon as possible in
the NIC uses fewer operating system resources, and is therefore the most desirable response. The latter is
particularly true in the case of packet storms consisting of unwanted packets, for example from a
malfunctioning switch, where the loss of the packets themselves is of little or no consequence.
In the case of reliable protocols such as TCP, the dropped data should be recovered through a
retransmission, and the protocol should help relieve the overflow by slowing down the connection using the
TCP congestion window. In the case of an unreliable datagram protocol such as UDP, the loss of data may
be noticeable at the user or application level.
The logging messages described in intr_strobe_ics_pct(5) can be used to determine when the
Detect and Strobe feature has been activated due to excessive interrupt activity. In addition, HP Support can
retrieve network-specific kernel statistics that can determine if packets are being dropped due to queue
overflows. If responsiveness is not critical on the system, it may be possible to gain a small amount of
performance by tuning intr_strobe_ics_pct(5) to allow a higher maximum percentage of interrupt
processing.
Other approaches to increasing responsiveness and performance include using Interrupt Migration as
described in section 3.4 and binding critical applications to processors or processor sets where interrupt
activity is less likely to be a problem.
Many of the features described above are available in HP-UX 11i v1 and 11i v2 at the most recent patch
levels. HP-UX Reference HP-UX 11i v2 September 2004, describes intr_strobe_ics_pct(5), which
is disabled by default in this version. In September 2006, an 11i v2 Detect and Strobe was released
based on the May 2005 update release, with some additional recommended patches. A similar
responsiveness solution was released for HP-UX 11i v1 as a set of patches and optional products. The
Interrupt Migration product for 11i v1 is one of these optional products, which is available without cost
from software.hp.com.
Because of the set of patches required, and the recommendation for the HP Field to modify
intr_strobe_ics_pct(5), HP Support should be contacted if a responsiveness solution is required for
all HP-UX 11i releases.
3.4 Interrupt Binding and Migration
In HP-UX 11i, the system administrator has the ability to assign interface cards to interrupt specific
processors, overriding the default assignment performed by the operating system. The command used for
this assignment, called Interrupt Migration, is intctl(1M).
The default assignments done by the operating system at boot time will spread interrupts evenly across a set
of processors, and will work well in most cases. However, for optimal network performance, it may be
necessary to change this, taking into consideration the overall system and application workload.