Paper on multicore chips

General discussion of computer architecture.

Paper on multicore chips

Postby Rodrigo Augusto Barbato F » Fri Jan 28, 2005 8:57 pm

Hi all,

can anyone point a good paper (preferably published) that explains
why multicore chips seems to be the tendency for next generation
microprocessors?

Thanks in advance,
Rodrigo
Rodrigo Augusto Barbato F
 

Re: Paper on multicore chips

Postby John Dallman » Fri Jan 28, 2005 11:45 pm

In article <ctdmfe$dmv$1@news.wss.yale.edu>, rodrigo.ferreira@jewelvm.com
(Rodrigo Augusto Barbato Ferreira) wrote:

can anyone point a good paper (preferably published) that explains
why multicore chips seems to be the tendency for next generation
microprocessors?

<cynic>
It's a relatively easy way for processor architects to soak up the
ever-increasing available transistor counts. And of course, once one
company has announced it, all the rest feel the need to follow suit,
since many buyers assume fashion is related to functionality. This
doesn't mean that dual-core chips won't be of some use, but their
marketing departments may find themselves disappointed by the customer
feedback.
</cynic>

---
John Dallman jgd@cix.co.uk
"Any sufficiently advanced technology is indistinguishable from a
well-rigged demo"
John Dallman
 

Re: Paper on multicore chips

Postby Randy » Sat Jan 29, 2005 7:11 am

John Dallman wrote:
In article <ctdmfe$dmv$1@news.wss.yale.edu>, rodrigo.ferreira@jewelvm.com
(Rodrigo Augusto Barbato Ferreira) wrote:

can anyone point a good paper (preferably published) that explains
why multicore chips seems to be the tendency for next generation
microprocessors?

cynic
It's a relatively easy way for processor architects to soak up the
ever-increasing available transistor counts. And of course, once one
company has announced it, all the rest feel the need to follow suit,
since many buyers assume fashion is related to functionality. This
doesn't mean that dual-core chips won't be of some use, but their
marketing departments may find themselves disappointed by the customer
feedback.
/cynic

But there's no appreciable difference in the microarchitectures of multicore
CPUs vs their unicore progenitors. AFAIK, multicore CPUs are essentially just
one chip with two unicore CPUs bonded together, sharing as many support
components as possible, and not consuming appreciably more transistors per sq
mm. In fact, I'd bet they use less silicon than would a pair of uniprocessors,
otherwise they would cost more than an existing dual CPU motherboard, which
would make them less desirable than existing technology, unless they offer some
other advantage like power.

I think the most likely answer is -- they're cheaper. Multicore CPUs presumably
cost less to produce (have a higher performance/price ratio) than do multiple
single core CPUs, while requiring modest added engineering cost. With the same
clock speed, you can get twice the performance (given the right workload).

I suspect it's also getting increasingly difficult to eek out more performance
from a single core CPU. Multicore CPUs may also be an homage to Harley Earl --
the chip manufacturers gotta have something new on the showroom floor if they
want to compete.

Randy
Randy
 

Re: Paper on multicore chips

Postby del cecchi » Sat Jan 29, 2005 7:50 am

"Randy" <joe@burgershack.com> wrote in message
news:ctercd$edc$1@joe.rice.edu...
John Dallman wrote:
In article <ctdmfe$dmv$1@news.wss.yale.edu>,
rodrigo.ferreira@jewelvm.com
(Rodrigo Augusto Barbato Ferreira) wrote:

can anyone point a good paper (preferably published) that explains
why multicore chips seems to be the tendency for next generation
microprocessors?

cynic
It's a relatively easy way for processor architects to soak up the
ever-increasing available transistor counts. And of course, once one
company has announced it, all the rest feel the need to follow suit,
since many buyers assume fashion is related to functionality. This
doesn't mean that dual-core chips won't be of some use, but their
marketing departments may find themselves disappointed by the
customer
feedback.
/cynic

But there's no appreciable difference in the microarchitectures of
multicore
CPUs vs their unicore progenitors. AFAIK, multicore CPUs are
essentially just
one chip with two unicore CPUs bonded together, sharing as many
support
components as possible, and not consuming appreciably more transistors
per sq
mm. In fact, I'd bet they use less silicon than would a pair of
uniprocessors,
otherwise they would cost more than an existing dual CPU motherboard,
which
would make them less desirable than existing technology, unless they
offer some
other advantage like power.

