[clug] Dual core or dual processor?

Andrew Over andrew.over at cs.anu.edu.au
Mon Nov 27 03:49:29 GMT 2006


On Mon, Nov 27, 2006 at 11:18:15AM +0800, Cameron Patrick wrote:
> Mike Carden wrote:
> 
> > On 11/27/06, Ian McCulloch <ianmcc at physik.rwth-aachen.de> wrote:
> > 
> > >A dual core machine is the same as a dual processor system, the only
> > >difference being that the two processors are on the same physical piece of
> > >silicon.
> > 
> > I had some idea that there was a difference in on-die caches between
> > dual core and discrete dual processors and that dual core is second
> > best. Then again, I'm probably either misguided or Living in the Past.
> 
> My understanding was the modern dual core designs were actually _faster_
> cache-wise than dual-socket single-core systems - but there's really not
> very much difference.

Bullet points:

- If the uniprocessor has an on-die memory controller, you lose half the
  memory bandwidth in a dual core vs dual processor arrangement This
  assumes you're not talking multiple memory controllers on the dual
  core (IIRC something like Niagara has 4 memory controllers and 8
  cores).

- If the dual core has a shared L2, writes to shared areas are cheap,
  but the cache access logic is more complicated (possibly increased L2
  hit time).  
  
  There are currently suggestions in the architecture community that the
  large shared L2 idea be abandoned in place of multiple L2s which allow
  migration of data to optimize L2 hit time for CMPs.  The physical
  placement of the L2 on the die is becoming a limiting factor in cache
  access time (NUMA L2 caches (!!)) 

- If the dual core has dual L2s (one per core), the L2 hit time will be
  equivalent to a uniprocessor, sharing will be faster than a
  dual processor (on-chip crossbar vs off-chip bus), but sharing will be
  slower than the shared L2 configuration.

So it's possible to construct scenarios where a dual processor beats a
dual core (ie memory bandwidth or potentially L2 hit time), and while
the former might happen if your typical workload is STREAMS/memcpy, the
latter is likely to be overwhelmed by other effects (ie sharing).

In short, dual-core is almost certainly a win over dual-proc unless
you're starved for memory controllers.  But you may not notice a
difference unless you have many writes to shared regions.

--Andrew


More information about the linux mailing list