Are we only moving toward multi-core CPUs because we have to?

archcommus

Diamond Member
Sep 14, 2003
8,115
0
71
I'm not sure how right I am about this, but it seems like the industry only started moving toward multi-core CPUs was because we simply could not increase clock frequency at the same rates we were used to seeing for the past 20 years. Heat issues and architectural limitations made it impossible to move to 5+ GHz, so we decided to start moving toward multiple core chips, which of course requires the use of multitasking and new kinds of programming to make use of this power and start seeing gains like we're used to again.

My question is, is the only reason we moved in this direction because we were forced to due to clock frequency limitations? Or did designers really choose this direction because it is better in some way? In other words, would, say, a single core 20 GHz processor using conventional single-threaded programming be PREFERABLE to a multiple core system using many threads?
 

cmdrdredd

Lifer
Dec 12, 2001
27,052
357
126
Originally posted by: archcommus
I'm not sure how right I am about this, but it seems like the industry only started moving toward multi-core CPUs was because we simply could not increase clock frequency at the same rates we were used to seeing for the past 20 years. Heat issues and architectural limitations made it impossible to move to 5+ GHz, so we decided to start moving toward multiple core chips, which of course requires the use of multitasking and new kinds of programming to make use of this power and start seeing gains like we're used to again.

My question is, is the only reason we moved in this direction because we were forced to due to clock frequency limitations? Or did designers really choose this direction because it is better in some way? In other words, would, say, a single core 20 GHz processor using conventional single-threaded programming be PREFERABLE to a multiple core system using many threads?

If you look at framerates in the latest QX6700 benchmarks. The Higher clock speed CPUs ALWAYS have an advantage. The thing is, when a game is programmed to use all the cores of a dual core CPU or a quad, the single 3Ghz+ CPU will lag way behind. It's all about how the applications are coded. Taking advantage of two 2.6Ghz CPUs will produce better results than a single 3Ghz CPU in an app that is programmed for multiple cores. If it's something that is coded only to recognise a single core, then the faster clock speed wins.

I think of it this way. A single super fast core is like a Top Fuel dragster, it's built to do only one thing and is only really useful for that task. A Dual/Quad core CPU is like a Corvette. It is fast, but is built to do much more than just run fast in a straight line.

Dunno if that makes any sense lol

Anyway back to your original comment. I do believe that is more feasable for a CPU designer to build 2+ cores onto a chip than make one chip that runs at 10Ghz.
 

archcommus

Diamond Member
Sep 14, 2003
8,115
0
71
Originally posted by: cmdrdredd
Originally posted by: archcommus
I'm not sure how right I am about this, but it seems like the industry only started moving toward multi-core CPUs was because we simply could not increase clock frequency at the same rates we were used to seeing for the past 20 years. Heat issues and architectural limitations made it impossible to move to 5+ GHz, so we decided to start moving toward multiple core chips, which of course requires the use of multitasking and new kinds of programming to make use of this power and start seeing gains like we're used to again.

My question is, is the only reason we moved in this direction because we were forced to due to clock frequency limitations? Or did designers really choose this direction because it is better in some way? In other words, would, say, a single core 20 GHz processor using conventional single-threaded programming be PREFERABLE to a multiple core system using many threads?

If you look at framerates in the latest QX6700 benchmarks. The Higher clock speed CPUs ALWAYS have an advantage. The thing is, when a game is programmed to use all the cores of a dual core CPU or a quad, the single 3Ghz+ CPU will lag way behind. It's all about how the applications are coded. Taking advantage of two 2.6Ghz CPUs will produce better results than a single 3Ghz CPU in an app that is programmed for multiple cores. If it's something that is coded only to recognise a single core, then the faster clock speed wins.

I think of it this way. A single super fast core is like a Top Fuel dragster, it's built to do only one thing and is only really useful for that task. A Dual/Quad core CPU is like a Corvette. It is fast, but is built to do much more than just run fast in a straight line.

