On TV.com: 2009's Most PIRATED TV Show
BNET Business Network:
BNET
TechRepublic
ZDNet

August 28th, 2007

Thoughts on Mark Russinovich's response to Vista network slowdown

Posted by Adrian Kingsley-Hughes @ 10:40 am

Categories: Thoughts, Vista

Tags: Playback, Multimedia, Network, Microsoft Windows Vista, Microsoft Corp., CPU, commentary:rnThe MMCSS, Adrian Kingsley-Hughes

Several ZDNet readers have asked for my thoughts on Mark Russinovich’s response to Vista network slowdown issue.

Overall, I feel that Mark’s response is both thorough, clear and accurate.  However, his blog post on the matter raises some interesting questions about the Windows Vista development process and how Microsoft approached the project.  I’ll quote a few interesting passages from the blog and add my own commentary:

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: [emphasis added]

From this we can assume that Vista has been developed with media playback in mind, in other words, it’s broadly aimed at the consumer since there’s no sensible way to disable to override this feature.

When a multimedia application begins playback, the multimedia APIs it uses call the MMCSS service to boost the priority of the playback thread into the realtime range, which covers priorities 16-31, for up to 8ms of every 10ms interval of the time, depending on how much CPU the playback thread requires. Because other threads run at priorities in the dynamic priority range below 15, even very CPU intensive applications won’t interfere with the playback. [emphasis added]

Again, an indication that pretty much everything is put on the back burner for multimedia, and for quite an extended period of time.  Remember, every system sound that plays will be interfering with performance.  This doesn’t sound right to me.

Tests of MMCSS during Vista development showed that, even with thread-priority boosting, heavy network traffic can cause enough long-running DPCs 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. [emphasis added]

This is interesting because I find it hard to accept that the only way to solve the playback problem was to throttle network traffic.  If this is the case, Windows needs a significant and widespread overhaul to improve performance.  Microsoft is clearly willing to apply temporary patches to some pretty deep and serious issues.

Further, there’s an unfortunate bug in the NDIS throttling code that magnifies throttling if you have multiple NICs. [emphasis added]

OK, so there’s a bug too.

The throttling rate Vista uses was derived from experiments that reliably achieved glitch-resistant playback on systems with one CPU on 100Mb networks with high packet receive rates. [emphasis added]

So, not only is this a patch, it’s a patch intended for low-end PCs running Vista.  A slap in the face for anyone who has spent money on decent hardware.

The hard-coded limit was short-sighted with respect to today’s systems that have faster CPUs, multiple cores and Gigabit networks, and in addition to fixing the bug that affects throttling on multi-adapter systems, 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. [emphasis added

OK, I have more trouble accepting this “with respect to today’s systems” bit than any other.  Wasn’t Vista designed with “today’s systems” in mind rather than yesterday’s systems?

Temporary Solutions

So far, I’ve found two possible “temporary fixes” to this problem.

The first was proposed by my ZDNet blogging colleague George Ou, and that is to switch over to gigabit network gear that supports jumbo frames.  It means spending some money, but not a lot.

Second, you can remove MMCSS from the Vista audio equation.  To do this you’ll have to do a bit of registry editing.

Friendly Warning:  If you trash your system messing with your registry, well, you’ll probably be too busy rebuilding your system to complain at me!  Seriously, take care …

Fire up Registry Editor and navigate your way down to:

HKEY_LOCAL_MACHINE\SYSTEM\
CurrentControlSet\Services\Audiosrv

Once there find STRING called DependOnService.  Right-click on this entry and choose Modify … and then from the Value data remove MMCSS.  Click OK, close the Registry Editor and reboot your PC.  Next, go into Services (the quickest way to get to this is to type services into the Start Search box and click on the entry that appears) and then find the Multimedia Class Scheduler service.  Once found, right-click on it and Properties and change the Startup type from Automatic to Disabled.  Click OK and then reboot.

Adrian Kingsley-HughesAdrian is a technology journalist and author who has devoted over a decade to helping users get the most from technology. He also runs a popular blog called The PC Doctor. See his full profile and disclosure of his industry affiliations

Want to get in touch? Got a tip? Feel free to drop me a note! I ALWAYS respect anonymity. I'm also on Twitter (@the_pc_doc)

Right to Reply: Should any industry representatives wish to comment on any posts on Hardware 2.0, I will be happy to publish their reply verbatim on this blog.

Subscribe to Hardware 2.0 via Email alerts or RSS.

Related Discussions on TechRepublic

Did you know you can take part in these discussions with your ZDNet membership?

  • Talkback
  • Most Recent of 43 Talkback(s)
A vote is not necessary
Anyone can see who is delusional here. Do you suppose your sucking up to Microsoft makes you superior?

As long as the moderator permits, I will say what I please here, and you are welcome to do... (Read the rest)
Posted by: Ole Man Posted on: 09/12/07 You are currently: a Guest | | Terms of Use
What what happens to network performance...  mrlinux | 08/28/07
Is anyone buying these excuses?  laura.b | 08/28/07
Buying Excuses  Harry Bardal | 08/28/07
Reread what she said.  ShadeTree | 08/28/07
Not me...  jinko | 08/28/07
There is still something strange with the multi-threading  TripleII | 08/28/07
Windows never did true multitasking.  Logics | 08/28/07
NT is a premtive multitasking OS  toadlife | 08/28/07
That's what I thought  TripleII | 08/28/07
You must have meant you have been wrong ....  ShadeTree | 08/28/07
Suspicious  Harry Bardal | 08/28/07
Selective memory.  ShadeTree | 08/28/07
No... You Are  Harry Bardal | 08/28/07
Funny!  ShadeTree | 08/29/07
Still misrepresentation going on  NonZealot | 08/28/07
You missed the phrase..  msalzberg | 08/28/07
And despite the quote you gave from George,...  Logics | 08/28/07
And you misunderstood what "it" was  NonZealot | 08/28/07
"My bigger contention with the blog is that it suggests"  Ole Man | 08/28/07
A couple of questions...  msalzberg | 08/28/07
Report to Redmomnd immediately, post haste!  Ole Man | 08/28/07
Vista was designed in 2005  georgeou | 08/28/07
Parallelism  Harry Bardal | 08/28/07
You do realize that 8-core workstation is more than $10K  georgeou | 08/28/07
Getting Paid  Harry Bardal | 08/29/07
There are more patches for OSX then there ...  ShadeTree | 08/29/07
The Difference  Harry Bardal | 08/29/07
Begs the question  TripleII | 08/28/07
You should read Mark's post  georgeou | 08/28/07
Still more Bloat from the Bloatfarm...  Jeremy W | 08/28/07
Hindsight is the only perfect science  tonymcs@... | 08/28/07
My entire life and business is based on MS  Jeremy W | 08/28/07
And we all know everyone else is perfect and they don't make mistakes  georgeou | 08/28/07
Ok,George...then why  johnf76@... | 08/28/07
Why only Gigabit?  Mavtech | 08/29/07
Because...  butler360 | 08/29/07
Right. . .  bkinsey@... | 08/29/07
Prioritizing Multimedia  bkinsey@... | 08/29/07
The sad facts are  Ole Man | 08/29/07
Ole Man...  magpie_z | 08/29/07
Magpie......  Ole Man | 08/30/07
Perhaps...  magpie_z | 08/30/07
A vote is not necessary  Ole Man | 09/12/07

What do you think?

SponsoredWhite Papers, Webcasts, and Downloads

Click Here
advertisement

Recent Entries

advertisement

Archives

ZDNet Blogs

White Papers, Webcasts, and Downloads

SmartPlanet

Click Here