I think the most likely answer is -- they're cheaper. Multicore CPUs
presumably
cost less to produce (have a higher performance/price ratio) than do
multiple
single core CPUs, while requiring modest added engineering cost. With
the same
clock speed, you can get twice the performance (given the right
workload).

I suspect it's also getting increasingly difficult to eek out more
performance
from a single core CPU. Multicore CPUs may also be an homage to
Harley Earl --
the chip manufacturers gotta have something new on the showroom floor
if they
want to compete.

Randy

The multicore chips, power4 being the first server example, are intended
to exploit thread level parallelism in the workload and do it better
than two single processor chips due to the tighter coupling and better
communication on chip while being less difficult to develop and verify
than a single processor that runs multiple threads.

This blather about "fashion" is just hot air.

del cecchi
del cecchi
 

Re: Paper on multicore chips

Postby Bill Todd » Sat Jan 29, 2005 7:55 am

Randy wrote:

....

I think the most likely answer is -- they're cheaper. Multicore CPUs presumably
cost less to produce (have a higher performance/price ratio) than do multiple
single core CPUs, while requiring modest added engineering cost.

They may be somewhat cheaper per core, but the real saving is more
likely in the boards they plug into, which are *far* cheaper for single
processing elements than for multiple ones.

And multiple processors on a single chip can communicate with each other
with far lower latency than multiple separate cores (and their
associated caches) can.

Multi-core processors are a natural for multi-threaded or multi-process
server applications. For workstations, often at least somewhat so. For
typical PC use (gaming possibly excepted) not much use at all, if for no
other reason than that existing single-core processors are already far
more than adequate at handling typical PC tasks.

- bill
Bill Todd
 

Re: Paper on multicore chips

Postby Wes Felter » Sat Jan 29, 2005 7:56 am

On 2005-01-28 09:57:40 -0600, Rodrigo Augusto Barbato Ferreira
<rodrigo.ferreira@jewelvm.com> said:

can anyone point a good paper (preferably published) that explains
why multicore chips seems to be the tendency for next generation
microprocessors?

Here are a few:

Kunle Olukotun, Basem A. Nayfeh , Lance Hammond, Ken Wilson and
Kun-Yung Chang. The Case for a Single-Chip Multiprocessor (1996)
http://www-hydra.stanford.edu/publicati ... OS_VII.pdf

Lance Hammond, et al. A Single-Chip Multiprocessor (1997) 
http://citeseer.ist.psu.edu/hammond97singlechip.html

Luiz Andre Barroso, Kourosh Gharachorloo, Robert McNamara, Andreas
Nowatzyk, Shaz Qadeer, Barton Sano, Scott Smith, Robert Stets, Ben
Verghese. Piranha: A Scalable Architecture Based on Single-Chip
Multiprocessing (2000)
http://citeseer.ist.psu.edu/barroso00piranha.html

Jaehyuk Huh, Doug Burger, and Stephen W. Keckler. Exploring the Design
Space of Future CMPs (2001)
http://citeseer.ist.psu.edu/huh01exploring.html

--
Wes Felter - wesley@felter.org - http://felter.org/wesley/
Wes Felter
 

Re: Paper on multicore chips

Postby Nick Maclaren » Sat Jan 29, 2005 4:15 pm

In article <xZudnbR79-pgZ2fcRVn-uA@metrocastcablevision.com>,
Bill Todd <billtodd@metrocast.net> wrote:
They may be somewhat cheaper per core, but the real saving is more
likely in the boards they plug into, which are *far* cheaper for single
processing elements than for multiple ones.

True.

And multiple processors on a single chip can communicate with each other
with far lower latency than multiple separate cores (and their
associated caches) can.

Less true. Low-latency chip-chip isn't hard to achieve - just a
major hassle and correspondingly expensive.

Multi-core processors are a natural for multi-threaded or multi-process
server applications. For workstations, often at least somewhat so. For
typical PC use (gaming possibly excepted) not much use at all, if for no
other reason than that existing single-core processors are already far
more than adequate at handling typical PC tasks.

Untrue. They are seriously inadequate. Whether multi-cored chips are
a good solution (or even a solution at all) is another matter entirely,
but exactly the same was true of clock speed and cache size inflation.
The reason that the PC people are interested in multiple cores is that
the previous approach is no longer feasible.