Dunno if that makes any sense lol

Anyway back to your original comment. I do believe that is's more feasable for a CPU designer to build 2+ cores onto a chip than make one chip that runs at 10Ghz.
That makes sense, but you made a very key statement there: It's all about how the applications are coded. In other words, we do not see gains from multi-core CPUs unless we redesign our software to make use of them, which is undeniably more difficult than programming linearly. And if we left our software as it has been for years, and somehow were able to produce a 20 GHz CPU to run it on, would it be a better and faster implementation than what we're doing today? Again it poses the question, are we only moving in this direction because we were forced to do so to continue advancing? Is this direction preferable to having absurdly fast single core CPUs and single-threaded software?
 

cmdrdredd

Lifer
Dec 12, 2001
27,052
357
126
Originally posted by: archcommus
Originally posted by: cmdrdredd
Originally posted by: archcommus
I'm not sure how right I am about this, but it seems like the industry only started moving toward multi-core CPUs was because we simply could not increase clock frequency at the same rates we were used to seeing for the past 20 years. Heat issues and architectural limitations made it impossible to move to 5+ GHz, so we decided to start moving toward multiple core chips, which of course requires the use of multitasking and new kinds of programming to make use of this power and start seeing gains like we're used to again.

My question is, is the only reason we moved in this direction because we were forced to due to clock frequency limitations? Or did designers really choose this direction because it is better in some way? In other words, would, say, a single core 20 GHz processor using conventional single-threaded programming be PREFERABLE to a multiple core system using many threads?

If you look at framerates in the latest QX6700 benchmarks. The Higher clock speed CPUs ALWAYS have an advantage. The thing is, when a game is programmed to use all the cores of a dual core CPU or a quad, the single 3Ghz+ CPU will lag way behind. It's all about how the applications are coded. Taking advantage of two 2.6Ghz CPUs will produce better results than a single 3Ghz CPU in an app that is programmed for multiple cores. If it's something that is coded only to recognise a single core, then the faster clock speed wins.

I think of it this way. A single super fast core is like a Top Fuel dragster, it's built to do only one thing and is only really useful for that task. A Dual/Quad core CPU is like a Corvette. It is fast, but is built to do much more than just run fast in a straight line.

Dunno if that makes any sense lol

Anyway back to your original comment. I do believe that is's more feasable for a CPU designer to build 2+ cores onto a chip than make one chip that runs at 10Ghz.
That makes sense, but you made a very key statement there: It's all about how the applications are coded. In other words, we do not see gains from multi-core CPUs unless we redesign our software to make use of them, which is undeniably more difficult than programming linearly. And if we left our software as it has been for years, and somehow were able to produce a 20 GHz CPU to run it on, would it be a better and faster implementation than what we're doing today? Again it poses the question, are we only moving in this direction because we were forced to do so to continue advancing? Is this direction preferable to having absurdly fast single core CPUs and single-threaded software?

In the case of something like Video editing. You can render the even frames on one core, the odd frames on another core, the sound can be processed on core3, and core 4 can be used to run the OS and it's background tasks.

Idealy this is how things should be handled and it's only a matter of time before this is possible. Now, doing all this on multiple cores is definately more powerful than a single super fast core.
 

bjp999

Member
Nov 2, 2006
137
0
0
It would definitely be preferrable to have a single 20GHz CPU than a quad core of 5GHz each. The single CPU would speed up everything, while the quad core would only speed up specific applications that had gone to the trouble to implement multi processng. Of course if you were running 4 CPU intensive applications at the same time, the quad core would be about as good. But that is not typical of the way we use our computers. We are usually doing ONE big thing at a time, like running a complex game, and we want that one thing to go faster. The 20GHz CPU would do this fantasticly. The quad core wouldn't, at least not today.

There are some things that lend themselves to multiprocessing, and others that are more difficult. Think of searching through a list of a billion items. You could break the list up into 250 millions and have each core search those. Pretty easy. But say you are trying to decompress a file, and the compression program builds keys as the file is decompressed. Hmmm, that would be hard or even impossible. Throwning more cores at a problem may not help very much if at all.

