A curious network performance reduction noticed by many Windows Vista users of the 2CPU forum that became the talk of Slashdot last week has been identified as having been caused not by DRM, as Slashdot users expected, but by a curious prioritization ‘feature’ of Vista that’s intentionally biased toward Media Player at the expense of network and system resources.
The article in short: Processes that declare themselves to be multimedia processes — like Windows Media Player does — are given the lion’s share of processing time. These tasks are considered to be ‘user-critical,’ that is, tasks that the typical end user wants to be done without any slowdown or hiccups (movies that don’t hang, music that doesn’t skip, etc.), in favor of less critical tasks (background defragging, while a handy preventative measure, is not critical to the operation of Windows).
The article in short-short: Stop playing DVDs on company servers.
The funny thing is that anything above 1 GhZ is perfectly capable of playback without hiccups even under heavy load – without affecting network bandwith. So one can wonder how come Microsoft felt compelled to make an unnecessary change with Vista.
I suppose you haven’t really tried to play back much if that’s your opinion.
My experience with Athlon 64 3700+ shows that playback isn’t perfect if it’s under load. And that’s for normal 640×480 videos that are not even encoded with h264.
Umm, you sure there is nothing wrong with your setup? I’ve got a Athlon XP 1.43ghz connected to my TV for movie watching pleasures, and it can play back 640×480 videos just fine without any hiccups…Actually, it can even record video at 640×480 at 25fps and still have some spare CPU time left. Though, I haven’t tried h264 encoded material on it, but everything else works just peachy.
If it’s otherwise idle, then yes it’s smooth playing, but my comment was about playing the file when the computer is otherwise under load.
That includes, but is not limited to, copying large amounts of files to/from the computer that is playing the video.
If that’s enough to make playback stutter you’ve got to fix your setup.
I don’t have problems with playback even when moving many GBytes. I can even move the film I’m watching without any hiccups. On Windows only WinRAR has managed to create issues – or starting applications while watching movies (which happens rarely due to the passive nature of movie entertainment).
On Linux I haven’t noticed any problems so far, except for the combination of music playback and Nautilus hanging. But it’s perfectly possible to have many programs running in the background, incl. converting movies, moving several GB of data, and downloading through several clients – all at the same time. Works fine in Win2K, XP, Win2K3 and my gentoo installation. If Vista has problems with this it says more about Vista. It isn’t a problem with earlier versions of Windows (NT).
EDITED: Fixed quote tag.
Edited 2007-08-28 12:24
If “fixing my setup” means getting a PCI/PCI-e NIC instead of running the integrated gigabit one, getting a real soundcard instead of running the integrated “HD Audio”, etc. and ending up with a setup that costs a lot more, then it simply equals tossing more resources at the problem.
While it is annoying when it happens, it’s by no means worth the extra money to fix only that.
Fact is that it does happen for me and many others, even if you say you have been spared.
The problem that Vista causes is pretty minor and will be fixed in time.
Hopefully to a more dynamic solution rather than simply upping the hardcoded limit, and make better use of multicore when available.
MS have already admitted that the network performance drop on gigabit network is much larger than intended, so personally I’m content with waiting for a solution now.
You’ve shelled out for the most expensive consumer OS, and now you need a fix so it’ll work better on your super cheapo computer hardware?
I don’t see that as a flaw (maybe because I’ve never seen the behavior you describe).
What I worry about is the ability to declare yourself as a ‘user-critical’ process is essentially unrestricted, an on-your-honor thing. The abuses are just too powerful; I would think that there would have to be a whitelist to be allowed to use this priority, at least one controlled by Microsoft if not one controlled by the enduser.
We all remember back when popup ads first reared their ugly head how Microsoft declared that they would not be adding a popup blocker into IE4. They predicted that any site that maliciously used popups would be quickly abandoned by the Internet community, and that sites that used pop-ups as they were intended (to provide information for applets, f’rex) would be punished for other’s sins by including a pop-up blocker in IE4. Before that, it was not including memory protection in Windows 95, as there were legitimate uses of it and any company whose products abused it would quickly kill themselves in the market and become dead weight on the shelves.
I think MS trusts third-party companies a little too much…
Can we say anything above a 233 MHz can? I honestly have not tested slower, but Z! in OS/2 plays great and doesn’t slow my network down.
133Mhz PII run Beos 5.0.3 will run 640*480 video using VLC 0.8.6c run play videos fine if there no other load, my 533MHz desktop plays the video fine unless I use FireFox to do my downloading. Use NetPostive, NetNautiX, NetPenquin or BeShare to download and I see a perfect video with no problems.
The idea that anything over 1GHz should have any problems handling media and networking at the same time is silly. MS messed up in their code somewhere.
The scheduling framework is really simple, and has been well-known to the public since last summer. WMP runs as a real-time (high priority) task capped at 80% of each timeslice. In other words, it almost always runs while it has stuff to do. If WMP becomes CPU-bound, it is designed to run in 8ms chunks, leaving the rest of the system with low throughput and extremely high latency.
I disagree with this approach for several reasons. First, any task with an extremely high static priority and timeslice ratio will severely degrade overall system responsiveness. In most systems, even dating back to the 70s, priority and timeslice are manipulated incrementally and dynamically to provide balanced behavior as a task because more sleepy or more hoggish. This approach is a blank check rather than a structured settlement.
More importantly, though, it doesn’t appear that the priority level or the timeslice cap are tunables. I realize that it’s useful to be able to prioritize a single application over anything else. But if the bias is static, then it must be adjustable. Two sliders would be ideal, but in practice, a priority slider would have surprising behavior. This is because priorities are static in Windows, so moving one task’s priority past another’s could have a sudden and dramatic effect.
Why is WMP such a performance-killer in Vista? Just because it has a blank check doesn’t mean it runs when it has nothing to do. Is it really consuming such an outrageous amount of CPU time? My guess is that latency is more of an issue than throughput. In other words, it isn’t so much that WMP is using too much time, but rather that it’s using it in big enough chunks that overall system responsiveness deteriorates.
So the first step toward fixing this problem would be to lower WMP’s timeslice ratio until responsiveness becomes acceptable. WMP would still run (mostly) uninterrupted and early in each timeslice, but it would use the CPU in smaller chunks. It’s possible that Microsoft will need to speed up the timeslice timer from 10ms to maybe 5ms in order to get small chunks without starvation.
What we learned from the Linux O(1) scheduler (and also FreeBSD’s ULE) is that timeslice-based schedulers can get very fiddly and prone to edge cases as you tune and tweak. CFS doesn’t have timeslices. The main tunable is granularity, which is essentially the problem with WMP in Vista: the granularity is too high.
Edited 2007-08-28 02:48
Windows Vista scheduler is better than linux.
Between the lines. MS were worried that all their DRM related encryption/decryption of multimedia streams would take up too much CPU and people would notice dodgy playback.
So MS just upped the process priority until these side-effects disappeared.
“MS were worried that all their DRM related encryption/decryption of multimedia streams would take up too much CPU and people would notice dodgy playback.
So MS just upped the process priority until these side-effects disappeared.”
If that’s the case, then why are only Gigabit networks affected? Why does playing non-DRM multimedia manifest the problem even though such multimedia undergoes no encryption/decryption? Why is it that DRM’ed media on XP has no problems with “taking up too much CPU”?
There’s no evidence that this screwup is due to DRM, but believe whatever you want.
Edited 2007-08-28 10:59
HDCP and HDMI Video/Audio in Vista is encrypted.
The CPU has to do lots of extra work to encrypt/manage the data that is sent down internal busses. This was not a feature of XP.
http://www.cs.auckland.ac.nz/~pgut001/pubs/vista_cost.html#cpu
Can’t say anything about Vista, but iTunes in MacOSX seems to employ similar philosophy, the music will play no matter what while other programs battle for their CPU/memory slots. It makes sense though, because you could be waiting for an app to do its thing in deaf silence or you could relax and keep listening to those tracks. After all equal priorities won’t speed things all that much if at all…
I guess that kind of makes sense. But what doesn’t make sense is why this wasn’t a problem on XP. Or why I haven’t heard skipping on any kind of audio in years on any system running any OS.
The last time I had media performance problems was when I was running Gentoo with Gnome on a ’98 beige G3 in 2004 and trying to listen to music while something was emerging.
Has anyone else here had problems like this when not running Vista?
Edited 2007-08-27 23:00
I’ve run Windows XP Pro for years since it came out, up until a couple years ago when I switched almost completely to Linux. Winamp was always my player of choice. I do recall several times when, under heavy loads, the music would basically keep looping a section of the song while heavily processing something else, but I honestly can’t remember what it was hogging the resources or when it last happened; I don’t even remember what programs were installed and what ones were running. All I know is that I think my lack of memory–only 256MB–is one of the biggest culprits; Windows is a memory hog, and seems to make bad use of its virtual memory.
This has also happened in previous Windows (9x) releases on different, older machines, although I remember even less about those… only that I was running Winamp back then, too.
Edit: Now that I think of it, it may have been buffer settings; I remember changing the buffer values to something higher than default, and this mostly corrected the problem if I remember right. So… well, I’m not quite sure…
Edited 2007-08-28 00:46
Perhaps because XP was (and is) a rather stable product, whereas Vista is not. I don’t understand why some people are amazed by the issues with Vista. It’s common knowledge that any Windows should be still considered beta, no matter what Microsoft says, until at least SP1. People went and installed Vista in spite of this, yet now they complain of this and that. Why do that? What was so wrong with XP that they couldn’t wait for Vista SP1? I don’t know. Whatever. I guess someone‘s gotta do beta-testing for Vista and be the guinea-pig. So thanks to all current Vista users for a better SP1.
Edited 2007-08-28 12:53
Thats not my experience. I’ve seen itunes choke playing mp3s on my Macs (g4 ibook, 2.16ghz c2d mbp, and 2.4ghz c2d imac). Doesn’t take all that much. Do something that creates a lot of disk I/O and itunes will skip.
Itunes runs at the same nice level as everything else. Only a select few processes on OS X run with a nice level other than 0.
Its funny, because it doesn’t on windows. Just the other day I was DJing a party off my laptop while getting some work done. I found with a lot of stuff open, I would start getting skips from iTunes when doing something cpu intensive like recompiling a page.
I kind of thought that this is what might be going on. There are good reasons to prioritize real-time tasks like audio or video streaming. However, it appears that Vista isn’t doing this as well as it could, and may be giving up more performance than necessary to assure no skips.
ok prioritising sound before network sounds ok.
but there is somthing wrong. when the network speed drops to 10 or 20% on a dualcore rigg you cant say that playng a mp3 would take that much resorces and even worse the file dosent even need to be played. if the multimedia player is paused the same slowdown appers. this is a bug and hoppfully ms will have a fix soon
Russinovich’s characterization of the throttling trigger as “hard-coded” may be an indication that the company’s fix may involve giving the user a choice of which services should be pared down when crunch time comes, system services or multimedia. But with the sheer number of system services Vista now runs, crunch time may be coming too often anyway.
I don’t think Micsosoft is going to allow customers to choose which services are alloted more processor time. I think they are more likely going to alter the trigger from being hard-coded to a variable based on detection of network speeds.
It seems that the people that replied to this thread have said nothing about the real issue which is the hard-coding of network speeds to 100Mbit. This is bound to cause problems on networks that don’t operate at 100Mbit. It was a stupid move but one that shouldn’t take much effort to fix.
Hmmm, it seems like we have a proc neutrality debate on our hands! Microsoft wants to throttle certain types of tasks (moving content) in favor of others (consuming content). But they don’t own our processors, and we don’t (typically) share them with other Microsoft customers. Even if people find this tradeoff acceptable (which I don’t doubt), we should be able to disable or adjust this throttling to fit our needs.
As for the hard-coded throttling, this is just ridiculous. The very least Microsoft can do is base the throttling on a hardware calibration loop to compensate for differences in network and processor performance. In other words, figure out the average processor time per second required on your system to process packets at your network speeds. They can build it into their upgrade treadmill index thingy (forget the name).
But even better, they should dynamically adjust the relative timeslice ratios of realtime tasks at runtime. If we drop excessive packets because the network driver is starving, give a bit more to the network. If we drop a sample/frame because the media player is starving, pump it up. A steady-state equilibrium should be established very quickly as network usage and/or media workload changes.
You mean with all that processing power Vista can’t play an MP3 and network at full speed at the same time? C’mon, that’s shoddy design! My ten year old Mac can do that.
“You mean with all that processing power Vista can’t play an MP3 and network at full speed at the same time? C’mon, that’s shoddy design! My ten year old Mac can do that.”
Huh? What exactly are you “calling BS” on?
You say it’s “shoddy design”, well that’s what Russivich is saying (not “shoddy”, but more like “sloppy”, in that Gigabit networks weren’t properly considered). You’re essentially agreeing with Russinovich’s assessment. I don’t know what your “calling BS” on.
Besides that, did your 10-year old Mac have Gigabit networking? Somehow I doubt that.
He’s taking about all the processing power you need to run Vista. You know, Dual Core, 2 gigs of ram etc.
It is something to hang your hat on. I mean if a Dual Core can’t run an MP3, somethings up.
That’s what he and to a certain extent, I, are saying.
“I mean if a Dual Core can’t run an MP3, somethings up. “
You’re darn right “something is up”, and that “something” is described in great detail by Microsoft’s Russinovich. So I’m still unsure what exactly is your and the other guy’s point.
Are you upset that Russinovich explanation isn’t damning enough? He described the implementation of this design as “short-sighted” in that it didn’t take into account Gigabit networks. Maybe “short-sighted” isn’t strong enough for you, so use whatever adjective you want if it makes you feel better.
Or are you calling Russinovich a liar?
If you have a point, can you make it clear by stating it plainly?
LOL
I see my previous post was modded down to -3.
God forbid that anyone dare ask someone to clarify what point he’s trying to make. Just as long as the point appears to be MS-bashing, it need not be clear, just that it’s MS-bashing is merit enough for the point to stand on its own, no matter how vague or cloaked in innuendo it may be.
Two people have “called BS” on Russinovich’s analysis, and they refuse to clearly say why, and any request that they make their reasons plain is modded down by those that can’t stand to have an actual discussion on the issues.
Using words like “bullshit” is almost certain to get modded down here, no matter the content of the post. Happens to all of us, so you can’t take that of proof.
But since you like to claim everybody disagreeing with you are idiotic fanatical FLOSS-zombies, it might be you have a very short leash. Especially compared with your own lack of balanced viewpoint, though you are no way near the same “class” as a certain windmill
God forbid that anyone dare ask someone to clarify what point he’s trying to make. Just as long as the point appears to be MS-bashing, it need not be clear, just that it’s MS-bashing…
Sweetheart, throttling your network speed back to 10% – 15% of full in order to play a MP3 when there is no reason to do is just plain stupidity. No other OS does this, and no other OS has unacceptable amounts of latency that makes it necessary to do that when it comes to multimedia either.
I suggest Microsoft’s engineers join the LKML and get involved in all the scheduling debates that have already been made.
Two people have “called BS” on Russinovich’s analysis, and they refuse to clearly say why, and any request that they make their reasons plain is modded down by those that can’t stand to have an actual discussion on the issues.
I’m not entirely sure what debate you want to have. You can talk about how Russinovitch has explained this until the cows come home, but it is just totally unacceptable for a modern operating system to do this and people are entirely justified in speculating why.
The article mentions that Vista favours multimedia when the CPU is stressed, but the CPU is simply not being stressed by playing a MP3 and using the network at the same time.
From TFA:
“But the amount of throttling Microsoft engineers intentionally chose to employ was based on their assessment of 100 Mbps networks, where fragmentation is great enough that packet receive rates are high.”
The problem with this is, what on Earth has a multimedia process got to do with network throttling? Why have other processes not shown this behaviour up? There is simply no need whatsoever to trade off network performance, as per Microsoft’s original response.
This doesn’t really explain anything. I’m just wondering if Vista’s new, pointless, userland audio system is causing performance issues not only for itself, but for everything else.
Edited 2007-08-28 14:08
It was broadly introduced in 2000 with Apple computers (http://en.wikipedia.org/wiki/Gigabit_Ethernet#History). So 10-year old maybe not, but 7-year old definitively.
Few gigabit switches supported appletalk back then and OSX was not long out so upgrading a Mac network to 1Gb wasn’t a realistic option for a while after.
>Few gigabit switches supported appletalk back then
Even in 2000, nobody used plain appletalk.
Appletalk over IP was used for Mac filesharing and normal TCP/IP for almost everything else. Nothing that needed special support from switches.
Not a horrible bug, should be easily fixed, but still points to shortsightedness and poor testing. MS optimized multimedia playback throttling for 100Mbs networks, but didn’t bother to test with Gigabit networks, which are the networks that are having the problem.
As a computer musician, the high thread priority given to audio streams is great – it means that I will be able to get much better latency in my sequencer and run more tracks and plugins. However, it is pretty piss poor that they didn’t consider gigabit networks and that network performance suffers so badly – if I am using a gigabit networked drive with my audio apps, this could be a problem. Interested to see what sort of fix is made.
The big thing for audio guys on vista is WaveRT, which is a different way of doing sound. Unfortunately, it requires hardware support, so we aren’t seeing much of it yet (I’m stuck using the ASIO4All shim driver for my stupid embedded sound card on my laptop). But once the cards start coming out, Vista will be giving OSX with coreaudio a run for its money.
Yes, but CoreAudio works here, now, on just about any Mac, since 10.2
It’s quaint that Vista could give CoreAudio a run for it’s money, but that money has long been earnt / spent in audio production based on Macs for years now.
All Vista’s new audio stack is going to do for end users is maybe prevent the startup sound from stuttering.
All Vista’s new audio stack is going to do for end users is maybe prevent the startup sound from stuttering.
And the per-stream volume adjustments. I curse the moments I forget to turn off Adium’s and Colloquy’s sounds while watching Dead Like Me. I almost get a heartattack when I’m watching an emotional scene and someone gets promoted to OP in #haiku .
“Yes, but CoreAudio works here, now, on just about any Mac, since 10.2
It’s quaint that Vista could give CoreAudio a run for it’s money, but that money has long been earnt / spent in audio production based on Macs for years now. “
I don’t know how Vista’s audio stack compares with CoreAudio, but I’ve never understood the line of thinking that underlies your statement. Are you saying that because CoreAudio achived a certain level of audio capabilities a few years ago that Microsoft should make no attempt to improve their own audio stack, or if they do, they should be bashed for the effort? That, as a general principle, if Product A had feature X before product B, then it’s bad for Product B to ever include similar features? Makes no sense.
“All Vista’s new audio stack is going to do for end users is maybe prevent the startup sound from stuttering.”
Um, no.
This avsforum thread started by Amir Majidimehr, head of MS multimidea, explains Vista’s audio improvements in great detail. I don’t know how it compares with CoreAudio (from reading the avsforum thread I suspect that it surpasses CoreAudio, but I don’t really know), but I do know that it blows away XP, which is Vista’s prime competition, not OSX.
http://www.avsforum.com/avs-vb/showthread.php?t=713073
(Amir ( http://www.microsoft.com/presspass/exec/amirm/default.mspx ) is a frequent poster to avsforum.com, used to work for Sony, and knows of what he speaks.)
Edited 2007-08-28 11:23
My point is that being late to the game isn’t exactly worth celebrating, especially with Vista’s under-performance in every other area compared to XP.
CoreAudio being here ages ago doesn’t mean that Vista’s sound stack is irrelevant, but that Microsoft have been holding back the industry, and still largely, are.
The start-up sound digg is a hit at Vista’s atrocious performance on anything but high end equipment. If you’re a Vista user, go to a shop and try out Mac OS. Regardless if you don’t like OS X, try starting it up and shutting it down and that’ll give you some perspective at what an absolute arse Vista is for performance, good hardware or not.
Serious audio production has been done on macs with pro tools as far back as I can remember. Thats not saying that it can’t be done on windows, but every sound engineer i have ever run accross has had a mac (just like how even though adobe cs on windows is just fine, every serious illustrator i have ever run accross has a mac). While vista’s multimedia api overhaul has been a long time coming, I don’t think the industry was suffering too terribly much.
Ever since the patches a few weeks ago, vista’s startup and shutdown on my machine takes about as long as osx on my buddys macbook pro (which has comparable specs). Not only that, but boot time has nothing to do with performance, it has to do with how the boot process is done. On a modern rig, XP boots in under 20 seconds, while a new linux can take upwards of a minute to a minute and a half, even though the throughput on linux is much higher then xp.
On a modern rig, XP boots in under 20 seconds, while a new linux can take upwards of a minute to a minute and a half, even though the throughput on linux is much higher then xp.
Booting Ubuntu 6.10 takes 39 seconds on my Pentium III laptop.
Ubuntu redid their INIT process to make it more XP like, so it is a bad example. I was referring to the older init, where services loaded sequentially rather then concurrently.
How is Ubuntu not a Linux distro if they use a different INIT process setup, even if it was allegedly inspired by the way Microsoft does it?
–bornagainpenguin
Ok, in no way whatsoever was I bashing Linux, I promise.
My point was that if boot time was in any way an acceptable metric for performance, anything using the standard INIT would give the impression that Linux was less performant then windows, even though the opposite is true. When an ubuntu user chimes in that his boots in about 40 seconds, all I was saying is that ubuntu is an exception, as they redid their init a few versions ago.
This should be obvious to anyone reading the post. However, this is the fourth reply by downright pedantic linux users who feel that I misrepresented their beloved operating system, even though the exact opposite is happening.
while a new linux can take upwards of a minute to a minute and a half, even though the throughput on linux is much higher then xp.
My archlinux box see specs below boot in less than 18s. Ofcourse with only what’s needed turned on.
cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 15
model : 12
model name : AMD Athlon(tm) 64 Processor 3000+
stepping : 0
cpu MHz : 2200.157
cache size : 512 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext lm 3dnowext 3dnow up ts fid vid ttp
bogomips : 4403.05
clflush size : 64
2.6.23-rc3-gd1caeb02-dirty #3 SMP Sat Aug 25 18:20:07 CEST 2007 i686 AMD Athlon(tm) 64 Processor 3000+ AuthenticAMD GNU/Linux
You will agree 2.6.23 is fairly new:P
That’s great but Toshiva HD-DVD players take an awfully long time to boot, and those use Linux.
Hence we can deduce that Toshiba sucks at setting up embedded systems.
Why do you say that? Vehement microsoft hatred, idolic adoration of apple, or do you actually have something technical you are basing that opinion on?
There is some truth in that statement, i can’t remember the site at the moment, i will try to find it.
Microsoft did make a couple of changes to vista to ensure that it didn’t look bad. The first was the removal of Windows and Microsoft from the loading screen (it’s now simply blank with a progress bar). And the other was to ensure that the audio didn’t stutter during startup.
The blank screen was introduced as microsoft said users associated slow startup with windows as that’s all they saw during startup.
Sorry i haven’t quite read through the whole article but is the slow down due to mp3’s or video. As i know some videos can be very demanding. If it is MP3 then thats not a good sign, as the computer should not throttle music for network services.
Its the other way around, they are throttling system resources and network services for media playback and media streaming, the article is about how they didn’t use good enough settings for either.
What I am saying is that in the case of audio, the entire stack has been re-done to lower latency, and they have made a completely new driver model to take advantage of emerging hardware. Kroc says that all this will do is prevent the startup sound from stuttering, while big audio companies like Cakewalk are saying that it will dramatically reduce latency. As I trust technical articles more then some random guys opinon, I was asking where the basis for his opinion came from, as I have only read good things about the new audio stack.
Because a stuttering startup sound is the best introduction to an OS, I’ve ever heard. I hear it regularly, dealing with consumer machines. It’s the perfect sign of what to expect from the rest of the operating system IMO.
Now that’s a bug. What I find really strange is that, given the wide open release candidate testing Vista had (can anyone count how many reviews/previews did it have months away from business release, let alone public release?) no one noticed this bug? I won’t even mention the dozen QA testers that MS surely has, but someone should had noticed this, unless no one tried to surf the web and listen to some music with WMP at the same time…
Even so, Mr. Gates says that “there’s no reason to wait for SP1 to use Vista”. Makes you think, doesn’t it?
Disclaimer: I’m a linux guy, I’m probably very biased in my opinions, but this is a huge brain fart.
Probably someone noticed it but it was not fixed in the final released, like it has happened with many bugs, accoriding to some testers.
But one would assume that hard coding something as rather stupid, even before this came out – didn’t anyone at Microsoft question the decision?
There is the ‘Windows Experience Index’ – one would have assumed that to create a good experience for the end user they would use the information collected via the benchmarketing process to tweak the scheduler to suite the processor.
For example, information regarding clock speed, memory speed, latency and so forth – all impact on performance of multimedia and thus the schedule should take the information in when setting itself up.
As for me, I haven’t seen anything like it yet – then again, I use SonicStage for my media and syncronisation with my MiniDisc player.
This scheduling thing completely doesn’t make sense. I understand people saying more CPU time for multimedia is great but the fact is that you dont want any more than “enough” CPU time to stop it from skipping.
When do many people listen to music on their PC? Answer: When they’re DOING SOMETHING ELSE AT THE SAME TIME.
You dont want you PC to basically freeze up when you play music or video. So you still need something like CFS to handle it properly. Sure, give a little more cpu time to multimedia but dont go crazy about it. A good cpu and good scheduler will be more than enough to ensure skip-free music and video.
Maybe they should look at Vista’s memory and disk usage instead??
I want as much priority as needed to my music so it plays without problems. You’re acting as if music is getting more CPU than enough (which isn’t possible) or you want your music to skip. Strange fanboy reasoning.
Playing MP3s takes up about 1-2% of the CPU-time on a SINGLE core. Even at top-priority, it shouldn’t significantly affect anything else.
The issue here is probably more that other silly parts of WMP than just playing music gets a useless amount of CPU that disturbs the rest of the system.
The prime is should the network throughput suffer from a local played media file.
http://tweakers.net/nieuws/49059/Muziekspeler-van-Vista-vertraagt-n…
According to the article when you play a media file (also *locally*) the network speed decreases. And even if you stop the media player the network throughput is decreased for some period of time.
The reason this happens is that an app registers with MMCSS and then the service tells NDIS to throttle the network. The network is throttled until the app deregisters or quits. It’s a pretty bad, hackish design that really should go away now that everyone’s running dual core machines. A better strategy would be to tell NDIS to set the TCP stack’s affinity to one core and devote the other one to multimedia.
Some companies require hi-def multimedia and high network bandwith at the same time. What is wrong with that? Isnt Vista suppose to be the new multimedia platform?
Yep, I’m a Linux (and *BSD for that matter) fanboy, and
proud of it!
I’m proud that I have enough brainpower that I don’t pay for an OS that is an expensive, unstable, bloated, slow, virus-prone steaming pile of crud…..
Gee, having to “activate” your OS, and all this “Windows Genuine (Dis)advantage” stuff – how quaint, and how pathetic….
Are there any Windows users with an IQ higher than a lump of clay?
Edited 2007-08-28 08:20
Back to the dark age of cooperative multitasking ?
This remind me something about CFS/SD/O(1) schedulers and the dynamic priority adjustments…
http://blogs.technet.com/markrussinovich/archive/2007/08/27/1833290…
This probably has something to do with the whole glitch free audio thing that Microsoft was working towards in Vista.
http://channel9.msdn.com/showpost.aspx?postid=116347&pvrid=555
I have tried that extensively in the past and I have found Linux to be the best in that regard.
On Ubuntu 7 or RHEL 5 or CentOS 4,5 I found I was able to move 16 GB data from it to windows server 2003 share while on the background I was watching xvid video and downloading 20 and more things from amule servers and azureus 2.5; all while I was running a “watch df” and “watch ifconfig” and running “top” on different gnome-terminal sessions with sudo previleges while downloading PC-BSD 1.3 first CD via KGet. and krdesktop to my windows server 2003. While burning 2 udf DVDs on 2 different burners one IDE and the second USB (the program used is nerolinux 3.0.0 and files to be burned are on network share).
I always keep Opera(20 tabs) and firefox (4 tabs) open in the background with auto update on.
My system is gigabyte motherboard (100$), HDD 7200rpm, 3.2GHz (HT enabled) 2GB Dual channel DDR 400 RAMS, 2 gigbit NICs (they cannot load balance each other though)
That was done on it last week precisely and the system didn’t hang with me at all!
I was able to make similar things with solaris but I am not using solaris right now on any productive system.
You can through 40% of that work on windows server 2003 before it starts to hang intermittently.
I believe to solve the previous issues you have a choice between running your OS as a server (favoring background services over applications) or as a workstation favoring applications over services. Go to “system properties>Advanced tab>performance>settings>advanced tab>processor scheduling”.
I’ve always loved Mark Russinovitch’s stuff, and used a lot of his tools, and was going to do a dissection of his blog post with the meaty bits in, but Rob Love has done better than me on what I was going to say:
http://blog.rlove.org/2007/08/those-dang-dpcs-clogging-mmcss.html
From Mark’s blog:
http://blogs.technet.com/markrussinovich/archive/2007/08/27/1833290…
“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.”
This is an entirely separate issue from the whole MMCSS debacle and people are viewing it the wrong way round. If you’re doing networking, forget Vista period. Copying a file consumes 41% CPU time. Yes, you read that right. 41 $%£&+%$ percent! Disclaimer: I know he gets that from the task manager, but that’s a significant chunk of CPU time absolutely nothing like that seen on XP or on other operating systems with a similar operation.
Networking is utter shite in Vista, basically. No other word for it. Read Rob’s blog for more info. Now, we’ll move on to the effect on MMCSS. That’s right. It’s not MMCSS causing this per se. MMCSS may make it worse depending on what it is doing.
Because of this appalling networking situation, naturally, something needless taking up about half of your CPU time is detrimental to multimedia performance – and that’s all Microsoft concentrated on. So, this had to be fixed somehow. Rather than talking to each other, a terrible piece of bandaiding took place. Microsoft actually new about this, and specifically for MMCSS, they decided to give MMCSS the power to throttle the network! Can anyone say bugs and layering violation?
Yes, boys and girls. In Vista, MMCSS is given the power to throttle your network speed because Vista is so bloody crap at networking!
I mean, this is worse than I ever thought possible. Heaven help you if you use an application that uses the CPU quite intensely, and you want to use your network at the same time. God only knows what effect this might have on other processes, streaming video over the network or networked games. Forget Mark’s explanation that Microsoft used magic numbers to thottle the network. It’s the fact that they are needed at all to cover up a terribly shoddy system. It’s absolutely insane.
Given the state of this, fun and games with Windows Server 2008’s networking stack is going to be most interesting……….
Edited 2007-08-28 20:47
I’m seriously beginning to wonder what operating system I have installed on my Windows box. It claims to be Windows Vista Enterprise (32-bit).
I can’t duplicate this horrific network slowdown.
I can’t spike my CPU through the roof by copying a 700mb ISO image while playing MP3’s off my samba server. I don’t lose any speed on my (ok, it’s “only” 100 mbit, because it’s an old dsl router) network connection while playing back MP3’s, whether I do so in WMP, FooBar2k, mplayerc, or vlc.
By the way, copying said ISO, I saw spikes to 40%… but the average was closer to 10%.
For stability, I’d rate it as “pretty close” to XP– not quite the same, but comparable to XP prior to SP1.
For speed, boot time is approximately a minute to login, and about 20-30 seconds until the desktop is fully loaded (with gadgets, aero, and waiting for HD to settle).
I’m not denying there are people who have legitmate problems with Vista. Application support is spotty, and driver support is still lacking, although I’ve found drivers for all the hardware in my particular system (Current system is Athlon X2 3800+, 2gb memory, GF 7600gt, sata II drives).
There are, however, systems that run Vista just fine.
That’s to be expected. What bloggers claim and what happens in real life are often two completely unrelated things…
I can’t duplicate this horrific network slowdown (…) ok, it’s “only” 100 mbit
TFA is talking about 1Gb.
http://en.wikipedia.org/wiki/Technical_features_new_to_Windows_Vist…