Generational Windows Multicore Performance Tests
snydeq writes "Windows XP, Windows Vista, and (soon) Windows 7 all support SMP out of the box, but as InfoWorld's Randall Kennedy notes, 'experience has shown that multiprocessing across discrete CPUs is not the same thing as multiprocessing across integrated cores within the same CPU.' As such, Kennedy set out to stress the multiprocessing capabilities of Windows XP, Windows Vista, and Windows 7 in dual-core and quad-core performance tests. The comprehensive, multiprocess workload tests were undertaken to document scalability, execution efficiency, and raw performance of workloads. 'What I found may surprise you,' Kennedy writes. 'Not only does Microsoft have a firm grasp of multicore tuning, but its scalability story promises to keep getting better with time. In other words, Windows Vista and Windows 7 are poised to reap ever greater performance benefits as Intel and AMD extend the number of cores in future editions of their processors.'"
Are we supposed to be surprised that the leading OS vendor, who's had deep, intertwined relationships for decades with hardware makers is exploiting that hardware properly?
Honest question: where's the news here?
Not really, wasn't one of the major complaints about Vista that they were changing the OS architecture to tune multicore processors to the detriment of single core processors?
Some great mathematics in this review... it also appears as if Vista isn't just not solving the problems presented to it, but also adds new ones to increase its own workload.
Fascinating...
I run both XP and Vista on Core2Duo processors.
I'm certain with XP and less certain with Vista (I don't use it for production work) that I can get better performance by forcing everything but EXPLORER.EXE to use the second core at a low priority.
Then as I run programs, they automatically go to the first core (with EXPLORER.EXE).
This allows me to run FOLDING, an RSS reader, LogMeIn all the time but on the second core.
I especially notice a difference when I copying files at the command prompt.
The program is called PROCESS.EXE and can be found at:
http://www.beyondlogic.org/consulting/processutil/processutil.htm
It is a manual process but it is pretty simple to create a batch file to do the dirty work.
=Smidge=
Is it just my observation, or is eldavojohn an idiot?
And XP is still faster than vista or 7, even on 4 cores... And he speculates that it would be faster on 8 (although he didn't measure that)
Scalability doesn't matter if you're still slower in absolute terms on systems that are available commercially at a reasonable price. (going past 8 cores these days is a very large price jump per core)
Ian Ameline
I tried RTFA (sorry, please mod me done for this ;) but, after clicked the "print" version, I couldn't find anything that looked like a benchmark report. No numbers. No tables. No graphs. All I saw was a page of [[weasel words]] or something like that.
Sigh..
Colorless green Cthulhu waits dreaming furiously.
It is interesting that WinXP is still better in terms of performance than either. The article suggests that Win7 and Vista would be better on systems that hypothetically had 16+ cores.
/., the most popular thing to do is run VMs with virtual instances of Windows, which reduces all the hassles associated with dealing with win cruft. Got a worm? restore machine. Drivers made system unstable? restore machine. The vms are typically only given 1-2 cores, the exact use case where WinXP does way better than its successors.
But nowadays, especially in tech savvy crowds like on
So even if we move to a world with 16+ core processors, if Win7 cannot do better than a 10 year old OS, in common scenarios, how can that be called progress?
Legally obligatory sig : My opinions are my own... etc etc
Ok, so if the average user is still doing the same basic tasks, browser/email/word processing it kills me that I'm now requiring the CPU power of yesterdays servers to do these basic tasks. Having multicore systems enables software vendors to increase the bloat, because the increase in cpu/ram will take care of it; therefore hiding this increase in bloat from the user. It's no difference in converting all cars to lead bodies; as long as we put 1000hp engines in them. The user experience doesn't change b/c they still have the same 0-60 times.
For example, I've always wondered how much CPU time is wasted due to anti-virus software? Let's say you have a large windows on VMware environment. Each VM needs to have antivirus on it, if you've got a server with 10-20 VMs on it; you've got 10-20 instances of anti-virus running. There's gotta be some way to calculate the total amount of CPU and power (W) wasted on this single server to just running the antivirus scanning...
How about an increase in CPU, but either keeping the bloat the same?
When you see bullshit buzzwords in articles that look as if they've been written by marketing people then look out. Marketing-led, buzzword-laden people always have stories. Are we really supposed to be impressed that the richest OS developer in the world can actually create a SMP capable OS that actually works reasonably given that SMP systems have been around for years? From the tone of the article it's like they're shocked that it works.
Basically, this article states the obvious: Windows XP 64 is just plain faster than Vista 64 or Win7 64. By a factor of 20-40%. But to understand why, you need to read the MONEY quote. Here it is:
It's the DRM baby. You strip that out of the Kernel, and Vista and Win7 will EASILY outpace XP with their more advanced and flexible SMP capability. Until Microsoft understands that people DO NOT WANT DRM and removes it from their newer OSes, these new OSes will continue to suffer from performance problems, and thusly, acceptance and sales problems.
Come on Microsoft. Apple has figured it out, DRM is a sales loser. Do you really want to keep wasting time on a loser technology in the midst of a global recession? You blew it with Vista, but you still have a chance with Win7. Offer people a DRM-Free kernel and Win7 will FLY off the shelves.
Official Heretic from the "Church of Global Warming". Proven right thanks to whistle blowers. AGW = Flat Earth Theory
First, go to the real story, bypassing an intermediate blog and two interstitial ads.
Second, the article says the performance of the newer OSs is worse than XP. "In fact, during extensive multiprocess benchmark testing, Windows 7 essentially mirrored Vista in almost every scenario. Database tasks? Roughly 118 percent slower than XP on dual-core (Vista was 92 percent slower) and 19 percent slower than XP on quad-core (identical to Vista). Workflow? A respectable 38 percent slower than XP on dual-core (Vista was 98 percent slower) and 59 percent slower on quad-core (Vista was 66 percent slower)."
Third, there are no tables or graphs anywhere in these articles, and very few numbers. As a benchmarking article, this is awful.
It's great that MS was able to tune the Vista kernel to avoid locks which reduce performance on multiple cores, but I'd rather see the same work done for XP, giving us something MUCH faster on a high number of cores, rather than a pig we can compensate for with many cores.
From page 2 of TFA:
(emphasis mine)
So we are supposed to believe that the database test on Windows 7 runs 571 percent faster on a quad-core compared to a dual core?
That would be a factor of 6.71, or in terms of performance per core, a factor of 3.355. In other words, the quad core would do 3.355 times more work per core than the dual core. That sounds not very believable, considering similar tests the German C't magazine has done in the past (for Linux and Windows 2000). In those tests, both OS scaled at best linear with the number of CPUs, so the "performance boost" from going from dual to quad core was at best 100% (in most tests more like 80%).
Maybe I'm misunderstanding what Randall C. Kennedy wanted to say. Here it would have helped if he posted his raw data and test configuration, as most reputable testers do. But as he only posted a few end results, I can only say that his numbers seem bogus. I rated the Infoworld article with 1 of 5 points.
C - the footgun of programming languages
As a HPC developer, there's a few areas where XP falls down. With the release of the new Core i7 line from Intel, the end of the FSB is in sight. Both Intel and AMD now use a ccNUMA memory architecture, which has tremendous implications on software design. In short, if your software isn't aware of the system's memory topology, you're going to end up with most of your memory traffic going over the processor interconnects and that's a substantial performance hit over going directly to memory (2-4 times slower).
XP's NUMA support is very weak. Sometimes the easiest solution is to write your own allocator (and preallocate huge chunks of ram).
And before somebody comes along and says 'no real HPC is done in Windows!' there are a lot of old, crusty engineering software packages that everybody is scared of porting.
Nobody is going to argue that if you run one single application (a database something), a "small" OS will work better. There are Linux versions that are specifically geared towards doing that sort of thing, right? Ubuntu is probably slower at something than [insert other dist].
The real question is, though... what about normal usage? Unfortunately, that's hard to measure... but how does Vista/Windows 7 affect normal user productivity and speed as opposed to simple benchmarks designed to test out efficiency at doing ONE thing?
If Vista and Windows 7 were designed to have a lot of background processes to help the user do this or that, then why not test that, too? XP wasn't designed that way, apparently, while Windows Vista/7 are more designed that way. So give it a level playing field and test what it was designed to do.
I don't have an answer of whether or not Vista/Win7 are slower or faster when doing other things (like, say, searching for a file because you can't remember where you put it, running multiple applications, using something DRM enabled, or whatever), but it'd be interesting to try to test it rather than a generic "XP runs a single application faster than Vista because Vista has more stuff running in the background." It'd be interesting to try to physically load the system with lots of applications and see which is better then.
Oh pulleeze...
One of the "benchmarks" here was a database workload. Databases have
been exploiting multiple CPUs since before the current iteration of
Windows (NT) even existed. This is sort of stuff is old news.
NT4 (designed by the VMS lead) should be scalable for that kind of
task, nevermind XP.
A Pirate and a Puritan look the same on a balance sheet.
How about "when the user presses the play button"?
I'd expect it to be called from the codec's initialize function myself.
I got things to work better by tweaking the thread scheduler to deadline, tweak 'swappiness' and some others I don't recall. Took days of research.
It still has occasionally Gnome UI lockups but it's usable now. I didn't treak XP at all to get concurrent processes without GUI lockups.
I'm sticking with Linux for a number of reasons, but performance on my quads is not one of them.
How does the system 'know' when to start running the DRM?
The application goes "Hey ! Windows ! I need a protected path before I can play this media."
There must be something running at all times "just in case" the paying customer decides to excersise their right to play their own stuff.
No, there does not.
It is not the OS's job to check whether or not a given file (more accurately, byte stream) is DRM-encumbered, nor does it make any attempt to do so. It is only the OS's job to provide DRM-capable output (and ensure it remains DRM-encumbered) when an application asks for it, which is what it does.
In short: If you aren't playing DRM-encumbered content, the DRM does NOTHING.
I don't know the details of Vista/7's implementations, but come on - just use your head.
If the file header has the broadcast flag, or otherwise indicates the file is DRM crippled, the DRM checks begin.
If no, then DRM checks aren't going to run.
It's about the same level as:
OH NO. My PC is automatically adjusting my clock for daylight saving time. MY FUCKING CLOCK CYCLES ARE BEING STOLEN!
If no, then DRM checks aren't going to run.
Well, the DRM checks aren't. The system integrity checks to prevent users bypassing the DRM, OTOH, still have to. For example, Windows Vista has code running to detect unauthorised changes to the kernel and reboot, even when no DRMed video is playing (officially to prevent developers from doing things that could affect system stability). I suspect there's overhead in the video card driver model too, to prevent stuff like a hacker setting up the card state so they have read access to the framebuffer via something apparently innocent. (It's much easier to put code in place to prevent hackers from changing the system state in a way that allows DRM to be bypassed, than it is to detect it reliably afterwards.)
Complete and utter bullshit.
We're a VFX company. We work with all manner of multi-core applications. Cloth simulation, Global Illumination, Caustics, Optical Flow tracking, compositing etc etc.
Every single one of our computers are 64 bit. We have Windows XP x64 and we have Vista x64.
I'm looking at a chart right this very second of render times for our current job. 9 million polygons, 6GB of RAM usage, 100% CPU usage across all 4 cores. NO RENDER PERFORMANCE HIT. Render software scales better than just about anything else on earth. Each core renders its little slice of the scene and returns it to the application. There is no cross talk, it scales pretty much linearlly with very very little overhead. If anything is going to expose some sort of massive performance hit, it would be rendering.
If Vista x64 is running a DRM check on every ray casting function we would see it. If Vista was running 118% slower we would see it. We have identical machines running the identical piece of software and they're returning on average statistically identical results.
I've got millions of photons bouncing around a scene and supposedly each calculation is being 'taxed' by some DRM check? I don't see it.
They're all generating pixels, what could be more "DRM related" than reading footage, processing footage and creating new footage?
Maybe this test found some piece of software that doesn't run well on Vista. I can buy that argument. But Vista and Windows 7 are not substantially slower than XP at processing. In fact they seem to be no slower from my experience with a wide variety of extremely processor and memory intensive tasks.