Games seem to fall somewhere towards the easier side. Each "object" in the game could potentially be served by a different core, taking advantage of a huge number of cores. But the truth is a leaf on a tree needs much less CPU than the arch-enemy in the midst of a battle. So can we apply multiple CPUs to that arch enemy to make him faster. Hmmm ... that takes some thought. Although it might be easy to split a task into multiple threads, it is much harder for those multiple threads to be equal and actually accelerate the "critical path" of the game. That will be the challenge as the core counts increase. Going from one core to two, the opportunites are huge. But as the core counts increase we'll have to see how well more cores equate to better real-world performance.

In the old world the CPU makers were creating faster and faster CPUs that eveyone wanted because it would make their games run faster. In order for that to continue, the game makers have to start figuring out how to take advantage of the multicores, because that's where their additional horsepower is going to come from. And Intel and AMD are only going to be successful in getting us to buy their CPUs if these software companies are successful.

Sorry for the long post. Hope this helps.

BJP
 

AndrewL

Member
Aug 29, 2006
174
0
0
Originally posted by: archcommus
I'm not sure how right I am about this, but it seems like the industry only started moving toward multi-core CPUs was because we simply could not increase clock frequency at the same rates we were used to seeing for the past 20 years. Heat issues and architectural limitations made it impossible to move to 5+ GHz, so we decided to start moving toward multiple core chips, which of course requires the use of multitasking and new kinds of programming to make use of this power and start seeing gains like we're used to again.

My question is, is the only reason we moved in this direction because we were forced to due to clock frequency limitations? Or did designers really choose this direction because it is better in some way? In other words, would, say, a single core 20 GHz processor using conventional single-threaded programming be PREFERABLE to a multiple core system using many threads?

Their are other limitations to increasing clock speed besides heat. One being the speed of electricity. I remember reading somewhere once you reach certain frequencies electrical signals will be to close together or something along those lines (Im not talking about leakage of signals from transistor to transistor). Basically even if we could tackle heat completely eventually we would run into another wall with the speed of electricity.

Even if we could indefinitely increase clock speed it would be senseless not to eventually tap into multi-core cpus. Workstations have had multiple cpu sockets for the longest time, probably before multi-core cpu's were even imagined.
 

WarhammerTX

Senior member
Oct 15, 2005
659
0
0
www.Snipergamerselite.com
So say I have a Amd 3700 at 2.2 and I wanted to replace it with the 4200 x2 at 2.2 what would I gain if anything at all. Would it be faster or nothing really noticable guys. Ive been thinking about getting a dual core but from what you guys are saying there would really be no gain. Due to the way the games are coded.
 

myocardia

Diamond Member
Jun 21, 2003
9,291
30
91
Warhammer, unless you're playing one of the 5 games so far that have been patched to allow dual-core use, or one of the few (and usually fairly expensive) still photo processing applications, both processors will be exactly the same speed. Unless, of course, you're doing video processing, which is the easiest of all apps to make SMP-enabled, since the author just tells cpu 0 to do the odd or even frames, and cpu 1 to do the opposite frames. Video processing has been SMP-enabled for quite a few years now. Most other things aren't.
 

bjp999

Member
Nov 2, 2006
137
0
0
Originally posted by: WarhammerTX
So say I have a Amd 3700 at 2.2 and I wanted to replace it with the 4200 x2 at 2.2 what would I gain if anything at all. Would it be faster or nothing really noticable guys. Ive been thinking about getting a dual core but from what you guys are saying there would really be no gain. Due to the way the games are coded.
You would only benefit in single threaded games if the single core you upgraded to was faster than the single core you own. Conroe cores are (each) way faster than your current AMD. You'd definitely benefit by upgrading to that. But to benefit from Conroe to something like Kentsfield, which is basically the same speed as the Conroe but has 2 extra cores, you'd not benefit unless, as myocardia says, you were running video editting or other specialized apps, or if you were doing lots of CPU intensive things at the same time. The games will come that take advantage, it will just take a little time.
 

