Home »
Hardware
»
Computer Systems
Read the article that everyone's commenting on.
Subscribe to the RSS Feed for comments on this article.
I just bought a quad core to use as my new Media Center. No, Windows Media Center won't need 4 cores, but it was on sale and 20 dollars more than the dual core.
However, this way my Media Center can dedicate an entire processor to doing the Media Center stuff and the computer can do other things in the background. Now I just need to figure out how to find a hard drive that can do multiple r/w operations at the same time....
Posted by: Ziggie at May 1, 2009 10:35 AMI have a follow up set of questions on this topic:
Which part of the software decides which processor to use? Does the OS need to be configured to be able to handle process scheduling for multi core processors? Can XP do this? Vista? How about Linux? Does the OS need to be upgraded too?
How does one test this? I have been using a dual core processor for quite some time but never perceived any difference the same way increasing the memory made a perceivable difference. Sometimes I find my single core desktop working faster than my dual core laptop while doing the same task.
The best way to test it, in my experience, is to fire up process explorer and watch CPU usage. On a dual-core machine if a process is consistently using 50%, then it's likely single-threaded and using only one core. Yes, single threaded software will run faster on a CPU with faster clock speed than on a dual core with slower. Where the dual core helps is that the system is usable when a process is "pegged" using all of it's core - if there's a second core available for other things, those other things are more responsive.
Satisfactory and conclusive as usual,but, maybe quad core is foreseen for new incoming programs
Posted by: nelson at May 5, 2009 1:45 PMDoes XP Home support Quad Core?
A dual core CPU is fine for most average PC users and applications. Quad core is probably only of use to high-end gamers (like Flight Simulator X pilots).
Posted by: Mark at May 5, 2009 6:16 PMZiggie - to meet your need, install more HD's and separate your files. Keep one for OS and one or more others for data, maybe separate disks for different file types.
Rahul - yes the OS is supposed to handle assigning tasks to CPUs, but I still have my doubts about how well windoze does at it since deep down at it's core is remembers its single standalone CPU roots (on the other hand, Nix came from multi processor background so I expect it to do better (not that I have any empiracle proof it does)). However, you can manually assign programs to specific cpu's, (I just can't find my "How to" notes right now).
Leo - you made half of my point, manufacturers still tend to make their multi core / multi cpu chip boxes with slightly slower individual cores than the highest end of the single core CPUs that are available. So while a multi processor may have many more cpu cycles collectively each cpu is slightly lower powered than an "equivalent" single core chip would be. That being said, my latest laptop is a dual core and I expect my next purchase (in a couple of years) will be (at least) a quad core 64 bit cpu.
Windows 2000, XP and Vista are built on the Windows NT codebase, which was designed for multi-processor implementations from the begining. Windows 95/98/Me are all based on the old DOS/single-core implementation.
Dear Leo,very useful info. My only contribution is that as a very naughty user (installing and removing loads of programs and experimenting with this and that like a freeware junkie) I used to crash my 2.2Ghz Pentium 4, Win XP single core desktop as regularly (almost) as a bumper car at the fairground! Similar treatment to my 2Ghz dual core Win XP Dell laptop has in over a years abuse failed to crash it once. It's had one or two nervous ticks but after a little patience and prayer has always come through. Is this significant or just freak luck?
Posted by: Mike laycock at May 5, 2009 11:53 PMThanks Ron, I'd already moved in that direction, but was wondering if there was drive technology i didn't know about.
ah well. at least hard drives are cheap.
Posted by: Ziggie at May 6, 2009 6:18 AMRon - I'm not sure I agree as to the relative worths of OSes in multi-processing.
As far as I know, Windows NT has had SMP (symmetric multi-processing) support since at least 3.51, and likely since before that. We all forget multi-processing existed long before it was really cost-effective. As a result, I'd expect the entire Windows NT line -- 3.51, 4.0, 2000, XP, Vista, and the upcoming Windows 7 -- will handle multi-core CPUs just fine, at the OS end (side-note: Windows 3.51 came out in '95, according to Wikipedia, which gives us around 14 years of experience working with multiple CPU architectures, mostly in high-end systems that would've been *very* important to Microsoft to have running very well).
On the Linux side, both Linus's kernel, and the Minix it was based on, were developed initially for single-processor systems (for Linux, the 80386; for Minix, the IBM PC and PC/AT). Support for symmetric multi-processing must've come in reasonably early in Linux kernel development, but it still leaves approximately the same development period as with Windows, and in this case with much less interest to have it working well -- I doubt many Linux kernel hackers had, or worried about, multi-processor systems.
What I have a big question mark about is BSD and its variants. BSD is a much older Unix, and one that has most definitely been used in multi-processing environments. And with Mac OS X being based on the same Mach kernel as the BSDs, it /probably/ inherits good SMP support from them. With that said, I've not played much with OS X and cannot say anything as to its relative worth. A similar argument would apply to other commercial Unixes that still exist.
Coming from the theoretical to the practical, what I've noted most of all in multi-core systems is the tendency of single-threaded applications to be "bounced" around the two (or more) cores available, which actually results in somewhat diminished performance by virtue of invalidating a number of caches. Considering that each core has its own instruction cache, we can plainly see that any application being switched from one core to another will leave its next few instructions in the former core's cache (where they are useless), and those instructions will need to be fetched again into the new core's cache, flushing out whatever had been there before.
Coupling the above with the tendency for multi-core systems to be progressively lower in clock frequency than their single-core brethren, it's obvious that a single core is the ideal for a single-threaded application. *However*, single-core CPUs are becoming extremely rare nowadays, and their price tends to be about equal, if not higher, than the price of a nearly-equivalent dual-core system. Similarly, single-core has no advantage for multi-threaded applications, which exist.
Given all of the above, the choice of OS is likely unimportant (with noted exceptions). For the initial question, I'd recommend a dual-core machine for this light use, mostly due to the combined factors of approximately same cost and the high probability of more and more applications becoming multi-core aware, and thus using the available resources better.
I would similarly not recommend a quad-core machine unless the price difference from a dual-core machine is very small and/or there is an intended use for the four cores (as Leo mentioned, video- and audio-editing tasks (and a few others) tend to be infinitely parallelizable -- for instance, a video can be split into two clips and each of the clips can be processed by a core, independent of the other clip; naturally, this can be extended to four or even more such divisions of work).
As quad-core machines become cheaper, it will eventually be more cost-effective to have one than to stick to a dual-core one, and the number of multi-core aware applications likely will only grow by then, making it a better investment. I don't believe we've reached that point yet, but keep it in mind. ;)
Leo, Thanks for the answer to my XP question. Today I saw an article "How Many CPU Cores Do You Need?" on Tom's Hardware site.
http://www.tomshardware.com/reviews/multi-core-cpu,2280.html#xtor=RSS-182
This is an excellent article using various benchmark tests and compares Single, Dual, Triple and Quad cores.
Posted by: Tom at May 9, 2009 11:57 PMTo post a comment on "Should I get a dual core or a quad core processor?", please return to that article's main page.