Slashdot Mirror


Mark Russinovich On Vista Network Slowdown

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.'"

15 of 423 comments (clear)

  1. Failed engineering by setagllib · · Score: 4, Insightful

    Once again, over-complication and stupid engineering lead to a humiliatingly bad operating system. It's obvious it didn't receive a modicum of real testing.

    --
    Sam ty sig.
    1. Re:Failed engineering by morgan_greywolf · · Score: 5, Insightful

      Almost, but not quite. Really, it's Microsoft's drive to appeal to the least common denominator. Dumb end-users aren't likely to notice a speed decrease in their network throughput -- not even a significant one. So maybe they did test it, but ignored any performance feedback about the network because it was ignored as smart power users being 'overly picky', since their target customer requires that the CD cases be printed on drool-proof cardboard.

    2. Re:Failed engineering by Brian+Gordon · · Score: 4, Insightful

      They specifically said they throttled network speed. It's not like something they should have tested for and never found, it's something they did themselves.

    3. Re:Failed engineering by setagllib · · Score: 5, Insightful

      Various flavors of Linux can take a flying leap. The mainline Linux kernel is generally in very strong shape, and I say this after spending years loathing many bad choices in Linux. Many mainstream distributions are doing very well too. Most of all, Linux does not compromise basic performance for "rights management", which Vista does.

      Vista's worst engineering decision is to make a system optimized for restrictions and money-farming, not for user experience. The WGA breakdown is the best example. The legitimate users who paid a ridiculous sum to use Vista's 'ultimate' features (you know, the ones which are free in Linux and at least standard in MacOSX) had their systems crippled, and the pirates who bypassed WGA were not even affected. The whole feature does exactly the opposite of what it was supposed to do. That's failed engineering, any way you look at it.

      --
      Sam ty sig.
    4. Re:Failed engineering by WhiteWolf666 · · Score: 4, Insightful

      There's a better criticism. These "maximum" speeds are NOT sufficient to stream medium-to-high bit rate video, particularly HD stuff, something which should be a strength for a "media center" OS.

      Furthermore, in the workplace, many people listen to music and access large files on network shares. Clearly, Vista is *broken* for these uses. Not a good indication of Vista being business ready.

      Frankly, I don't know why Windows is considered the best business OS. You're much better off with a unixy OS in any environment where gaming isn't important.

      --
      WhiteWolf666 an exBush supporter. All you new-school,compassionate,save the children Republicans can rot in hell
    5. Re:Failed engineering by TubeSteak · · Score: 5, Insightful

      It's not like something they should have tested for and never found, it's something they did themselves. After reading your post, the parent post and the grandparent post (and every other +3 post in the thread) I feel like I'm the only one who made it to the end of TFA:

      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. Things they apparently didn't bother to test for:
      • Multiple NICS
      • Gigabit NICS
      • Multiple CPUs/Cores
      Those things just seem like glaring oversights, especially considering how many people have wifi in addition to the mobo's onboard NIC.

      One thing I don't get is how he managed 41.61% CPU utuilization while transferring a file. Did he have the ethernet equivalent of a winmodem?
      --
      [Fuck Beta]
      o0t!
  2. Dumb dumb dumb by Anonymous Coward · · Score: 5, Insightful
    "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).

    Because the standard Ethernet frame size is about 1500 bytes, a limit of 10,000 packets per second equals a maximum throughput of roughly 15MB/s. 100Mb networks can handle at most 12MB/s, so if your system is on a 100Mb network, you typically won't see any slowdown. However, if you have a 1Gb network infrastructure and both the sending system and your Vista receiving system have 1Gb network adapters, you'll see throughput drop to roughly 15%."


    That is one of the dumbest things I have heard in a while. Let's see:

    • It's a poor solution to begin with.
    • It's incorrect. Did no one even bother to calculate the drop-off? Was there not one single engineer amongst them who ever said "Hey, you know, Gigabit is pretty popular these days."?
    • It should be unnecessary. Why does standard media playback and networking require so much power that there is not enough time to schedule both of them correctly?
    • It is wrong. Why is media playback is more important than network performance? If the network is heavily loaded, well gee, maybe there's a reason for that?

    What an over-engineered non-solution to what should have been a non-problem in the first place. Microsoft is supposed to employ some of the smartest engineers in the world: can none of them optimise their code?
    1. Re:Dumb dumb dumb by Jose · · Score: 4, Insightful

      Because the standard Ethernet frame size is about 1500 bytes, a limit of 10,000 packets per second equals a maximum throughput of roughly 15MB/s.

      And this seems like a strange conclusion to jump to...especially coming from Mark.

      maybe I am just confused, but the NDIS driver handles sending and receiving of pkts, so is the pkt rate limited to 10,000 pps coming and going? (he mentions packets received by network adapter drivers, but I am still curious). if it is limited to 10,000 pps in either direction...then you the theoretical limit comes down by quite a bit.

      Even at that, he is assuming full sized packets, which is a bit of stretch, there is a good chance that not all of them will be the full 1500 bytes, factor in broadcast traffic, and other crud which may be running...and you start seeing a noticable drop even on a 100mbit connection.

      --
      The basic sleazeware produced in a drunken fury by a bunch of UCBerkeley grad students was still the core of BIND. --PV
    2. Re:Dumb dumb dumb by rbochan · · Score: 4, Insightful

      ...skipping music is in any way acceptable compared to slight network performance penalties?...

      Actually, this is 2007, with stupidly fast processing, memory levels, and network throughput. There's no reason whatsoever that either effect should be showing up when both activities are happening at the same time.
      And it's not "slight network performance penalties". It's ridiculously harsh network performance penalties.

      --
      ...Rob
      The American Dream isn't an SUV and a house in the suburbs; it's Don't Tread On Me.
  3. Wow... by Kr3m3Puff · · Score: 5, Insightful

    I find this totally interesting. It goes to the heart of what is wrong with Microsoft these days... All seperate groups of folks, not talking to each other, to try and do "what is best" for the user, and then totally stomping on each other. Instead of really looking at thread management and optimising the kernel, they cludge together something to make multi media work by simplying saying "in certain situations, I can't guarentee the thread because of a crappy kernel, so I am going to tell everyone else to slow down".

    It is these sorts of things and things like the teams and teams debating the "Shutdown Menu" in Vista that are really showing Microsoft needs to really change if they are going to survive. It amazes me how a bunch of open source developers with all their own agendas do a better job then a bunch of folks all paid by the same company. Of course then there is Apple of an example of a group that shows you can pull it off and still all look like the same organisation.

    --
    D.O.U.O.S.V.A.V.V.M.
  4. Re:Well that's just not true by PJ1216 · · Score: 5, Insightful

    I haven't been really on the lookout for it, but I haven't seen any posts explaining that as the cause. I'd expect if that really were the cause, there'd be a much bigger outrage from people and it would have blown up and I'd see articles on it whether I wanted to or not. I don't really see any useful DRM techniques for unprotected MP3s anyway. There'd really be nothing that MS could do with that sort of information.

    However, this actually does make sense. In all honesty, they probably would have worked on a better answer than cutting back on networking, but with the time crunch on releasing it, they probably cut corners here and there (and by probably, i mean definitely and by here and there, i mean everywhere). They probably viewed this as an acceptable cut for the time being because for a majority of users, they use very little of their networking bandwidth. If its just a PC connected to the internet, they'd most likely never notice. The only time this would be an issue is for heavy network usage, which would normally only occur on work-related machines because let's face it, aside from geeks and techies, not many people have systems set up that max out their network bandwidth, so, if they were work-related machines, well, they probably wouldn't be playing that much music to begin with.

    I'm not a MS shill, though I don't assume everything they do has evil intentions. We have to admit that they are great code writers, just not the best. Just because they do shady things here and there (mostly in business practices however) doesn't mean everything they do is evil. This was a problem they ran into and they made a workaround that would only affect a relatively small amount of their users. They were probably hoping no one would notice it at all until they either A) had a fix or B) just let it go because maybe no one would notice it.

    Remember, this wouldn't really slow down your internet unless you have an *extremely* high bandwidth and even then, bottlenecks on the information before reaching you would probably still mask the problem. This is only an issue on system that have heavy network usage on some sort of intranet or other type of local area network, because these would account for the majority of networks that could even use a decent amount of your possible networking bandwidth.

  5. Re:Okay... by rudy_wayne · · Score: 4, Insightful

    "MMCSS is the Multimedia Class Scheduler Service, which a new feature in Vista -- it is not in 98/95/2000/ME/XP. That's why."

    Winodws XP -- can play an MP3 file and video file at the same time with no reduction in network speed.

    Vista -- same computer, same hardware, -- major reduction in network speed.

    In other words, Microsoft tried to "fix" something that wasn't broken.

  6. Hang on a minute... by Spad · · Score: 5, Insightful

    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. The hard-coded limit was short-sighted with respect to today's systems that have faster CPUs, multiple cores and Gigabit networks "Today's systems"? Vista's only been out for a year, just how fucking short-sighted are they?
  7. And then again... by Spy+der+Mann · · Score: 5, Insightful

    it was an IMPOSED, HARDCODED limit WITHOUT ASKING the user. They could just add a registry entry of "maximum network packets per millisecond when playing multimedia files" or something.

    Microsoft has a long history of hardcoding stuff without thinking of power users. Remember the 10-limit for open TCP connections per program? They did this because viruses and malware open many TCP connections. "Hey, what about P2P?" "What's P2P?".

    1. Re:And then again... by Lonewolf666 · · Score: 5, Insightful

      They could just add a registry entry of "maximum network packets per millisecond when playing multimedia files" or something.

      Better yet, allow "throttling as needed if multimedia buffers run low". That would allow unimpaired network performance in systems with enough CPU power.

      But then again, that would have required early planning to include the necessary feedback in audio and graphics drivers. I speculate that the problem was discovered late in the development of Vista, and since nobody wanted to be responsible for another delayof Vista's release, some quick hack was applied ;-)
      --
      C - the footgun of programming languages