Regards,
Nick Maclaren.
Nick Maclaren
 

Re: Paper on multicore chips

Postby Bill Todd » Sat Jan 29, 2005 10:05 pm

Nick Maclaren wrote:
In article <xZudnbR79-pgZ2fcRVn-uA@metrocastcablevision.com>,
Bill Todd <billtodd@metrocast.net> wrote:

....

And multiple processors on a single chip can communicate with each other
with far lower latency than multiple separate cores (and their
associated caches) can.


Less true. Low-latency chip-chip isn't hard to achieve - just a
major hassle and correspondingly expensive.

Hmmm. IIRC Itanic's load latency to its humongous L3 on-chip cache is a
hair under 10 ns. Split up said cache across multiple chips cooperating
on the same task and I think you'll find that maintaining similar
latencies to the remote components is more than just a 'hassle': even
an architecture optimized for this like Opteron's introduces more than
this much *additional* latency for each 'hop' (EV7's overhead is even
higher, though of course the architecture is also much more extensible),
and shared-bus-structured architectures are even worse.


Multi-core processors are a natural for multi-threaded or multi-process
server applications. For workstations, often at least somewhat so. For
typical PC use (gaming possibly excepted) not much use at all, if for no
other reason than that existing single-core processors are already far
more than adequate at handling typical PC tasks.


Untrue. They are seriously inadequate.

Please provide examples of *typical* PC tasks (gaming excepted, as I
noted above) which are not already addressed quite adequately by even
the current mid-range desktop processors.

- bill
Bill Todd
 

Re: Paper on multicore chips

Postby Joseph Seigh » Sat Jan 29, 2005 10:56 pm

On Sat, 29 Jan 2005 12:05:36 -0500, Bill Todd <billtodd@metrocast.net> wrote:

Nick Maclaren wrote:
In article <xZudnbR79-pgZ2fcRVn-uA@metrocastcablevision.com>,
Bill Todd <billtodd@metrocast.net> wrote:

...

Multi-core processors are a natural for multi-threaded or multi-process
server applications. For workstations, often at least somewhat so. For
typical PC use (gaming possibly excepted) not much use at all, if for no
other reason than that existing single-core processors are already far
more than adequate at handling typical PC tasks.


Untrue. They are seriously inadequate.

Please provide examples of *typical* PC tasks (gaming excepted, as I
noted above) which are not already addressed quite adequately by even
the current mid-range desktop processors.

If you can't do a breadth first search of a tree data structure without

resorting to backtracking or revisiting the nodes, you don't have enough
processors. You might hit memory or i/o bottlenecks but that's a different
issue. A lot of current programming is serial single threaded simply because
because multiprocessing wasn't generally available and it didn't make sense
to add extra complexity when there was to performance gain to be gotten.

The newer style database like filesystems like Longhorn and such are going to
require lots of processors to execute the queries efficiently.


--
Joe Seigh
Joseph Seigh
 

Re: Paper on multicore chips

Postby Klaus Fehrle » Sun Jan 30, 2005 5:55 am

Bill Todd wrote:
Randy wrote:

...

I think the most likely answer is -- they're cheaper. Multicore CPUs
presumably
cost less to produce (have a higher performance/price ratio) than do
multiple
single core CPUs, while requiring modest added engineering cost.


They may be somewhat cheaper per core, but the real saving is more
likely in the boards they plug into, which are *far* cheaper for single
processing elements than for multiple ones.

Actually, a dual-core CPU is more expensive to fab than two single-core
CPUs. Semiconductor-economies are often counter-intuitive.
And multiple processors on a single chip can communicate with each other
with far lower latency than multiple separate cores (and their
associated caches) can.

This is the reason single-die multicores perform significantly better
than MCP, which are less expensive to make (counter-intuitive as well).
Multi-core processors are a natural for multi-threaded or multi-process
server applications. For workstations, often at least somewhat so. For
typical PC use (gaming possibly excepted) not much use at all, if for no
other reason than that existing single-core processors are already far
more than adequate at handling typical PC tasks.


I agree for the current typical application profile for office PCs.
However as soon as it comes to graficswork, or speech recognition for
the matter, multicore-CPUs bring noticeable benefit to the table today
already.

