Networking Adapter Performance Guidelines

Networking performance has increasingly become one of the most important factors in overall system performance. Many of the factors that affect networking performance fall under the following three categories: Network adapter hardware and driver performance, network stack performance, and the way applications interact with the network stack. We will highlight some of the more important […]

Networking performance has increasingly become one of the most important factors in overall system performance. Many of the factors that affect networking performance fall under the following three categories: Network adapter hardware and driver performance, network stack performance, and the way applications interact with the network stack. We will highlight some of the more important networking adapter properties and advanced features available to yield optimal performance.

Introduction: Networking performance is measured in throughput and response time. It is also important to achieve the optimal performance operating point without over-utilizing the system resources. To reach that optimal performance point, the network adapter vendors have enhanced their hardware capabilities to improve scalability, the amount of time to process data, and built in capabilities to dynamically adjust hardware and software parameters depending on workload characteristics.

Network Adapter Hardware: Over the past decade, networking speeds have multiplied orders of magnitude to keep up with applications that have become network intensive and the load on the host processors increases for networking service routines.  In light of these changes, it has become increasingly important to consider offloading some of the tasks to the hardware and further optimize how the hardware interacts with the software to scale and improve performance.  Some of the features include Task Offload, TCP Offload, Interrupt Moderation, dynamic tuning on the hardware, Jumbo Frames, and Receive Side Scaling (RSS).  These are particularly important for the high-end network adapter that will be used in configurations requiring top performance.

Task Offload Features: The Microsoft networking stack can offload one or more of the following tasks to a network adapter that has the support for the offload capabilities.  The following are the supported offload tasks:

• Checksum Offload: For most common IPv4 and IPv6 network traffic, offloading the checksum

calculation to the network adapter hardware offers a significant performance advantage by reducing the number of CPU cycles required per byte and overall system performance improves.  UDP checksum offload support has been added in Windows Server 2008 and was not available in prior releases.

• Large Send Offload: Applications that send down large amounts of data rely on the network stack to segment the large buffers into smaller Ethernet size buffers.  That size is typically 576 bytes on the Internet and 1500 bytes on LANs.  Large Send Offload (LSO) allows the coalescing of send data into 64KB segments and to offload the segmentation work to the hardware.  Offloading the work reduces the host CPU cycles and can improve overall system performance.  Giant Send Offload (GSO) is a superset of LSO which allows for send buffers coalescing into segments that are greater than 64KB.

• IP Security (IPSec) Offload: Windows offers the ability to offload the encryption work of IPSec to the network adapter hardware. Encryption, especially 3 DES, has a very high cycles/byte ratio. Therefore, it is no surprise that offloading IPSec to the network adapter hardware has high performance yields depending on the scenario and the workload characteristics.

Full Article

Resources:

· Windows Server 2008 Performance Tuning Guide
· High Performance Network Adapters and Drivers

NEC, Networking, Network Adapter, Performance, Guidelines, Guide