Mark Russinovich On Vista Network Slowdown 423
koro666 writes "In his latest blog post, Mark Russinovich analyzes the network slowdown experienced by some users when playing multimedia content. 'Tests of MMCSS during Vista development showed that... 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. It does so by issuing a command to the NDIS device driver... [to] pass along, at most 10 packets per millisecond (10,000 packets per second)... [T]he 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.'"
Okay... (Score:4, Interesting)
Re:Okay... (Score:5, Interesting)
Slower Network Cards.
Vista is a turd (Score:5, Interesting)
I gave it an honest chance, but Vista is a turd. If it can't play decades old MP3 technology MS should really give it up.
Re:Failed engineering (Score:4, Interesting)
Re:Failed engineering (Score:3, Interesting)
Isn't MS going about this all wrong? (Score:1, Interesting)
The *symptom* is that Vista will glitch multimedia playback under certain circumstances.
The *issue* is that multimedia is too costly on system resources.
The *answer* is to streamline the way that Vista processes multimedia. A dual core Intel processor with 2 gig of memory should handle gig ethernet file copying, playing blu-ray disks, serve as a network router, and render video all at the same time. The idea that handling interrupts from a network card causes MP3's to glitch should be a cause of concern to both Microsoft and it's customers.
Perversely though, Microsoft took exactly the opposite approach... since multimedia is so slow, they handled it by starving everything else and giving even more CPU time to multimedia. Which solves the symptom, but doesn't actually touch on the issue. I think the real fear is the DRM layers that are built into Vista are at the root of this problem. If so, it's going to take a helluva service pack to make Vista as good as promised.
Re:Russinovich (Score:3, Interesting)
Have you ever seen a talk by Mark?
While he might be on the Microsoft payroll, he is definitely NOT one to sell-out.
Re:Failed engineering (Score:2, Interesting)
Re:Okay... (Score:4, Interesting)
There are two possible scenarios now:
1. Vista is actually less performant and the inferior system.
2. We're just plain lucky that we get to play MMC on XP and 2k without interruption, and the system throttles network performance on a "just in case" basis. In this case it's a bug that should be fixed.
Engineering for profit vs. for improvement (Score:3, Interesting)
Re:Well that's just not true (Score:2, Interesting)
http://it.slashdot.org/comments.pl?sid=280101&cid= 20366549 [slashdot.org] 2 8200 [slashdot.org] = 20377327 [slashdot.org]
http://it.slashdot.org/article.pl?sid=07/08/26/16
http://it.slashdot.org/comments.pl?sid=280101&cid
If they are meant to be humourous then my sense of humour must be completely broken. I'm sure there are more comments of equal paranoia to be found in previous installments of this saga.
Re:Failed engineering (Score:5, Interesting)
Re:Failed engineering (Score:2, Interesting)
Re:Failed engineering (Score:5, Interesting)
Linux isn't in strong shape on the desktop. It doesn't have the application support it needs, its drivers aren't able to perform as well as their Windows counterparts, which means it's constantly making excuses for not being able to use 100% of the computer its on. But then everyone knows this.
I'd rather have an OS that runs every bit of software I want (including games, video editing, office suites, open source apps, etc.) and may have occasional problems, than one that doesn't run everything I want, and still has occasional problems.
I admire your spirit, though
Re:Failed engineering (Score:2, Interesting)
The fact is that there should be absolutely no need to throttle network processing when playing back content.
It is simply ridiculous that the latest, ahem, greatest OS from Microsoft has this limitation.
What's even more ridiculous is that the engineers at MS thought that it was OK.
If the OS requires throttling network traffic to play an MP3 "glitch free" and this is the best solution that Microsoft could come up with, there are a major issues with the guts of the system.
Vista media playback worse than 486 (Score:5, Interesting)
When my old XP HD crashed I was forced to use Vista exclusively for several weeks. It was like my computer was sick and in the hospital. No TV from my ATI x800 All-in-Wonder (though I did get the FM radio working after a week or two), sucky video game frame rates, unstable network card and sound card drivers and crap multimedia playback. P2P kept crashing the network stack.
Some people say that this isn't Microsoft's fault, it's those third party driver writers to blame. I say fuck that, these folks can write good drivers for the exact same computer in several other operating systems. It's Vista's fault.
MS fanboys will all come out and say their systems all work perfectly. Horseshit. I've now had hands on with more than two dozen Vista machines ranging from laptops to upgrades and in every single case, that's 100% MS fanboys, not 99%, not 80%, all of them had stuttering media playback.
There is no excuse for this sort of crap. My goodness it was such a relief to get an XP install back. My computer was perkier and all of a sudden everything worked again.
If Microsoft does not fix this with the mother of all service pack releases rewriting Vista from the core out then my next post-XP os will not be Windows. My best guess is Vista SP1 will be lipstick on a pig rather than the thorough cleaning out that poor excuse for a beta release really needs though.
Re:And then again... (Score:4, Interesting)
Re:Failed engineering (Score:1, Interesting)
Re:Failed engineering (Score:1, Interesting)
I'm finally leaving MS after some number of years largely because of this. The overriding philosophy seems to be: Test against the spec. Test shouldn't be responsible for independent thought. Gone are the days when Test was charged with understanding how their feature would integrate with the whole and not only test the feature but "test" the spec. Now it's all about creating automation and making sure the (very often, dev written) spec matches the feature. If the feature makes the rest of the product suck, there's little the test org can do.
Add on top that an amazing lack of apathy about the product over all. My (rather large) group is adding features that will piss the user off instead of working on stability. Why? Because marketing is more concerned about getting new users than making current users happy.
In the end this products will either collapse under the weight of their features or there will be a large shift at MS. Either way, I don't care. My group's product has gone from decent to great to riddled with useless crap that actively pisses users off.
Re:Failed engineering (Score:3, Interesting)
And when Microsoft found out people were listening to him... they bought it and hired him to be a Microsoft Advocate, but don't seem to have listened to him ?
The Windows kernel (NT Kernel) was designed by Dave Cutler (ex of DEC) who designed a quite nice kernel then was promoted out of the way while Microsoft ruined his design...
R.I.P Mark Russinovich (Score:4, Interesting)
His "analysis" here is not much more than a series of rationalizations and excuses:
"Network DPC receive processing is among the most expensive, because it includes handing packets to the TCP/IP driver, which can result in lengthy computation. The TCP/IP driver verifies each packet, determines the packet's protocol, updates the connection state, finds the receiving application, and copies the received data into the application's buffers." (emphasis mine)
The issue at hand is related to gigE NICs. Please find me a single gigE NIC that does not support TCP/IP checksum offload (even the lowly Realtek does).
His graph showing 40% CPU utilization during a file copy must be a joke or an admission of a dismally performing network stack. There are only 2 possible explanations for that number:
1. His file copy was saturating a 1gigE link - if you've saturated the link, 40% is not great but is decent. However, the test is not applicable to most people who've seen the issue. It also means there is another 60% of the CPU for processing audio - that should be plenty.
2. His file copy was nowhere near saturating the link and Vista's network stack is horribly inefficient. My experience with pervious incarnations of Windows (2K, 2K3 and XP) has shown that under ideal conditions a single file copy will max out (because of inefficiencies in CIFS but that's another story) at ~35MB/s (roughly 1/3 of a gigE link in one direction). If Vista performs at roughly the same rate, then 40% CPU for 35MB/s is terrible. No wonder there is a degradation problem that required network throttling.
Looking down further to the NDIS packet graph, it appears that it is indeed explanation 2 that is correct. Peak throughput through the system was 24.6MB/s (17215*1500). If this test was similar to the CPU test for the previous screenshot, we are seeing 40% for 24.6MB/s. It appears the system will saturate its CPU at 50MB/s half-duplex?!? That's horrible. Or Mark is showing different numbers from different tests. I'm not sure which I want to believe.
Something appears to be very wrong with the network stack in these experiments. I don't have Vista. Can anyone test this?
Re:Failed engineering (Score:3, Interesting)