K.
Klaus Fehrle
 

Re: Paper on multicore chips

Postby Bill Todd » Sun Jan 30, 2005 6:33 am

Joseph Seigh wrote:
On Sat, 29 Jan 2005 12:05:36 -0500, Bill Todd <billtodd@metrocast.net
wrote:

Nick Maclaren wrote:

In article <xZudnbR79-pgZ2fcRVn-uA@metrocastcablevision.com>,
Bill Todd <billtodd@metrocast.net> wrote:


...


Multi-core processors are a natural for multi-threaded or multi-process
server applications. For workstations, often at least somewhat so.
For
typical PC use (gaming possibly excepted) not much use at all, if
for no
other reason than that existing single-core processors are already far
more than adequate at handling typical PC tasks.



Untrue. They are seriously inadequate.


Please provide examples of *typical* PC tasks (gaming excepted, as I
noted above) which are not already addressed quite adequately by even
the current mid-range desktop processors.

If you can't do a breadth first search of a tree data structure without
resorting to backtracking or revisiting the nodes, you don't have enough
processors.

Correction: if you can't do that *and* the inability to do it has some
significant effect on the person using the PC (e.g, it takes
significantly longer in human-perceivable terms *and* the operation is
performed sufficiently frequently for this to be an issue) *then* you
don't have enough processors.

I submit that such 'deficiencies' hardly qualify as 'typical' in the
desktop space. But (once again) feel free to point out where you
consider them to be a real problem.

You might hit memory or i/o bottlenecks but that's a different
issue. A lot of current programming is serial single threaded simply
because
because multiprocessing wasn't generally available and it didn't make sense
to add extra complexity when there was to performance gain to be gotten.

The newer style database like filesystems like Longhorn and such are
going to
require lots of processors to execute the queries efficiently.

Only if all the data is already memory-resident rather than on disk:
otherwise, disk accesses will completely swamp any processing overhead.
And even then only if the indexing is designed by incompetents. At
least if by 'efficiently' you mean 'expeditiously', because users
couldn't care less whether the processor is loafing along or chugging
its little heart out in the effort as long as the result is the same.

For God's sake, current uniprocessors can scan data in memory
sequentially at a rate of gigabytes per second. While multimedia files
may take up a lot of disk space, the amount actually used by *indexable*
material on a PC is relatively small.

- bill
Bill Todd
 

Re: Paper on multicore chips

Postby Bill Todd » Sun Jan 30, 2005 6:42 am

Klaus Fehrle wrote:
Bill Todd wrote:

Randy wrote:

...

I think the most likely answer is -- they're cheaper. Multicore CPUs
presumably
cost less to produce (have a higher performance/price ratio) than do
multiple
single core CPUs, while requiring modest added engineering cost.



They may be somewhat cheaper per core, but the real saving is more
likely in the boards they plug into, which are *far* cheaper for
single processing elements than for multiple ones.


Actually, a dual-core CPU is more expensive to fab than two single-core
CPUs.

But I suspect that's more than matched by the increased packaging,
testing, and handling overheads for two separate devices.

Semiconductor-economies are often counter-intuitive.

Perhaps only when viewed at a sufficiently fine grain.

....

Multi-core processors are a natural for multi-threaded or
multi-process server applications. For workstations, often at least
somewhat so. For typical PC use (gaming possibly excepted) not much
use at all, if for no other reason than that existing single-core
processors are already far more than adequate at handling typical PC
tasks.


I agree for the current typical application profile for office PCs.
However as soon as it comes to graficswork,

That's why I differentiated workstations above.

or speech recognition for
the matter,

Not an area I'm familiar with in terms of its parallelizability, but it
might chew up enough cycles that if it can be effectively parallelized
it could be a driver toward the utility of multiple cores in PCs.

multicore-CPUs bring noticeable benefit to the table today
already.

Today? I wasn't aware that speech recognition was anything like a
mainstream application yet.

- bill
Bill Todd
 

Re: Paper on multicore chips

Postby Niels Jørgen Kruse » Sun Jan 30, 2005 7:24 pm

Klaus Fehrle <FirstnameLastname@t-online.de> wrote:

Actually, a dual-core CPU is more expensive to fab than two single-core
CPUs. Semiconductor-economies are often counter-intuitive.

