Scalable Networking with RSS

Updated: April 25, 2005
**
Download

Scalable Networking with RSS

DownloadNDIS_RSS.doc
150 KB
Microsoft Word file
Updated: Apr 25, 2005
**

In the current world of high-speed networking, where multiple CPUs reside within a single system, the ability of the networking protocol stack of the Microsoft Windows operating system to scale well on a multi-CPU system is inhibited because the architecture of Network Driver Interface Specification (NDIS) 5.1 and earlier versions limits receive protocol processing to a single CPU. Receive-side scaling (RSS) resolves this issue by allowing the network load from a network adapter to be balanced across multiple CPUs. RSS is a result of Microsoft's Scalable Networking initiative, which will introduce a family of architectural innovations in future releases of the Windows family of operating systems.

This paper is for the technical community that wants to have a deeper insight into how RSS operates. It provides specific insights into implementation issues for independent hardware vendors (IHVs) and advanced system administrators who want to understand how the technology works. NDIS 5.1 allows a single deferred procedure call (DPC) for each network adapter. NDIS 6.0, using RSS, enables multiple DPCs on different CPUs for each instance of a network adapter miniport driver, while preserving in-order delivery of messages on a per-stream basis. RSS also supports dynamic load balancing, a secure hashing mechanism, parallel interrupts, and parallel DPCs. The RSS implementation options that are presented in this paper are examples intended to help IHVs understand various RSS implementation issues.

Network adapter developers who are considering ways to improve their network adapter performance should strongly consider implementing support for RSS. This innovative architecture makes it possible for your customers to improve multiprocessor computer performance by dynamically load-balancing receive traffic across multiple processors. System manufacturers should consider deploying RSS for multiprocessor computers because RSS can accelerate important customer applications such as HTTP traffic, file serving, and block storage.

This information applies for Windows Vista.

Included in this white paper:

RSS Algorithm

RSS Implementation

Printing in Windows Vista

RSS Limitations


Top of pageTop of page