aka1nas

Diamond Member
Aug 30, 2001
4,335
1
0
Dual-core(or even hyperthreading) is useful in general as it prevents one blocking process from potentially tying up the whole system and IMO offers a better user experience on a modern multi-tasking OS. Beyond two cores, you will get rapidly diminishing returns as it becomes more difficult to extract further parallelism. What multicore gives us is the potential to get vastly more throughput.

As far as games go, the exciting thing would be to go from the current common model where everything is running on a single cpu-bound thread, to offloading components like AI to a seperate core, to offloading each object in a game's AI to their very own core and being able to have very complex and hopefully more realistic AI. In not too long, finding ways to do more useful work in programs will be the main task of programmers trying to utilize multi-core processors as Amdahl's law kicks in pretty fast if they keep trying to parallelize algorithms across more and more cores.
 

archcommus

Diamond Member
Sep 14, 2003
8,115
0
71
So the consensus seems to be, an extremely fast single core processor using single-threaded applications probably would be preferable and easier than using multi-core systems and multi-threaded software, however even in that case moving to multiple cores makes sense, so we might as well make that move now while continuing to attempt to increase clock speeds (even if at a very slow rate). Plus, as AndrewL pointed out, there are more things than just heat limiting clock speed increases, so it's simply unrealistic for many reasons to expect the kind of increases we were used to up until the 3 GHz era.
 

Pacemaker

Golden Member
Jul 13, 2001
1,184
2
0
The multi-core vs. single-core reminds me a lot of RISC vs. CISC. RISC put the burden on the programmers and CISC put the burden on Engineers of the processors. In the end CISC won because programmers are lazy. Now because of hitting the clock speed wall programmers are being forced out of laziness for the first time in years.

The Valve article on the main page was a really good example of what game companies are trying to do to utilize dual core CPUs.
 

darkhorror

Member
Aug 13, 2006
111
0
0
We are not only trending to multi-core but we get performance boost in single threaded apps by doing much more per clock cycle than we did before. So just because we arn't moving foward in GHz we are still improving single threaded performance.
 

aka1nas

Diamond Member
Aug 30, 2001
4,335
1
0
Originally posted by: Pacemaker
The multi-core vs. single-core reminds me a lot of RISC vs. CISC. RISC put the burden on the programmers and CISC put the burden on Engineers of the processors. In the end CISC won because programmers are lazy. Now because of hitting the clock speed wall programmers are being forced out of laziness for the first time in years.

The Valve article on the main page was a really good example of what game companies are trying to do to utilize dual core CPUs.

CISC "won" because hardware became cheaper, while at the same time the cost of developing software has greatly increased over the years. It's kind of a silly argument as almost all modern CPUs are better classified as CISC/RISC hybrids. Most have CISC like front-ends, and translate the complex instructions into micro-ops that are executed in a more RISC-like fashion.
 

Pacemaker

Golden Member
Jul 13, 2001
1,184
2
0
Originally posted by: aka1nas
Originally posted by: Pacemaker
The multi-core vs. single-core reminds me a lot of RISC vs. CISC. RISC put the burden on the programmers and CISC put the burden on Engineers of the processors. In the end CISC won because programmers are lazy. Now because of hitting the clock speed wall programmers are being forced out of laziness for the first time in years.

The Valve article on the main page was a really good example of what game companies are trying to do to utilize dual core CPUs.

CISC "won" because hardware became cheaper, while at the same time the cost of developing software has greatly increased over the years. It's kind of a silly argument as almost all modern CPUs are better classified as CISC/RISC hybrids. Most have CISC like front-ends, and translate the complex instructions into micro-ops that are executed in a more RISC-like fashion.