Particularly when time comes to sell the semiconductors. When Intel
sells a dualcore CPU, there is no way for the costumer to pry it apart
to build 2 boxes with it. That is how Intel can sell the second core
cheaply: it is guaranteed to be extra revenue.

Apple has enough control over their hardware that similar economics
apply. That is why the duals are relatively cheap.

--
Mvh./Regards, Niels Jørgen Kruse, Vanløse, Denmark
Niels Jørgen Kruse
 

Re: Paper on multicore chips

Postby Nick Maclaren » Sun Jan 30, 2005 10:42 pm

In article <msqdnas2a9_FX2bcRVn-tw@metrocastcablevision.com>,
Bill Todd <billtodd@metrocast.net> wrote:
And multiple processors on a single chip can communicate with each other
with far lower latency than multiple separate cores (and their
associated caches) can.

Less true. Low-latency chip-chip isn't hard to achieve - just a
major hassle and correspondingly expensive.

Hmmm. IIRC Itanic's load latency to its humongous L3 on-chip cache is a
hair under 10 ns. Split up said cache across multiple chips cooperating
on the same task and I think you'll find that maintaining similar
latencies to the remote components is more than just a 'hassle': even
an architecture optimized for this like Opteron's introduces more than
this much *additional* latency for each 'hop' (EV7's overhead is even
higher, though of course the architecture is also much more extensible),
and shared-bus-structured architectures are even worse.

That is an almost entirely different matter.

The management of multiple, coherent caches is a MUCH harder problem
than basic communication, and it is generally true that the latency
of them goes up with the number of cores that need to access them,
whether they are on-chip or not. Also, the reason that on-chip
caches are usually faster than off-chip ones is that the latter are
usually based on commodity components (nowadays), with all the extra
interface that implies.

What I said was true - what you imagined that I said is false.

Multi-core processors are a natural for multi-threaded or multi-process
server applications. For workstations, often at least somewhat so. For
typical PC use (gaming possibly excepted) not much use at all, if for no
other reason than that existing single-core processors are already far
more than adequate at handling typical PC tasks.

Untrue. They are seriously inadequate.

Please provide examples of *typical* PC tasks (gaming excepted, as I
noted above) which are not already addressed quite adequately by even
the current mid-range desktop processors.

Mouse, keyboard, screen and window management under load, especially
when combined with heavy I/O, networking or memory-intensive background
work. E.g. using the typical ghastly modern GUI to a Web system. It
isn't JUST the network and the Web server that is the problem.

Before responding, please look back at the REST of what I said.


Regards,
Nick Maclaren.
Nick Maclaren
 

Re: Paper on multicore chips

Postby Bernd Paysan » Mon Jan 31, 2005 2:44 am

Klaus Fehrle wrote:
Actually, a dual-core CPU is more expensive to fab than two single-core
CPUs. Semiconductor-economies are often counter-intuitive.

Nah, the answer is "it depends". Packaging in a 940 pin ceramics PGA package
with thermal heat spreader is expensive, so if you make a dual-core CPU
with that package, you can be significantly cheaper than two single-core
CPUs.

Silicon itself is rather "cheap" (the raw silicon price for an untested
Athlon64 or Opteron should be somewhere around $20, depending on cache
size). Yield is a question - and a well-kept secret. If you have a yield of
60% for a single-core-CPU (assume the cache has good yield due to
redundancy), the yield of a dual-core is too small, less than 30%. However,
usual production yield should be rather in the >90% range, so a dual-core
wouldn't give you such a bad hit. You'll see that on the next process
transition: my bet is that the dual-core CPUs will show up later.

Testing mostly is a function of pins*time. A dual-core CPU can run the
time-consuming test code just as fast as a single-core CPU (the speed paths
to be evaluated can run in parallel). So the testing cost of a dual-core
CPU is roughly the same as of a single-core CPU.

The net result is that a dual-core Opteron is probably $10 more expensive to
make than a single-core Opteron ($20 at most). Do you expect AMD to sell it
for $10 more? I rather expect three digit figures.

--
Bernd Paysan
"If you want it done right, you have to do it yourself"
http://www.jwdt.com/~paysan/
Bernd Paysan
 

Next

Return to Computer Architecture

Who is online

Users browsing this forum: No registered users and 1 guest

cron