Jump to content

Intel pledges 80 cores in five years


CoffeeFiend

Recommended Posts

Intel has built a prototype of a processor with 80 cores that can perform a trillion floating-point operations per second. The chips are capable of exchanging data at a terabyte a second.

Read Full Article (c|net's news.com)

Can't wait. Not sure what type of bus they'll have then? CSI still? Will it scale that much? Can't wait for them to drop the old FSB already...

Imagine a four way box (with four of these) or more - even a dually wouldn't be exactly slow either.

[edit]: Forgot to say: they also have some infos about their upcoming quad cores (in November) which will be significantly faster than the Core 2 Duos - almost makes me want to wait 'till they come out.

Edited by crahak
Link to comment
Share on other sites


Actually, only a small amount of all calculations that are normally done by programs can be parallelised. Otherwise, 79/80 of those cores are going to be idle since the program can only run on one.

Better one ultrafast core than many small ones, unless your main focus is on parallel computation/distributed computing.

Link to comment
Share on other sites

I must say that I'm also an Intel fan and thinking how it would be nice to buy Intel Core Duo but now I can't afford it since I need a whole new rig...Then Intel says that Quad Core will be released in November, and now this 80 Core Processor. Where will this stop?? :wacko:

Link to comment
Share on other sites

Actually, only a small amount of all calculations that are normally done by programs can be parallelised. Otherwise, 79/80 of those cores are going to be idle since the program can only run on one.

Better one ultrafast core than many small ones, unless your main focus is on parallel computation/distributed computing.

umm...pretty much any part of any program except for the winforms GUI can be multithreaded. and if you develop a custom GUI (like what a game might use) then it too can be multithreaded.

Edited by #rootworm
Link to comment
Share on other sites

Actually, only a small amount of all calculations that are normally done by programs can be parallelised. Otherwise, 79/80 of those cores are going to be idle since the program can only run on one.

Better one ultrafast core than many small ones, unless your main focus is on parallel computation/distributed computing.

umm...pretty much any part of any program except for the winforms GUI can be multithreaded. and if you develop a custom GUI (like what a game might use) then it too can be multithreaded.

You should look up the difference between parallel computing and multi-threaded computing, they aren't the same. Multi-threaded is having seprate threads doing seprate tasks in a single program, though it is possible to have parallel computing in a multi-threaded environment, multi-threading does not gurentee parallel computing is being done. Parallel computing is having multiple processors working together to solve a single task. For example, game engines are very linear by nature. Though they can be enhanced by throwing physics off to other processors, the actual progress through the game engine itself does not expand well into the parallel computing world. My personal opinion is on a desktop, once you get beyond 16 cores, all avenues of parallel processing within that single system for most standard desktop applications will be exhausted and any addition cores will make next to no improvments in performance.

Link to comment
Share on other sites

"Real" parallel processing is only so scalable for most things indeed. But software is going to make use of multithreading a LOT more in the future - not like we have much of a choice, single threaded performance can only improve so fast, while people have these other cores handy we can make use of...

I personally started that "move" a while ago with some management apps (not so much because of CPU load though). It's communicating with PCs on a domain, running WMI queries against them, etc. - so the PC was sitting idle just waiting for answers all the time, and running the "script" against thousands of PCs one per one took pretty much eternity. With some basic multithreading, you can easily increase speed tenfold or more for apps like this.

Keeping 80 cores busy isn't a simple thing to do though, but seemingly it isn't a "general purpose" CPU (more like a Cell processor or for some kind of specialized processing, like for crypto work). I posted that link in a hurry before someone else posts the news :lol:

Link to comment
Share on other sites

Actually, only a small amount of all calculations that are normally done by programs can be parallelised. Otherwise, 79/80 of those cores are going to be idle since the program can only run on one.

Better one ultrafast core than many small ones, unless your main focus is on parallel computation/distributed computing.

umm...pretty much any part of any program except for the winforms GUI can be multithreaded. and if you develop a custom GUI (like what a game might use) then it too can be multithreaded.

You should look up the difference between parallel computing and multi-threaded computing, they aren't the same. Multi-threaded is having seprate threads doing seprate tasks in a single program, though it is possible to have parallel computing in a multi-threaded environment, multi-threading does not gurentee parallel computing is being done. Parallel computing is having multiple processors working together to solve a single task. For example, game engines are very linear by nature. Though they can be enhanced by throwing physics off to other processors, the actual progress through the game engine itself does not expand well into the parallel computing world. My personal opinion is on a desktop, once you get beyond 16 cores, all avenues of parallel processing within that single system for most standard desktop applications will be exhausted and any addition cores will make next to no improvments in performance.

Indeed, 80 cores is overkill for a desktop. A server application would probably be the best for this, or some intensely loaded desktop running 80+ processes (not too rare actually; some of the bloatware that brand-name PCs are shipped with will occupy 60-70 processes, I had to format and reinstall for a friend that had just bought a new PC loaded with said software, now she's surprised at its performance).
Link to comment
Share on other sites

Actually, only a small amount of all calculations that are normally done by programs can be parallelised. Otherwise, 79/80 of those cores are going to be idle since the program can only run on one.

Better one ultrafast core than many small ones, unless your main focus is on parallel computation/distributed computing.

dammit LLXX, stop being right.

i did underestimate the amount of work needed to be done by compilers to realize parallel computing. for some reason i thought parallel computing was automatically handled by the OS.

it is a shame how limited multi-core cpus are right now, you were right in saying there's little code that can be parallelised.

intel will need to make a special cpu to feed it's 80 core monster.

edit: haha, drugs. that was the part i was responding to.

Edited by #rootworm
Link to comment
Share on other sites

Lol, that wasn't me... :whistle:

There is already some 'parallelism' being handled in hardware, for example see the following instruction sequence that loads some registers with numbers:

mov eax, 12345678
mov ebx, 31415927
mov ecx, 27182845

On all modern processors the above sequence can be executed in a single clock, as all three instructions are independent. I'm not sure of the maximum number of instructions that can be parallelised in this fashion for any specific processor but if I remember correctly it was approximately 4.

Link to comment
Share on other sites

haha, i didn't know that at all. just took a crash course in superscalar cpu design, interesting.

wikipedia says this for "Simultaneous multithreading"

In processor design, there are two ways to increase on-chip parallelism with less resource requirement: one is superscalar technique which tries to increase Instruction Level Parallelism (ILP), the other is multithreading approach exploiting Thread Level Parallelism (TLP).

Superscalar means executing multiple instructions at the same time while chip-level multithreading (CMT) executes instructions from multiple threads within one processor chip at the same time. There are many ways to support more than one thread within a chip, namely:

Multithreaded: Interleaved issue of multiple instructions from different threads

Simultaneous multithreading (SMT): Issue multiple instructions from multiple threads in one cycle.

Chip-level multiprocessing (CMP or Multicore): integrate two or more superscalar processors into one chip, each execute one thread independently

Any combination of multithreaded/SMT/CMP

The key factor to distinguish them is to look at how many instructions the processor can issue in one cycle and how many threads from which the instructions come. For example, Sun Microsystems' UltraSPARC T1 (known as "Niagara" until its November 14, 2005 release) is a multicore processor combined with multithreaded technique instead of simultaneous multithreading because each core can only issue one instruction at a time.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...