Using Receive Side Scaling

Applies To: Windows Server 2008 R2

Receive-side network processing in multi-core computers is conventionally bottlenecked by the fact that a single CPU services all the interrupts from a network adapter. Receive-side scaling solves this problem by enabling a network adapter to distribute its network processing load across multiple CPUs in multi-core computers. To achieve scalability, receive-side scaling must be enabled in the operating system, which has a global impact on all network adapters, as well as for individual network adapters through the advanced properties of the network adapter.

What’s new in receive-side scaling for Windows Server 2008 R2

New per-interface defaults

Windows Server 2008 R2 enables you to achieve maximum scalability to suit your scenario by varying the number of processors and the range of processors allotted for each network adapter using registry sub-key values. The sub-keys and values listed in the table have been added.

Important

Only change these keywords if network adapter performance is not suitable for your application.

Sub-key

Description

HKLM\SYSTEM\CurrentControlSet\Control\Class\{XXXXX72-XXX}\<network adapter number>\*MaxRSSProcessors

Maximum number of CPUs allotted. Sets the desired maximum number of processors for each interface. The number could be different for each interface. Restart the network adapter when you change this registry key.

HKLM\SYSTEM\CurrentControlSet\Control\Class\{XXXXX72-XXX}\<network adapter number>\*RssBaseProcNumber

Base CPU number. Sets the desired base CPU number for each interface. The number could be different for each interface. This allows for partitioning CPUs across network adapters. Restart the network adapter when you change this registry key.

HKLM\SYSTEM\CurrentControlSet\Control\Class\{XXXXX72-XXX}\<network adapter number>\*NumaNodeID

NUMA node affinitization

New and improved initialization and processor selection algorithm

At boot time, Windows Server 2008 R2 considers the bandwidth and media connection state while allotting CPUs. Higher bandwidth network adapters get more CPUs at startup. Multiple network adapters with the same bandwidth receive the same number of receive-side scaling CPUs.

New Performance Monitor counters

The following Performance Monitor counters have been added in Windows Server 2008 R2 to track receive-side scaling usage. These are available under Per Processor Network Interface Card Activity. These counters are available on a per network adapter, per processor basis and can be tracked for each network adapter.

  • DPCs Queued/sec

  • Interrupts/sec

  • Receive Indications/sec

  • Received Packets/sec

  • RSS Indirection Table Change Calls/sec

See Also

Concepts

Using TCP Chimney Offload
Using Virtual Machine Chimney
Using Virtual Machine Queue
Using NetDMA