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

84 of 423 comments (clear)

  1. Aaah by caluml · · Score: 5, Funny

    Aaah, it's those pesky DPCs in the MMCSS. It's so obvious really.

    1. Re:Aaah by qualidafial · · Score: 2, Funny

      And they would have gotten away with it too, if it hadn't been for those meddling kids!

  2. 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 blahlemon · · Score: 3, Interesting

      On the other hand (and I'm not disagreeing with you) maybe when they were testing the media functions of the operating system they didn't look at the network traffic performance cause they've got nothing to do with each other. Kinda like hearing a noise in your engine; you're not going to check the drivers side door hinges. On the other hand, you're right about the least common denominator. Fortunately we've come to expect Microsoft to play to the least common denominator.

      --
      It take more faith to believe in evolution than it takes to believe in God
    3. Re:Failed engineering by morgan_greywolf · · Score: 3, Interesting

      On the other hand (and I'm not disagreeing with you) maybe when they were testing the media functions of the operating system they didn't look at the network traffic performance cause they've got nothing to do with each other. They have nothing to do with each other -- until you're listening an Internet radio station or a webcast of the keynote from [insert your favorite conference here].

    4. 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.

    5. Re:Failed engineering by morgan_greywolf · · Score: 5, Funny

      Cause no one needs more then 100 mb. Yeah, I seem to remember Bill Gates saying something like "A 100 megabits ought to be enough for anybody!"

      Err...or was that something else? ;)

    6. 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.
    7. Re:Failed engineering by schon · · Score: 4, Informative

      Let's do some math, 10,000 packets, at a standard ethernet packet size of 1.5 K Sorry, what standard are you talking about?

      If you're talking about MTU (which is 1500 bytes, not 1.5K), that's the maximum, not the standard.

      The average packet size depends on type of network traffic. On most ethernet networks I've managed, average packet size was 700 to 800 bytes.

      you would get a transfer rate of 1.5 MB/s, or in more appropriate data transfer units, about 12 Mb/s. That's way faster than most internet connections available on cosumer PCs. Even if your flawed assumptions about packet size were true, how about people with 100Mbps or gigabit networks that aren't downloading from the internet, but transferring files on a LAN?

      I also know quite a few people with 10 Mb hubs still operating on their network. Ahh, and because there are a small number of people stuck with 1995-era equipment, then it's OK for everybody else to suffer horrible network performance?
    8. Re:Failed engineering by daeg · · Score: 3, Funny

      On the contrary, network and media playback have a lot to do with each other. Don't forget Microsoft has a home media server coming out soon. What good is great media playback if you can't play it over the network?

    9. Re:Failed engineering by gladish · · Score: 5, Interesting

      As a long-time Linux user (over 10 years) I was always in the "Windows Sucks" camp. Recently I decided to really understand windows at the level of my understanding of Linux. I just finished a 5 year stint doing Linux systems level programming with the latter 2 years doing more on BSD. After reading "Windows Systems Progamming" by Johnson Hart, I was astonished at the complexity of the windows api (win32). Things that are really straight forward with posix programming are a genuine mess with win32. The nubmer of synchronization mechanisms is overwhelming. But after a while you begin to appreciate the flexiblity that the system provides. I decided to move on and buy "Microsoft Windows Internals" by Russinovich and Solomon and am currently reading that. Again, they expose some nasty details of windows and again you'll be saying to yourself, "Oh my god, they over engineered the shit out of this thing." But they continually bring up what the design goals were and again you begin to appreciate what Microsoft has accomplished with windows. Of course you can't expect the system to be flawless. Linux certainly isn't. If you're a windows user, just be glad there are people like Russinovich who can actually understand the windows kernel enough so that Microsoft can continue to make improvements. If you couldn't care less about windows, then I'd still reccomend either book. If you're into Linux (or any posix-like) systems level programming, check out Johnson Hart's book. It's audience is unix converts. If you're just interested in the windows kernel or are a sys admin, check out Russinovich's book. It's really interesting.

    10. Re:Failed engineering by Rude+Turnip · · Score: 2, Interesting

      The decoding of the sound takes place on the receiving end (ie xbox, media receiver)...

    11. Re:Failed engineering by T-Bone-T · · Score: 2, Insightful

      You've already been made fun of for saying it, but I would like to add a qualifier that I can't believe nobody ever uses.

      Cause no one needs more than 100mb, YET. I don't care that my network is slowing down, it won't slow down enough to hamper my internet connection.

    12. 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
    13. 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!
    14. Re:Failed engineering by grasshoppa · · Score: 3, Insightful

      have you used vista?
      it's a far better user experience than windows XP. if they did put some DRM related stuff in there, I haven't noticed, nor will 99.99% of its userbase.


      Jesus, have *you* used vista? The user intended user experience could be orgasmic, but I'll be damned if I can get the thing stable given the state of drivers for my vista approved hardware.

      In a year it may be better than XP ( and at best, marginally so ), but right now it's hit and miss.

      --
      Mod me down with all of your hatred and your journey towards the dark side will be complete!
    15. Re:Failed engineering by splutty · · Score: 2, Funny

      Let's do some math, 10,000 packets, at a standard ethernet packet size of 1.5 K, you would get a transfer rate of 1.5 MB/s, or in more appropriate data transfer units, about 12 Mb/s.

      Uhm....

      My *internet* link is 20Mb... So yeah. I won't notice...
      --
      Coz eternity my friend, is a long *ing time.
    16. Re:Failed engineering by click2005 · · Score: 5, Funny

      One thing I don't get is how he managed 41.61% CPU utuilization while transferring a file

      4.4% to draw the moving file animation (it re-reads it every time the anim loops).
      3.8% to report to MS about the file you're copying.
      2.1% is wasted on old code that constantly scans memory for pictures of rabbits (Balmer is scared of them)
      1% is needed for WGA.
      2.5% because Vista constantly swaps all application code in and out of the first 640k. Bill still believes its enough.
      1.7% to actually copy the file.

      the rest is just wasted to make CPU graphs look pretty.

      --
      I am a free slashdotter. I will not be modded, blogged, DRM'd, patented, podcasted or RFID'd. My life is my own.
    17. Re:Failed engineering by tji · · Score: 5, Informative

      > Let's do some math

      Okay. But, math doesn't match up with the numbers you typed.

      1,500 Bytes is not the average packet, it's the maximum on most ethernet segments. But, the subject original subject is a stressful network environment effecting music playback. 10,000 packets per second is REALLY cranking the data.. so this isn't simple WWW browsing, etc. This is bulk file transfer. So, a large average packet size becomes more realistic in that environment.. say 1400 Bytes.

      1,400 Bytes * 10,000 Packets per second = 14,000,000 BYTES / sec = 112,000,000 bits/sec = 112 Mbps

      Obviously, that's not even possible on most common home networks, which are 100Mbps. But, an increasing number of people are doing Gig-E at home, in which case 112Mbps is well within the norms for bulk file transfer.

      On modern fast multi-core systems, enforcing a pre-set cutoff for packet rate seems like a poor choice. As the linked article showed, the system had plenty of CPU left and didn't need to be throttled at that low a rate. There are also NIC and Driver factors in there.. others might be more or less efficient than the author's equipment -- offload of parts of packet processing and interrupt minimizing techniques can make a big difference.

      In any case.. It's easy to say "that's what you get for using MS / Vista". But, really.. that's true in this case. Windows gives you the lowest common denominator. It's designed to be usable with any hardware, by users of any experience level, and to avoid problems by assuming a worst case scenario. So, that's the kind of solution you get given the assumptions MS uses. As we've seen in the Linux world, the solution is to take great pains to build a scheduler that holds up to ridiculous stresses.

    18. Re:Failed engineering by dave420 · · Score: 4, Interesting

      So you don't have any idea what you're talking about. This issue has nothing to do with rights management or money farming. It was a mistake that is being rectified. As for the WGA breakdown - that didn't affect anyone negatively for more than a day or two. Microsoft issued help to get it fixed for those hit, and all is well.

      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 :)

    19. Re:Failed engineering by Just+Some+Guy · · Score: 5, Funny

      1% to bring them all and in the darkness bind them. In the land of buffers, where the packets lie.

      --
      Dewey, what part of this looks like authorities should be involved?
    20. Re:Failed engineering by _KiTA_ · · Score: 5, Funny


      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?


      No, he had the OS equivalent of a Winmodem.

    21. Re:Failed engineering by JasterBobaMereel · · Score: 3, Interesting

      This would be the same Mark Russinovich who set up his own company to sell the tools he wrote to find out why windows was so bad and to fix the holes and mistakes in Windows, and so he could write books telling people how to work around the flaws in windows (sysinternals)

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

      --
      Puteulanus fenestra mortis
    22. Re:Failed engineering by robbiethefett · · Score: 2, Insightful

      though there is a certain humor in that what it says is basically true. Ok, so on one hand we have what can be described as the sum of all human knowledge, and on the other hand we have the belief that God exists, created mankind and dinosaurs at the same time about 10,000 years ago, and will send angels riding on flying horses to doom the earth.
      Yea, it's totally reasonable to think that it takes more faith to exist in the real world than it does to believe in ghosts and boogie-men.
      --
      "Luke, you've switched off your targeting computer, what's wrong?"
    23. Re:Failed engineering by Bartold · · Score: 3, Interesting

      Actually, this has nothing to do with failed engineering or Microsoft and everything to do with all of you cheap end users that don't want to shell out money for hardware accelerated audio. Software audio solutions require fine grained timing in order to minimize the mixing latency. Hardware solutions only require big buffers of data to achieve virtually zero CPU usage. I just want to know how many of you suckers out there paying more $1000 out there for a 5% faster CPU instead of $50-$75 for a sound card which would have probably given you then same 5%. Sure you get more generalized CPU processing time for those massive Linux compiles, but the instant you do anything multimedia related you can kiss it goodbye.

    24. Re:Failed engineering by Z0mb1eman · · Score: 2, Insightful

      >But after a while you begin to appreciate the flexiblity that the system provides

      >you begin to appreciate what Microsoft has accomplished with windows

      I've always assumed there's more to it than just "Windows sucks", but I've never had the time to learn about how Windows and Linux work more in-depth so I can meaningfully compare them (nor will I anytime soon).

      Care to give an example or two of things Windows gets right?

      --
      ClutterMe.com - easiest site creation on the Net. Just click and type.
    25. Re:Failed engineering by Master+of+Transhuman · · Score: 2, Insightful

      Or you're one of maybe 100 million office workers who play MP3's they have on the workstation with Windows Media Player or Winamp through headphones while they're working on files over the local office network.

      I can just understand Microsoft not being aware of that scenario - except you can guarantee that EVERY SINGLE MICROSOFT EMPLOYEE just does that. So nobody thought to test that scenario - that was just dumb of Microsoft.

      The real question is why the engineers involved didn't understand the size of the impact on performance. I mean, if you made the mod in order to avoid network performance screwing up media playback, then why didn't they explicitly test the degree of impact on the networking performance AS WELL AS the media playback? They were explicitly degrading network performance in favor of media playback. Why didn't they SEE the performance hit?

      So one has to conclude that this is correct: they simply didn't test it. They just tested the media playback - if in fact they tested that at all.

      I'm reminded of the post at a Microsoft employee's blog last year where a member of the Vista testing team explicitly said that setting up tests was a nightmare that took most of a week - and then when Vista failed the tests horribly, management would STILL sign off on the components as having passed.

      And this is the obvious result of that process.

      --
      Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
  3. Okay... by WhatAmIDoingHere · · Score: 3, Interesting

    So why can my Windows 98/95/2000/ME/XP computers play mp3s without this happening?

    --
    Not a Twitter sockpuppet... but I wish I was.
    1. Re:Okay... by Reverend528 · · Score: 3, Funny

      So why can my Windows 98/95/2000/ME/XP computers play mp3s without this happening?

      Slower Network Cards.

    2. Re:Okay... by Anonymous Coward · · Score: 2, Insightful

      Because they're not Vista. Think of Vista as the operating system that the movie and music industry produced.

    3. Re:Okay... by KiloByte · · Score: 5, Interesting

      So why can my Windows 98/95/2000/ME/XP computers play mp3s without this happening?

      Slower Network Cards.

      Then why exactly XP can handle the music just fine on the very same network card on the very same computer on the very same network?
      --
      The creatures outside looked from Alt-Right to Antifa; but already it was impossible to say which was which.
    4. Re:Okay... by HalifaxRage · · Score: 2, Funny

      Stop living in the past! Sure you can put your old "XP" records on the jukebox, grandpa, but this is 2007! It's the future man! Now I'm off to take the flying car to dinosaur island!

      --
      bomb the us up set someone
    5. Re:Okay... by morgan_greywolf · · Score: 2, Informative

      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.

    6. 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.

    7. Re:Okay... by Opportunist · · Score: 3, Interesting

      The question stands, though, why is an older system capable of playing multimedia content without throttling the network throughput on the same hardware? We're facing the same silicon, so whatever Vista uses to schedule or priorize, it has to mean Vista is less performant than its predecessors. If it was not, there would be no throttling, since said previous versions are capable of playing MMC without throttling the NIC.

      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.

      --
      We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
    8. Re:Okay... by Daengbo · · Score: 2, Insightful

      Shouldn't any computer powerfull enough to run Vista be "powerful enough to not need such a draconian throttling?"

    9. Re:Okay... by morgan_greywolf · · Score: 2, Informative

      In other words, Microsoft tried to "fix" something that wasn't broken Well, on some machines and in some environments, heavy network traffic can cause an XP machine to slow down, particularly on older/slower hardware. Geeks tend to run stuff that, even if it's not the latest, is amongst the top performers for its generation.

      My wife had an e-Machines 1.2 GHz Celeron machine (purchased before we were engaged) with an el cheapo Intel 810 chipset. When she was still running Windows XP, she'd complain all the time about audio dropouts -- I found that these occured during high periods of disk activity or network traffic. Adding memory improved things from the disk side, but network I/O still sucked on XP. When we switched her to Fedora Core 4, and later to Ubuntu Breezy, things improved a lot. I'm guessing if Vista didn't have such high system requirements, this feature would actually have helped her.

      On her new machine, an Athlon 64 x2 3800 with 2 GB of RAM and a nice VIA chipset with on-board 6-channel audio, on-board GigE, etc., I'm sure she'd be complaining about the network performance instead of dropped audio if she were running Vista instead of Ubuntu Feisty. :)
    10. Re:Okay... by rbochan · · Score: 4, Informative

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

      No, in other words, Microsoft/**AA tried controlling something they weren't in control of before.
      Where do you want to go today, indeed.

      --
      ...Rob
      The American Dream isn't an SUV and a house in the suburbs; it's Don't Tread On Me.
  4. Oblig by phasm42 · · Score: 4, Funny

    10,000 packets/second ought to be enough for anyone.

    --
    "No one likes working in a hamster wheel, and your shop smells of cedar shavings from here." - TaleSpinner
  5. No problems here by Anonymous Coward · · Score: 4, Funny

    I have [Cancel][Allow] no idea [Cancel][Allow] what slowdowns they [Cancel][Allow] could possibly be [Cancel][Allow] talking about!

  6. Re:Well that's just not true by MBraynard · · Score: 2, Insightful
    While that might reduce bandwidth for your intended puposes, it would not limit the total reported network bandwidth.

    But don't let logic or common sense get in your way.

  7. I can hardly wait by bunhed · · Score: 2, Funny

    Can't wait until the "glitch-resistant mechanisms" migrate throughout the rest of the Vista. It's gonna be awesome!

  8. 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. Re:Dumb dumb dumb by rbochan · · Score: 2, Funny

      ...But shouldn't I, the user, get to decide what's more important?

      Apparently not, if you use Microsoft products.

      --
      ...Rob
      The American Dream isn't an SUV and a house in the suburbs; it's Don't Tread On Me.
    4. Re:Dumb dumb dumb by PJ1216 · · Score: 2, Insightful

      Wouldn't it be better to just let the music skip, as that's most likely the more unimportant and can easily be shut off? Heck, if not listening to music makes the difference between going home on 5 and working for two hours longer I'd happily choose silence.
      That's also an assumption as well. Personally, I rarely have any heavy network usage, though it will spike. If I used Vista, I would rather the network be throttled than the music skip. I'm assuming a majority of computer users are not hardcore users and therefore they were the ones catered too. However, you're second point about not knowing its the media player causing the throttling is a valid point. It would have been better to make this throttling mechanism an option as opposed to forcing it on people. Though, if I were to force the option, I'd choose the same as they did. It's much more likely they'll appease more people than piss off. Hell, most of the people that would be pissed off probably aren't using Vista anyway =P
    5. Re:Dumb dumb dumb by Panaflex · · Score: 3, Insightful

      The important point, which the vast majority of posters here are missing, is that the problem should never even exist in the first place.

      They know why.. it's the kernel-mode encryption required to send audio to the card. There's two engineering failures here:
      1. thread locking is accomplished by raising the interrupt level to DPC (KeAcquireSpinLock)
      2. Requiring several steps/levels of encryption to interract with the audio card.

      The real issue is a combination of utilizing DPC interrupts for basic thread locking (which thrashes the scheduler during long halts) and encryption (which requires long halts).

      The real fallacy, IMHO, is thatMS thinks that because it's in kernel mode that it's immune or safer from attacks - so they created lots of "security features" in the kernel. In many ways this makes attacks much simpler - as you can simply move your code into kernel mode which has fewer limits than user mode!

      --
      I said no... but I missed and it came out yes.
  9. 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.
    1. Re:Wow... by TeknoHog · · Score: 2, Insightful

      It's interesting to note how Unix philosophy ties in with this difference between Microsoft and open source. With unix, there's no single defined 'user experience' to be optimized, because the components can and will be combined in various ways. Then it's the individual components and the interfaces between them, that will be tweaked and optimized.

      --
      Escher was the first MC and Giger invented the HR department.
  10. 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.

  11. Vista is a turd by Anita+Coney · · Score: 4, Interesting

    Why should Vista have any problems playing audio and videos?! I have an ancient 550Mhz PIII with only 256 megs of ram running W2K and it plays MP3s and video (divx and xvid) much more smoothly than my wife's Vista system (2600+ AMD, GeForce 6800XT 512MB 256-bit GDDR2, 1.5 gigs Ram). My wife's system used to run XP Pro and it rocked for everything, including games. Now even old games such as Sonic Heroes will barely run on Vista.

    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.

    --
    If someone says he and his monkey have nothing to hide, they almost certainly do.
  12. Re:Russinovich by Christopher_G_Lewis · · Score: 2, Interesting

    No.

    Have you ever seen a talk by Mark?

    While he might be on the Microsoft payroll, he is definitely NOT one to sell-out.

  13. Completely Unfair Scheduler by Cyberax · · Score: 4, Funny

    Microsoft should hire Con Kolivas to fix their Completely Unfair Scheduler :)

  14. New definition of a Kludge here, I think by Ancient_Hacker · · Score: 3, Insightful
    Okay, I probably would have applied this patch to my software, at 2Am, with a mental note to remove it in the morning and do the right thing, smarten up the task scheduler, perhaps with an app callback saying "I'm falling behind, could you boost me up a bit?".

    As goes without saying, arbitrarily throttling one particular task, at some arbitrary level, is the wrong thing.

    Perhaps this could go in Wikipedia under "Kludge"?

  15. 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?
  16. Re:Hmmm by Anonymous Coward · · Score: 2, Funny

    Well, I use and love some MS software like the next guy.

    You mean, not at all?

  17. Re:Isn't MS going about this all wrong? by dBLiSS · · Score: 2

    "I think the real fear is the DRM layers that are built into Vista are at the root of this problem"

    If you RTFA it explains that it isn't DRM causing the problem.

    --

    The Good Life
  18. Engineering for profit vs. for improvement by IgD · · Score: 2, Interesting

    I think this is a great example of why the open source development model will lead to better outcomes. Microsoft apparently tweaked Windows for profit instead of to improve efficiency or user experience. This design flaw would have been identified immediately in the open source world and would have been rightly discarded.

    1. Re:Engineering for profit vs. for improvement by Mathinker · · Score: 2, Insightful

      > tweaked Windows for profit instead of to improve efficiency or user experience

      Did you read the article? It was obviously tweaked to improve the "user experience"; the painful difference between OSS and this being that Microsoft arbitrarily decided for all of Vista's users what "user experience" they would like to experience (i.e., skipless media playback as opposed to maximum network performance). There were bugs in Microsoft's solution, but there are also bugs in OSS.

      OSS projects, however, are (usually) much less dictatorial in deciding what the user wants; they can't be, actually, because if he doesn't like what they give him, he can just fork-and-run.

  19. Re:Well that's just not true by gazbo · · Score: 2, Interesting
    Hello, I enjoyed your post and therefore felt you deserved a reply. Feel free to add that to your CV.

    http://it.slashdot.org/comments.pl?sid=280101&cid= 20366549
    http://it.slashdot.org/article.pl?sid=07/08/26/162 8200
    http://it.slashdot.org/comments.pl?sid=280101&cid= 20377327

    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.

  20. 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
    2. Re:And then again... by Laebshade · · Score: 2, Informative

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

      You're almost right. The limit is for half-open connections: these are connections in the process of being made; however, this can effectively limit your amount of connections for things like bittorrent, because you connect slower than other peers. When you're constantly disconnecting and reconnecting to new peers every second, it becomes a problem. Hitting an artificial cap on half-open connections causes problems with surfing, too. Some bittorrent programs, like uTorrent, have a setting to limit the amount of half-open connections, so they won't interfere with other web activities. Fortunately, for Vista and XP, which employ the hard limit of half-open connections (tcpip.sys), there are patches available.

    3. Re:And then again... by AaronW · · Score: 3, Interesting

      I had to implement something like this to dynamically throttle packets back based on the load in a router type box. It's not rocket science. I think Linux (if it doesn't already do this) could do it fairly easily with their NAPI networking interface, since the OS can slow down polling and assign a higher priority to audio and video.

      --
      This post is encrypted twice with ROT-13. Documenting or attempting to crack this encryption is illegal.
    4. Re:And then again... by lordtoran · · Score: 2

      They could just add a registry entry of "maximum network packets per millisecond when playing multimedia files" or something. I would prefer a decent I/O scheduler.
      --
      Want to hear the voice of GOD? cat /boot/vmlinuz > /dev/dsp
    5. Re:And then again... by Xtravar · · Score: 3, Insightful

      it was an IMPOSED, HARDCODED limit WITHOUT ASKING the user. Not to start a flame war, but isn't this exactly what people find so great about Macs - that the OS designers made all the decisions for them?

      Most coders don't want to add a registry setting. Most users don't want to touch it.

      There's obviously just something wrong with their big picture view if they can't get this shit straight. It's probably because the network and multimedia teams are separate and don't know what the others' doing.
      --
      Buckle your ROFL belt, we're in for some LOLs.
  21. Re:Isn't MS going about this all wrong? by Macthorpe · · Score: 2

    Wow, your incredibly well-thought argument has swayed me! Time to burn my Vista DVD, reformat my computer and install Ubuntu! ... No, wait, that was a lie. Sorry about that.

    --
    "It does not do to leave a live dragon out of your calculations, if you live near him." - Tolkien
  22. Pocket Watch by raijinsetsu · · Score: 2, Funny

    My pocket watch plays MP3s while keeping time, as well as keeping track of my schedule, so why is it my top of the line dual-core machine with 4gb of ram, the fastest disks on the planet, and the newest, most innovative, most secure, and best operating system there ever was can't do the same? OMG... It's a virus... "format c:"... all better... *wry sarcasm*

  23. How short-sighted? by wild_berry · · Score: 3, Insightful

    I'd had two CPU's and Gigabit Ethernet for three years by the time that Vista was on sale to the public. That's not simply "short-sighted with respect to today's systems", that's a total let down to businesses who have high-performance workstations.

  24. Wasn't AV playback conquered years ago? by zerofoo · · Score: 2

    While I was a consultant years ago during college, a co-worker had an old 486 machine and had Winamp playing a file off of a 3.5" floppy disc and it worked perfectly.

    Sure, video (especially HD content) has much higher bandwidth demands, but local video playback has NEVER been a problem on any machine I've owned in the last 10 years. I remember IBM thinkpads with PII 266 processors that could easily play DVDs.

    The only explanation for Vista's media playback design decision must be to compensate for the huge processing overhead that Vista creates. Poor fundamental design decisions necessitated hacks like this prioritization scheme.

    -ted

  25. Hard coded numbers (10k packets/sec)? by ihavnoid · · Score: 2

    Although I think some kind of multimedia-aware scheduler is absolutely necessary, it simply looks insane to hard code the network device to drop the rate to 10k packets/sec. This makes me sort of feel like they added MMCSS on the last moment of vista design, or they simply didn't think hard enough.

    There can be two possible solutions
    1) dynamically change the packet rate depending on the multimedia workload/processor/whatsoever
    2) dropping network packets not on the NDIS, but on the TCP/IP driver, which starts dropping packets when multimedia processes runs out of processing power

    Yes, I understand that your PC plays mp3s without any problem even on a GB ethernet connection. However, I don't think the MMCSS is a flawed concept/unneeded feature/whatsoever. The MMCSS is for improving multimedia performance on EXTREMELY heavily-loaded processors. I use XP, and my PC is occasionally heavily loaded with a dozen threads, and in those cases I occasionally experience glitches. Thus, I have to manually adjust thread priorities, but it's annoying anyway.

    The problem is a flawed implementation - nothing else.

    ps : I wish there was some method to reserve some processing power for launching taskmgr, so that I can kill problematic processes with ease. Any suggestions?

    1. Re:Hard coded numbers (10k packets/sec)? by WhiteWolf666 · · Score: 2, Insightful

      It's not a flawed implementation, its defective by design (and I don't mean DRM'd, I mean literally).

      On Linux, with the CFS and/or SD schedulers, if your nice levels are set correctly, sound (MP3) will play just fine with your processor(s) pegged at 100. Heck, forget about sound; you can run multiple Quake 4s with high-speed LAN transfers in the background, and everything works just fine (network transfers slowdown slightly, Quake 4's FPS scales down linearly with the number of sessions running, but there are no "hitches" or "glitches", and everything runs smoothly).

      A common Microsoft approach to problems with Windows is to create a new daemon (oh, excuse me, Service) that "regulates" the offending behavior. This is not the correct way to fix these problems; rather, there are underlying issues that need to be resolved.

      You say:
      The MMCSS is for improving multimedia performance on EXTREMELY heavily-loaded processors. I use XP, and my PC is occasionally heavily loaded with a dozen threads, and in those cases I occasionally experience glitches. Thus, I have to manually adjust thread priorities, but it's annoying anyway.

      I say it's not about manually adjust thread priorities, or creating a Service that will automatically (dynamically or not) do that for you. Rather, you should have a kernel that better manages multitasking in processor starved scenarios. There's no reason that a particular program running at a particular nice level shouldn't demand a minimum CPU percentage, which for stuff like playing MP3s cannot possibly be much.

      --
      WhiteWolf666 an exBush supporter. All you new-school,compassionate,save the children Republicans can rot in hell
  26. Re:never trust anyone over 40... by DannyO152 · · Score: 2, Funny

    Oh fuss and bother. Another apparent glitch in my plan to pass as young. It's back to the drawing board to get out the slide rule and adding machine.

  27. Corporate Lingo by DaveDerrick · · Score: 2, Insightful

    Just what is a "glitch-resistant experience" ? Before he was in M$ payroll, Mark would have called this something else. Sorry, but his "technical authority" value, that Microsoft are hoping to use to explain away their bugs, has lost all value now he's making their excuses for them.

  28. Vista media playback worse than 486 by farbles · · Score: 5, Interesting
    I used to play mp3s with no stuttering on a 486-100 using DosAmp. I cannot play mp3s or video without stuttering on Vista with a dual core 2.4 GHz CPU, 4 GB RAM, 500 GB SATA drive. I can put my XP SP2 drive on the same computer and play media flawlessly while (gasp) multitasking. Like the man says, Vista is a turd.

    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.

  29. Re:Never Mind the Bandwidth, Feel the Vibe by hxnwix · · Score: 2, Funny

    There's good reasons to attack Slashdot. Its business practices, internal workings, and products have a history of abuse, contradiction, and stupidity behind them. I wave no flag for Slashdot and Subscriptions are a pain in the ass that's priced itself out of the market but the look and feel of Digg is heading for the basement. I'd be careful of this because when Slashdot sort themselves out the only thing you'll be left with is hate. As that has nothing to grip on people will see it for what it is and walk away.

    Slashdot is focused on improving its products and reaching out to new markets. Meanwile, the comments on Digg continue to get less informative and relevent to people outside its core audience. From being some great visionary power that could tear down someone's server with the mere waving of a hand it's become the problem. It has no clear forward vision and most servers just shrug off the famed Digging. Slashdot has changed. The world has changed. Meanwhile, Digg just tears itself up in frustration.

    Wake up.

  30. From the article... by mariushm · · Score: 2, Insightful

    As written in the article...

    Besides activity by other threads, media playback can also be affected by network activity. When a network packet arrives at system, it triggers a CPU interrupt, which causes the device driver for the device at which the packet arrived to execute an Interrupt Service Routine (ISR). Other device interrupts are blocked while ISRs run, so ISRs typically do some device book-keeping and then perform the more lengthy transfer of data to or from their device in a Deferred Procedure Call (DPC) that runs with device interrupts enabled. While DPCs execute with interrupts enabled, they take precedence over all thread execution, regardless of priority, on the processor on which they run, and can therefore impede media playback threads. They're saying that every packet received causes an interrupt request, which causes the CPU to get loaded at high transfer speeds.

    Apparently they haven't heard of interrupt moderation or polling, technologies that are used by network cards to offload the CPU.

    Even my Marvell semi-hardware (I think) Gigabit on-board network card used about 14% CPU (Barton 1833Mhz) when transferring files at about 45Mbps.

    I don't know, everything seems really stupid, and I'm not sure it's just a "bug", or their description is just a part of what really happens behind the scene.

  31. Re:Russinovich by LordSnooty · · Score: 2, Insightful

    I think it's right to at least pose the question, though. Before, Mark was a Windows expert working independently, and was able to voice opinions as he saw fit. Now he's a Windows expert being paid by the company that makes Windows - the very success of Windows Vista will dictate how long his job lasts. He now has an interest in assuring customers and investors that things aren't as bad as they might be. Now, it's all about the bottom line. Of course, he's built up a lot of trust amongst the community, trust which MS themselves are now paying money for. Whilst we can continue to trust him, until proved otherwise, it's not wrong to least ask the question.

  32. R.I.P Mark Russinovich by Coward+Anonymous · · Score: 3, Interesting

    Back when sysinternals was still independent, Mark provided real information with real criticism when things were wrong. Apparently, things have changed.
    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?

  33. Not just piracy!!! by marcosdumay · · Score: 2, Funny

    P2P is also widely used to dowload free software! Mainly Linux distros! Oh... Nevermind.

  34. Disabling MMCSS fixes the issue by microbee · · Score: 2, Informative
  35. Mod parent redundant ;-) by Ernesto+Alvarez · · Score: 2, Insightful

    1% to bring them all and in the darkness bind them. In the land of buffers, where the packets lie.


    So, basically the GP poster was right: 1% goes to WGA.