Intel: Why a 1,000-core chip is feasible

Intel: Why a 1,000-core chip is feasible

Summary: Intel engineer Timothy Mattson explains why he thinks his company has a processor architecture that could scale to 1,000 cores

SHARE:
TOPICS: Emerging Tech
7

Chipmaker Intel has been investigating the issue of scaling the number of cores in chips through its Terascale Computing Research Program, which has so far yielded two experimental chips of 80 and 48 cores.

In November, Intel engineer Timothy Mattson caused a stir at the Supercomputer 2010 Conference when he told the audience that one of the Terascale chips — the 48-core Single-chip Cloud Computer (SCC) — could theoretically scale to 1,000 cores.

Mattson, who is a principal engineer at Intel's Microprocessor Technology Laboratory, talked to ZDNet UK about the reasoning behind his views and why — while a 1,000-core chip isn't on Intel's roadmap — the path to creating such a processor is now is visible.

Q: What would it take to build a 1,000-core processor?
A: The challenge this presents to those of us in parallel computing at Intel is, if our fabs [fabrication department] could build a 1,000-core chip, do we have an architecture in hand that could scale that far? And if built, could that chip be effectively programmed?

The architecture used on the 48-core chip could indeed fit that bill. I say that since we don't have cache coherency overhead. Message-passing applications tend to scale at worst as the diameter of the network, which runs roughly as the square root of the number of nodes on the network. So I can say with confidence we could scale the architecture used on the SCC to 1,000 cores.

There is no theoretical limit to the number of cores you can use. It's more complicated than that.

But could we program it? Well, yes: as a cluster on a chip using a message-passing API. Is that message-passing approach something the broader market could accept? We have shared memory that is not cache-coherent between cores. Can we use that together with the message passing to make programming the chip acceptable to the general-purpose programmer?

If the answers to these questions are yes, then we have a path to 1,000 cores. But that assumption leads to a larger and much more difficult series of questions. Chief among these is whether we have usage models and a set of applications that would demand that many cores. We have groups working on answers to that question.

As I see it, my job is to understand how to scale out as far as our fabs will allow and to build a programming environment that will make these devices effective. I leave it to others in our applications research groups and our product groups to decide what number and combination of cores makes the most sense. In a sense, my job is to stay ahead of the curve.

Is there a kind of threshold of cores beyond which it is too difficult to program to get maximum use of them? What is it — 100, 400?
There is no theoretical limit to the number of cores you can use. It's more complicated than that. It depends on, one, how much of the program can be parallelised and, two, how much overhead and load-imbalance your program incurs. We talk about this in terms of Amdahl's law.

This law says that we can break down a program into a part the speeds up with cores — the parallel fraction — and a part that doesn't — the serial fraction. If S is the serial fraction, you can easily prove with just a bit of algebra that...

Topic: Emerging Tech

Jack Clark

About Jack Clark

Currently a reporter for ZDNet UK, I previously worked as a technology researcher and reporter for a London-based news agency.

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.

Talkback

7 comments
Log in or register to join the discussion
  • not feasible. See PixelFusion.
    jdavidlove
  • yes it can see gp gpu

    AMD Radeon™ HD 6970 - 1536 Stream Processors
    GeForce GTX 480 - CUDA Cores 480

    this is nothing new
    llmonstarll
  • I already develop software running over 1000 concurrent threads and am waiting for the chip providers to catch up! I do it using software from http://www.connectivelogic.co.uk/
    I don't work for them, but would happily recommend their product.
    funnyusername
  • Fant, have you looked at fpgas? How many bits do you need per processor? 8, 16, 32?
    w1a1aa
  • Why settle for 1,000? Anything is possible with the correct knowledge. Billions is where I would aim at least.
    sheriff12
  • There has already been at least one thousand core processor built. I know for sure that Glasgow university has made one and i think Harvard has as well. They will catch on though as just how much electricity they'll save and with the rising prices
    keiththestudent
  • @ keiththestudent
    Glasgow University has made a field-programmable gate array with the characteristics of 1,000 cores. As far as I'm aware they have not made a 1,000 core processor.
    ^ http://www.zdnet.co.uk/blogs/mapping-babel-10017967/academics-develop-super-fast-1000-core-fpga-chip-10021386/

    regarding the Harvard research, thanks for the tip -- I'll have a look.
    Jack Clark