It was not an Argument at all. I was referring to the fact that it reminded me of it. And yes development has gotten more expensive as time has gone on (that was a ton of insight there). Easier always wins with programmers and software always makes the hardware succeed (aka killer app). That was my point. In the end CISC won (and yes I know that no modern CPU is either CISC or RISC) because programmers liked it better. The fact that the hardware got cheaper helped too, but hardware always gets cheaper.

The other point is that programmers have gotten lazy over the years because the hardware industry has been pushing faster and faster hardware making them not have to spend large amounts of time compressing code (hard drives are so huge they barely try), or optimizing it to run faster, because well the processors are so fast they didn't have to bother. Now to get the most out of dual core systems they have to do a bit more coding work (and more than a few companies are crying about it). I understand that for the first time in years they have to optimize code again and it's not simple (I have looked into coding multi-threaded and It requires a lot more planning and thought then traditional coding).

Again it wasn't an argument. I only said it reminded me of it.
 

GuitarDaddy

Lifer
Nov 9, 2004
11,465
1
0
It's a conspiracy! The extra core(s) will be used to monitor and report your activities to the Department of Homeland Security, and to facilitate extracting CC and bank account numbers from your machine

And when used in conjunction with MS Vista it will enable aliens to control your brain waves. In other news, I'm looking for a design engineer to help devlop a new line of tinfoil hat's to combat the problem
 

Pacemaker

Golden Member
Jul 13, 2001
1,184
2
0
Originally posted by: GuitarDaddy
It's a conspiracy! The extra core(s) will be used to monitor and report your activities to the Department of Homeland Security, and to facilitate extracting CC and bank account numbers from your machine

And when used in conjunction with MS Vista it will enable aliens to control your brain waves. In other news, I'm looking for a design engineer to help devlop a new line of tinfoil hat's to combat the problem

I agree. Once the 4 core chips come out we are all gonna be in real trouble.
 

zephyrprime

Diamond Member
Feb 18, 2001
7,512
2
81
The reason we've moved to multicore designs IS because we have to but it's not becuase of the clockspeed limitations we're facing now.

The real limiting factor we're facing is the prohibitive difficulty, cost, and diminishing returns of making ever bigger superscalar processors. We have ever bigger transistor budgets but not many clever ideas to use them.

also, Pacemaker: since when is risc harder to program than cisc? I find risc easier to program with in assembler than cisc. In a higher level language, the point is moot since all the lower level stuff is hidden away. I've never heard of any historic complaints about the programmability difficulty of risc.
 

Pacemaker

Golden Member
Jul 13, 2001
1,184
2
0
Originally posted by: zephyrprime
The reason we've moved to multicore designs IS because we have to but it's not becuase of the clockspeed limitations we're facing now.

The real limiting factor we're facing is the prohibitive difficulty, cost, and diminishing returns of making ever bigger superscalar processors. We have ever bigger transistor budgets but not many clever ideas to use them.

also, Pacemaker: since when is risc harder to program than cisc? I find risc easier to program with in assembler than cisc. In a higher level language, the point is moot since all the lower level stuff is hidden away. I've never heard of any historic complaints about the programmability difficulty of risc.

Well back in the day when people would optimize code by going to assembly it was harder. Today, it?s really not. (Unless you are programming the compiler)


Good article overall, but I put it on the page that defends my claim. Note in the box where it says Price:

http://arstechnica.com/cpu/4q99/risc-cisc/rvc-5.html
 

aka1nas

Diamond Member
Aug 30, 2001
4,335
1
0
Pacemaker, the problem is that someone still has to program the compiler to be smart enough to produce efficient code. It's not merely a problem of "lazy" programmers.
 

nyker96

Diamond Member
Apr 19, 2005
5,630
2
81
I don't know if multicore is the best direction, it's cheap direction for sure. Design one core and use it multiple times is better than design a new core every iteration. This method of upping processing power has survived thru time (esp in servers) due to its practical approach to developing new CPU. Of course this will be harder on software than a monolithic system.
 

archcommus

