Are three cores better than two? 298
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."
"When its not crashing" (Score:5, Funny)
Here's the interesting part about the crashes. (Score:2, Interesting)
---
Of course, we used our complete benchmark suite and we actually found some programs that were not working properly. Pinnacle Studio Plus 9.4.3 crashed repeatedly. Auto Gordian Knot, which we use for encoding DivX or XviD video, could not start the encoding process because it obviously was not able to access our AVI file. PCMark crashed sometimes right after finishing the compression test.
[ Flash Ad goes here
Basic Math (Score:3, Funny)
Re:Basic Math (Score:5, Funny)
Re:Basic Math (Score:5, Funny)
XBox CPU? (Score:5, Interesting)
Re:XBox CPU? (Score:5, Insightful)
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.
Re:XBox CPU? (Score:2)
The only problem is that (AFAIK) 1 is NOT a prime number, and most CPU's have 1 core. Oops.
If 3 work... (Score:3, Insightful)
Re:If 3 work... (Score:3, Funny)
Re:If 3 work... (Score:3, Funny)
Re:If 3 work... (Score:5, Funny)
Are 3 frikken sharks with frikken laser beams on thier heads better than 2 frikken sharks with frikken laser beams on thier heads?
I think this puts the issue to rest.
XBox viable? (Score:5, Funny)
"Xbox 360 is a triple core, which is a pretty good indicator that this configuration is viable"
Wasn't XBox crashing constantly?
Re:XBox viable? (Score:5, Funny)
Re:XBox viable? (Score:2, Funny)
http://www.serve.com/bonzai/monty/classics/TheStr
Re:XBox viable? (Score:3, Funny)
Re:XBox viable? (Score:2)
They didn't consider people would block the airflow to the Xbox by putting it in entertainment centers(1) or on deep carpet(2).
1 hard to fix really.
2 could have avoided this problem by moving intakes/outtakes up off the floor or by adding a 1" spacer at the bottom.
Blame the power brick (Score:5, Interesting)
So, in my mind, the "viability" issues of three cores has been answered with the 360. And in fact there are Power Mac configurations that effectively give you 4 cores (2x dual-cores). However, the bigger question is whether it will be advantageous .
With that in mind the 360 is a pretty good test-bed to see 3-core configs are worthwhile. Developers will have more incentive to exploit the potential with the assurance that the hardware will remain relatively constant (at least as far as the API is concerned... hopefully Microsoft will be able to come out with a more compact 360 in a few years).
Why 3? (Score:2)
Wouldn't you expect it to be more stable, and maybe actually work, with 2 dual core CPU's on a dualie?
Kinda having a wtf moment.
Re:Why 3? - because they can! (Score:2)
Yes, it might be asking for trouble, but they're doing it because they can. They're nerds, that's what they do. Maybe they shoulda dumped it in liquid nitrogen or put together a cool case mod...
On a more serious note, I worked with an outsourcing provider once that charged us per CPU, using tiered pricing for 1-3, 4-8, 9-15, etc. So, we actually asked a manufacturer if we could buy some 3-way systems.
Alan.
Re:Why 3? (Score:2)
Re:Why 3? (Score:2)
Mixing processors with different capabilities is probably a bigger problem. Application asks OS: "Do you support SSE3"? OS says: Yes. OS switches to a different processor that doesn't support SSE3. Application uses SSE3 instructions and crashes.
Re:Why 3? (Score:4, Insightful)
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.
Running 3 processors for 5 years (Score:2)
Re:Why 3? (Score:3, Insightful)
Not so fast there. If you tried to build a base-3 computer you'd have some much more difficult problems on your hands in terms of the actual hardware, which would have to deal with three possible levels instead of two. Needless to say, that would complicate things tremendously and probably lead to more error as devices had to deal with three input/output signal ranges. Yeah, it's a convention
1 is an odd number (Score:3, Insightful)
Hardware or software first? (Score:5, Insightful)
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.
Re:Hardware or software first? (Score:5, Insightful)
Software that currently is not multithreaded, cannot take advantage of a SINGLE multi-core chip. HOWEVER, any multithreaded app would IMMEDIATELY take advantage of the availability of dual cores and dual cpus.
This article is about the hardware end of this, not about your favorite game that can't use it.
Re:Hardware or software first? (Score:4, Insightful)
This article is about the hardware end of this, not about your favorite game that can't use it.
If that single-threaded software runs alone. As far as multithreaded apps go, that depends. Most scientific apps can scale to like to almost any number of threads, a game might not even if it is multi-threaded. Maybe you have one "game engine" thread and a "AI" thread, and nothing to work the third core with. Not too unlikely. It all depends on how much the work can be divided.
Kjella
Re:Hardware or software first? (Score:2)
Of course you're right, but entirely beside the point.
Re:Hardware or software first? (Score:3, Informative)
Re:Hardware or software first? (Score:2)
Find your cpu bound code areas. Make them multithreaded. When your application launches, ask the OS how many cores there are, and launch that number of threads.
The challenge of course is in 'make them multithreaded'. This takes a lot of hard engineering work.
Re:Hardware or software first? (Score:2, Informative)
blaspheme (Score:5, Funny)
Re:blaspheme (Score:2)
The Conclusion... (Score:3, Informative)
As you could see, the fact that we used two rather different Opterons for putting together the triple core system had an impact on the benchmark results that was hard to predict. Performance depends on the level of a program's thread-optimization, but we also had a hard time with some particular benchmarks. Some did not work at all (AutoGK w/ DivX or Xvid, Pinnacle Studio 9 Plus). For others, performance was worse than that offered by a dual-core Opteron 275 configuration (such as with memory benchmarks, ScienceMark, WinRAR file compression and Windows Media Encoder). However, the majority of software we used was able to scale well thanks to the third core (which was the case with Cinebench 2003, PovRay 3.7, Cinema 4D R9 and 3DS Max 7).
The software that needs it... (Score:4, Interesting)
Gaming is where the horsepower is needed in the consumer space - and most games aren't multithreaded. An additional core wont do much in terms of performance that a second core doesn't already accomplish. You're just wasting die space and decreasing yields.
Re:The software that needs it... (Score:5, Interesting)
As one example, I worked on Diablo II, and it had at least 5 threads (there might have been even more, but I can remember what 5 threads did). I've talked to plenty of other people in the industry, and the story is the same everywhere: multithreaded, but not parallelized in the most cpu intensive areas.
Re:The software that needs it... (Score:2, Insightful)
Re:The software that needs it... (Score:2)
1) input is commonly in its own thread, and the inputs are queued for reading by the main loop.
2) network is usually in its own thread for the same reasons.
Do the same thing for sound and music, and you're up to 5 threads already.
Diablo II went to the unusual length of doing some disk loading in a background thread as well. Now you're up to 6.
But the key problem is that rendering/simulation is where 95+% of your cpu goes, and those are probably in th
Re:The software that needs it... (Score:2)
Re:The software that needs it... (Score:4, Interesting)
#1: I don't recommend this one. Go into game testing. It doesn't pay much, but it will put you in a position to make connections with the developers. It's job hell too. It might sound like fun to test games that aren't even on the market yet, but try to imagine being the guy who verified that a barbarian picking up each of the 100 or so uniquely rendered weapons looked correct. Then imagine doing that on each major patch release. Then imagine you've got to do that plus the other character classes, and all the armor combos, etc.
#2: Look for an entry level job at a lesser developer. Most people at blizzard or Id are not on their first game job. Instead, they worked (successfully) at some lesser developer, and then got hired at blizzard based on their successful release of some title. This is how you get the experience even though a top tier game maker won't hire you.
#3: Make games in your spare time. Mods for existing games are a popular way to prove yourself. I had 3 significant self published games before getting hired at blizzard, so this is the route I took. I made a shareware mode 13 game for dos (way back when) followed by a significant but relatively unsuccessful mod for quake 1, followed by a PC Gamer mod of the year for quake 2. My quake 2 mod was played and enjoyed by a number of people at blizzard, and that was what got me the interview. The other 2 games helped sell my credentials as someone seriously into games.
As a final note, don't have a wife or girlfriend. The games industry is absolutely murderous on relationships. Diablo II resulted in 3 divorces, 3 affairs (with at least one affair pregnancy), and 5 breakups (that I know of). My own relationship barely survived, and that was only because I cut back to 80 hours a week, even though people were bitching at me for the laziness. (Why couldn't I take my work seriously like the people who slept in their company provided sleeping bags under their desks 6 hours a night?)
Re:The software that needs it... (Score:2)
Holy crap!
My own relationship barely survived,
Wow. You know, reading the first sentence there without taking the time to keep reading made me think "Wow, I should probably just quit playing games, too!".
Re:The software that needs it... (Score:2)
There is a nice study by Eysenck who found out that people working 57 hours per week are less productive than people working 48 hours per week. Not "productive per hour worked", but productive. Less work produced in 57 hours than in 48 hours.
I'd say that you were working for a company run by sadistic idiots.
Re:The software that needs it... (Score:2)
It does not tell a thread what operations to perform, nor what resources to use, other than time. And it doesn't even tell the thread what time to use: the thread has no awareness of what the task scheduler is doing.
Re:The software that needs it... (Score:5, Insightful)
Re:The software that needs it... (Score:3, Insightful)
Re:Then they'd better get 'ready' for multithread (Score:5, Interesting)
That sounds more like game programmers are wasting their time making games that don't make use of multiple CPUs. It's very clear that there are starting to be some limits reached in terms of what one CPU can do in a machine. There's a reason all these manufacturers are making dual core processors instead of making their processor faster. It's time for the programmers to change how they program.
So, I think your comment isn't very useful, since you try to tell hardware manufacturer's that they're doing useless things instead of making the single CPU faster. And that's not true at all. It's the game programmers that are doing stupid things. Going from 1 to 2 is would've been hard to deal with before it happened. But once you have, going from 2 to x is much easier. So, testing out three and more core systems is pretty useful.
Re:Then they'd better get 'ready' for multithread (Score:2)
Re:Then they'd better get 'ready' for multithread (Score:3, Insightful)
It will most likely be 25% in 12 months. Well, 90% if you count PS3 and Xbox 360.
Trust me, current games under development for release mid-2006 or later are looking at this (as are everyone developing anything for future consoles). They have to - competition will pwn their ass with much shinyer games that take advantage of the extra hardware, and their product will look dated if they don't do the same thing.
Due to long development times, most of the games out now do not benefit, but that
Re:Then they'd better get 'ready' for multithread (Score:3, Informative)
It's not that rewarding because the memory bandwidth and low-latency local memory must increase as well to be able to feed the computations. In fact, I will guess that even at a massive 25.6 GB/s
Re:The software that needs it... (Score:2)
Why? (Score:5, Insightful)
Re:Why? (Score:2)
2c
Bad news... (Score:4, Funny)
Re:Bad news... (Score:5, Funny)
Re:Bad news... (Score:3, Funny)
Re:Bad news... (Score:2)
Graphics rendering improved greatly (Score:2)
It would have been nice if they had tested the same CPUs in all of their tests, but overall I would say the more cores the better.
Razor Wars (Score:5, Funny)
Re:Razor Wars (Score:2)
Irons would only have one hole. Then someone released one with 2. Then 3. Then 4. Etc. Manufactures were jumping all over themselves to offer the iron with the most holes (much like what happened with early transistor radios where extra transisters were just tacked on having no function so they could call it a 6 transister radio).
Seems odd, now that most irons have so many hole
Completely unscientific (Score:3, Informative)
Re:Completely unscientific (Score:2)
"Asymmetric" (Score:3, Insightful)
Re:"Asymmetric" (Score:3, Informative)
3 Coors (Score:5, Funny)
Re:3 Coors (Score:2)
I disagree. Zero Coors is better than any positive integer of Coors, at all times.
Re:3 Coors (Score:2)
Looking back at my wasted teenage years, I find myself wishing for some negative Coors.
who said it's a linear function? (Score:2)
but.. (Score:2, Funny)
One explanation (Score:5, Insightful)
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."
Are three tires better than four? (Score:2, Insightful)
This is got to be one of the most pointless experiments ever done. Does it work? Yes it works when it's design to work, like the XBox 360. SMP stands for SYMETRICAL MULTIPROCESSOR. A dual core and a single core are not symetrical
Re:Are three tires better than four? (Score:5, Informative)
Symmetrical multiprocessing refers to the equality of each CPU in terms of running jobs. Each core has equal opportunity to schedule and execute a thread. The fact that the individual CPUs are different has nothing to do with it.
But thanks for playing the Demonstrate Your Ignorance Of Terminology game.
Re:Are three tires better than four? (Score:4, Interesting)
Why have symmetric cores? (Score:4, Informative)
Re:Why have symmetric cores? (Score:2, Informative)
That's why CPUs are general purpose.
That said, the FPU on most modern processors [at least in this respect Intel Pentium 4 incuded] are actually fairly fast compared to previous generations. At least fast enough for the vast majority of their customers.
Sure a dedicated DSP or FPU engine could do more but they would also occupy more area [e.g. les
Re:Why have symmetric cores? (Score:2, Funny)
Err
Re:Why have symmetric cores? (Score:3, Informative)
CPUs already operate this way. Modern processors are superscalar [wikipedia.org] and have multiple execution units that specialize in different operations. The CPU also performs elaborate tricks to keep as many of these units busy at a time, like instruction reordering and register aliasing.
However, each process has a great deal of context associated with it, and switching between these contexts is an expensive operation. Multi-core CPUs can handle the same number of processes with less context switching.
Instructions i
Need an extra core for the ads... (Score:5, Insightful)
I hate sites where the article occupies less than 10% of the screen area.
One with SSE, one without - bozos (Score:5, Insightful)
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.
Re:One with SSE, one without - bozos (Score:3, Insightful)
Four better than three (Score:2)
Heat (Score:3, Interesting)
I know replies have probably already covered this, but here it is one more time. The Xbox 360 uses 3 PowerPC cores (kind of funny for Microsoft to use PowerPC CPUs isn't it?). The new Xbox has major problems with heat, which can also be attributed to the power supply adding to the mess. A previous story said that at least one person was hanging his power supply by a string to help out, which is ridiculous.
We have hit a brick wall so to speak at which processors have been limited. There needs to be major changes in the way that the dies are manufactured before we can attain much higher speeds while keeping stability. One option is to stop using silicon to produce the circuitry, however thus far there are no economical solutions.
If you really need the extra processor power, network a couple of computers together and configure them to share their resources. This takes up more space, but is the only realistic answer that I can think of right now.
How about swapping the processors? (Score:2)
Because they are running two different chips that have different cores and memory controllers, etc. I was wondering if they thought about running the two chips in opposite slots to see if there was a difference in performance. I imagine that there may be differences, perhaps even significant ones.
Re:How about swapping the processors? (Score:3, Informative)
Obviously not. From TFA's first page:
Car analogy (Score:3, Funny)
I'd get the same effect if I tried driving my car on the freeway with three wheels.
Just a pointless observation. I'm good at those.
Am I missing something? (Score:3, Insightful)
I think that the Open Source community has proven that anything will work given enough engineering hours. Case and point; I was at Phreaknic [phreaknic.info] 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.
TriCore is a brand name. (Score:3, Interesting)
It is an instruction set architecture (and a set of CPU cores that implement it). It is "Tri" core because it:
1) is a RISC architecture (for high crunch in low footprint) which
2) has instructions and data paths to do DSP work efficiently and
3) has the interrupt / task switching mechanisms to do real-time controller work efficiently, as well.
this gives ASIC designers a core that handles all three major sorts of embedded processing well in one package.
I suggest we stick to "triple core" (as most of the posters so far have) to avoid confusion between a chip with three cores and this branded single core that does three jobs well.
Benchmarks (Score:3, Interesting)
These are basically the oddest benchmarks I've seen in a while, and nobody even seems to notice. Take for instance the "Cinema 4D R9" test; single Opteron, dual Opteron and dual-core Opteron are basically tied (the singe single-core is even a tiny bit faster!), but dual-core+single-core Opteron is a lot faster... Shouldn't such oddities (and that's not an isolated case) be at least commented on and explained in some sort of way if you want people to buy into your statistics at all? And why didn't they benchmark the rather obvious configuration of two dual-core CPUs?
/* Steinar */
Re:XBox 360? (Score:2)
Re:XBox 360? (Score:2)
With a software deployment target as standardized as the Xbox 360, out-of-order execution of instructions is less important. The code can be optimized for universal best execution at the compiler.
Dropping OOE support also makes it MANY times easier to divide work among multiple cores.
Re:XBox 360? (Score:2)
Re:XBox 360? (Score:2)
Not PPC970 at all.
970 branches from IBM's Power4 architecture while the SPE/SPP cores branch from another PowerPC line (much simpler).
Re:Standards first, then # of cores (Score:2)
If having one processor costs $X, two processors costs $Y and having two makes you more than $Y - $X profit ontop of what having only the single would, then you win.
E.g. I do a lot of compiling when I'm working. My dual can build in half the time what a single could do. That means when I'm doing something like a test suite [which builds from scratch three dozen times] I can finish the test in [say] 10 minutes instead of 20. Means I can do the test more often
Re:Standards first, then # of cores (Score:2)
Re:Standards first, then # of cores (Score:2)
-Rick
Re:Honestly, why have 3 cores.. (Score:3, Funny)
I think they had problems scaling their budget.
Just one small problem.... (Score:4, Informative)
In theory, the ability to run to chips of different speeds was there even in the Athlon MP, as it had independant busses from the morthbridge. In practice, it didn't work very well, either.
steve
Re:Or alternatively, how about 8 cores in one chip (Score:2)
Good luck trying that. If you bothered to actually look at the design of the CPU, you would notice that it completely lacks a bus it could use to talk to other CPU's in SMP-configurations. It has GigE, 10GigE and PCI-Express-buses for communicating with outside world, and none of those is ideal for CPU - CPU communication.
So one CPU (granted: with several cores) per system is all you will get. Unless you are building a cluster, but
Re:umm (Score:3, Interesting)
My first job out of college was on a susyem with 3 CPU's. It was an MAI/B4 MPx8000 series mini. It had 9MB of RAM. Weirdly, the OS word size was 24 bits. Blocksize on the disk was 768 words.