Are three cores better than two?
Barbarian writes "That's the question that Tom's Hardware asked. They took a dual-cpu motherboard and stuck both a single and a dual core Opteron on the board, for a total of three cores. Does it work? Well, yes, when it's not crashing. It does raise the possibility of tri-core processors whilst we are waiting for the next die shrink."
The question can't be answered.
In some markets, hardware is released and only then does software take advantage of it. Sometimes software never takes advantage of the new hardware because of the complexity in writing code. I remember all the MMX and the like promotions, but I never really saw any evidence that it did anything.
In other markets, software is released and the hardware follows. I recall Quake (or was it Quake 2) and the rush months later to have a Voodoo SLI to boost framerates.
I am sure a 3-core processor could be "better" but only if the software to support it can be easily ported from the single core or dual core versions. Will software eventually be core-transparent because of a "xCore" abstraction layer? Will software be optimized properly for the ability to take advantage of the added cores?
I see the need for multitasking the processor side, but I also see the complexity in trying to differentiate all the different configurations a workstation may have. The more cores that are released, the more I see application-specific turn key solutions over "one version fits all." I also see the added costs in testing and developing, and who really knows if those costs lead to any savings by creating the additional cores.
That's the point of this post -- just because something increases efficiency in one sphere doesn't mean that there is an overall savings. There is no way to properly judge if the market will see a savings overall, and if it costs much more to produce/support/service the new product, it will fail. Nothing can stop that, not even great marketing.
Why would anyone even want to do this? Most dual proc systems are designed so that the CPUs must be the same for them to work properly. Sure, this configuration is a bit cheaper than using two dual core procs, but unless you have a space CPU sitting around I really don't see the point.
The article refers to the system as "asymmetric" in a few places. This is not the case: SMP refers to a situation where all CPUs run a kernel, and each CPU schedules jobs for itself. In an AMP situation, one CPU is the "master" and the others are "slaves" which are scheduled, have interrupts and system calls managed by, and are otherwise controlled by the "master" CPU. It's possible to have an SMP tri-core system, and an AMP dual-core system.
Lots of kids and grandmas are getting their hands on multi-core consoles within the next year (XBox 360 = 3 processors, PS3 = 8 processors, Nintendo Revolution = 2 processors maybe). So game authors are going to be figuring the 3+ core game out soon, and Microsoft and Sony are betting money on that fact.
These two processors do not only differ in the manufacturing process: Changes to the memory controller have been made during the transition from 130 to 90 nm and SSE3 extensions were added. Opteron 248 was designed for HT800 (200 MHz bus), while the Opteron 275 is capable of running HT1000. Finally, the cache size per core is different as well.
My guess is the crashing programs are detecting SSE3 and when a thread that uses it runs in the single core processor, the application is killed for trying an "illegal instruction."
...on Tom's multi-page reviews.
I hate sites where the article occupies less than 10% of the screen area.
Classical parallel programming tends to work well on powers of 2. One of the models for (big) parallel systems has the CPUs arranged in a hypercube structure, which works quite well for getting data to and from the processors. There are probably also advantages when it comes to laying out the cores on silicon.
For multitasking, there's really no need for a power of two, except to make the best use of bus lines (three bits to identify the CPU? Better to allow eight of them than four). Expecting two completely different processors to work well on a board designed for two identical ones is daft, though, and it's pretty obvious that the stability problems are due to this and not any inherent problem with having three cores.
You mean to say that the TEST COMPUTER was not meant to be set up this way. Just as it's only by convention that computers use binary (they could use any imaginable base representation), it's only by convention that easily-obtainable computers use processors in groups that are integer powers of two. There's no physical reason why a computer could not be built that used an odd number of processors very well, it's just that the one used for the test was not meant for it.
Look what failed. Video compression programs, the type of code almost certain to use streaming SIMD operations.
Try this with two identical dual processors and you should get a nice 4-CPU machine.
Your honor, this may *seem* offtopic at first, but I do have a point to make.
I think that the Open Source community has proven that anything will work given enough engineering hours. Case and point; I was at Phreaknic many moons ago and saw a TRS-80 running Debian. Yay!... but now what? Would you use your Debian-laced TRS-80 to do someting? (not knockin' it.. it was actually pretty cool, but it's a pertinent example towards my point)
Just as Debian was able to be loaded on the TRS-80, a tri-core setup will, in all likelyhood, benchmark better than a dual setup assuming that the tri-core configuration can be stabilized (which I don't doubt is possible) and the application(s) are optimized for multiple processors. Ok, by proving that, what have we accomplished? 3 are better than 2? Of course 3 are better than 2. I personally think that a *good* question to ask would be: Are there advantages to using 3 versus 4? Or what advantages could you leverage from a 2 + 1 configuration?
Bottom line: Did you really have to do an experiment to test that?
Seems like one of those "chickens prefer beautiful humans" research projects. Google it; the research project is there.
This message was posted using recycled electrons.