Hitting play in Vista means reduced network throughput

Aug 28, 2007 14:45 GMT  ·  By

There is an intimate connection between Windows Vista multimedia playback and networking throughput, in the sense that the first moderates the latter. Microsoft confirmed independent reports revealing that a copy of Vista involved in multimedia playback will throttle network traffic on gigabit Ethernet networks. According to Nick White, Microsoft Product Manager, networking infrastructures enabling gigabit throughput are more susceptible to the throttling of network traffic, impacting especially the flow of incoming, as opposite to outgoing, data.

"Many people have correctly surmised that the degradation in network performance during multimedia playback is directly connected with mechanisms employed by the Multimedia Class Scheduler Service (MMCSS), a feature new to Windows Vista. Multimedia playback requires a constant rate of media streaming, and playback will glitch or sputter if its requirements aren't met. The MMCSS service runs in the generic service hosting process Svchost.exe, where it automatically prioritizes the playback of video and audio in order to prevent other tasks from interfering with the CPU usage of the playback software," explained Mark Russinovich, Microsoft Technical Fellow.

Essentially, the MMCSS service is invoked by the multimedia API that is active as a consequence of multimedia applications starting playback. The role of the service is rather simple and it is related to elevating the priority of the playback. The bottom line is that MMCSS will make the CPU virtually immune to interference from even programs that otherwise out intensively eat away at the processor cycles.

Such a scenario can be correlated with an incoming network packet that automatically will generate a CPU interrupt. "Tests of MMCSS during Vista development showed that, even with thread-priority boosting, heavy network traffic can cause enough long-running Deferred Procedure Calls to prevent playback threads from keeping up with their media streaming requirements, resulting in glitching. MMCSS' glitch-resistant mechanisms were therefore extended to include throttling of network activity. It does so by issuing a command to the NDIS device driver, which is the driver that gives packets received by network adapter drivers to the TCP/IP driver, that causes NDIS to "indicate", or pass along, at most 10 packets per millisecond (10,000 packets per second)," Russinovich stated, adding that the network and MMCSS teams are currently working on a resolve designed to "allow for not so dramatically penalizing network traffic".