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