Vista Network Degradation Bug Linked to Streaming
This time, given ZDNet's prominence, Microsoft heard the noise. In an August 27 blog posting, Mark Russinovich, a Technical Fellow in the Platform and Services Division at Microsoft, wrote about the issue and acknowledged it was a hard-coded limit in Vista that the company is attempting to repair.
"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)," said Russinovich. "Multimedia playback requires a constant rate of media streaming, and playback will glitch or sputter if its requirements aren’t met. The MMCSS . . . automatically prioritizes the playback of video and audio in order to prevent other tasks from interfering with the CPU usage of the playback software."
The practical issue here is that the code written into Vista is based on systems that were state-of-the-art a few years ago, when Vista was being developed. The limit won’t show up as significantly on machines that don’t have Gigabit Ethernet cards, but is exacerbated on machines that have multiple network access capabilities—including WiFi, wired, EVDO, etc.
"Further, there’s an unfortunate bug in the NDIS throttling code that magnifies throttling if you have multiple NICs," says Russinovich. "If you have a system with both wireless and wired adapters, for instance, NDIS will process at most 8000 packets per second, and with three adapters it will process a maximum of 6000 packets per second. 6000 packets per second equals 9MB/s, a limit that’s visible even on 100Mb networks."
Russinovich went on to show similar tests, even expounding on the problem and noting that tests done for Vista were benchmarked against data traffic that the average user was expected to experience. He also noted that the issue might not be as critical for Internet-based streams, although the fact that the player is still open would have a negative impact.
"Despite even this level of throttling, Internet traffic, even on the best broadband connection, won’t be affected," said Russinovich. "That’s because the multiplicity of intermediate connections between your system and another one on the Internet fragments packets and slows down packet travel, and therefore reduces the rate at which systems transfer data."
Russinovich ends with an apology, calling the original Microsoft hard-coded limit "short-sighted with respect to today’s systems that have faster CPUs, multiple cores and Gigabit networks." He also promises a fix and asks readers to follow his blog for more details.
"In addition to fixing the bug that affects throttling on multi-adapter systems," says Russinovich, "the networking team is actively working with the MMCSS team on a fix that allows for not so dramatically penalizing network traffic, while still delivering a glitch-resistant experience."