Diamond Member
Sep 14, 2003
8,115
0
71
I'm just not really seeing a huge benefit to dual core. Very few applications make use of it. Quad core, however, will be put to great use by the next generation of game engines, and I doubt 8 cores will be THAT quick to follow.

So, I'm really holding out for a Kentsfield to be affordable I think before moving off my single core CPU.
 

lyssword

Diamond Member
Dec 15, 2005
5,761
25
91
one word: nanotubes and lasers that intel is developing Hello 20-50ghz in ~10 years
 

bjp999

Member
Nov 2, 2006
137
0
0
The Kentsfield is two E6700 cores in the same LGA package. It pulls twice the power and generates twice the heat of a regular E6700, and will therefore be harder to OC and manage heat. With the rapid rise in popularity of the Conroe, I think you'll see support for dual cores (and maybe even quad/higher cores) hitting the scene quickly, but don't think that a quad core will be needed for high performance on any game until maybe 2008.

I did some research today and there is not room for 4 E6x00 processors in a single LGA package. It was thought that with a reduction in cache to 2M and a bit if shrinking, they may be able to squeeze 4 cores on a single chip, which would mean 8 cores. I doulbt you'll see this unless AMD's 4x4 comes out and threatens Intel's current dominance.

BTW, Intel has been able to put 80 CPUs (FPU only) on a singe chip in the lab. You can bet that if software starts coming out that makes them useful, that Intel and AMD will start packing on the Cores! You may even see single core performance decrease, in favor of being able to pack more smaller cooler cores into a single package. That would suck for older games, but might be fine for the next generation that exploits the multiple cores.
 
sale-70-410-exam    | Exam-200-125-pdf    | we-sale-70-410-exam    | hot-sale-70-410-exam    | Latest-exam-700-603-Dumps    | Dumps-98-363-exams-date    | Certs-200-125-date    | Dumps-300-075-exams-date    | hot-sale-book-C8010-726-book    | Hot-Sale-200-310-Exam    | Exam-Description-200-310-dumps?    | hot-sale-book-200-125-book    | Latest-Updated-300-209-Exam    | Dumps-210-260-exams-date    | Download-200-125-Exam-PDF    | Exam-Description-300-101-dumps    | Certs-300-101-date    | Hot-Sale-300-075-Exam    | Latest-exam-200-125-Dumps    | Exam-Description-200-125-dumps    | Latest-Updated-300-075-Exam    | hot-sale-book-210-260-book    | Dumps-200-901-exams-date    | Certs-200-901-date    | Latest-exam-1Z0-062-Dumps    | Hot-Sale-1Z0-062-Exam    | Certs-CSSLP-date    | 100%-Pass-70-383-Exams    | Latest-JN0-360-real-exam-questions    | 100%-Pass-4A0-100-Real-Exam-Questions    | Dumps-300-135-exams-date    | Passed-200-105-Tech-Exams    | Latest-Updated-200-310-Exam    | Download-300-070-Exam-PDF    | Hot-Sale-JN0-360-Exam    | 100%-Pass-JN0-360-Exams    | 100%-Pass-JN0-360-Real-Exam-Questions    | Dumps-JN0-360-exams-date    | Exam-Description-1Z0-876-dumps    | Latest-exam-1Z0-876-Dumps    | Dumps-HPE0-Y53-exams-date    | 2017-Latest-HPE0-Y53-Exam    | 100%-Pass-HPE0-Y53-Real-Exam-Questions    | Pass-4A0-100-Exam    | Latest-4A0-100-Questions    | Dumps-98-365-exams-date    | 2017-Latest-98-365-Exam    | 100%-Pass-VCS-254-Exams    | 2017-Latest-VCS-273-Exam    | Dumps-200-355-exams-date    | 2017-Latest-300-320-Exam    | Pass-300-101-Exam    | 100%-Pass-300-115-Exams    |
http://www.portvapes.co.uk/    | http://www.portvapes.co.uk/    |