Dual Core Or Dual CPU - What's the real difference in performance?

Cy Schubert Cy.Schubert at komquats.com
Fri Feb 9 02:52:01 UTC 2007


In message <142261.76672.qm at web34514.mail.mud.yahoo.com>, Nicole Harrington 
wri
tes:
> --- Cy Schubert <Cy.Schubert at komquats.com> wrote:
> > In message
> > <17866.47828.219523.71972 at bhuda.mired.org>, Mike
> > Meyer writes:
> > > Generally, more processors means things will go
> > faster until you run
> > > out of threads. However, if there's some shared
> > resource that is the
> > > bottleneck for your load, and the resource doesn't
> > support
> > > simultaneous access by all the cores, more cores
> > can slow things
> > > down.
> > > 
> > > Of course, it's not really that simple. Some
> > shared resources can be
> > > managed so as to make things improve under most
> > loads, even if they
> > > don't support simultaneous access.
> > 
> > Generally speaking the performance increase is not
> > linear. At some point 
> > there is no benefit to adding more processors. In a
> > former life when I was 
> > an MVS systems programmer the limit was seven
> > processors in a System/370. 
> > Today we can use 16, 32, even 64 processors with a
> > standard operating 
> > system and current hardware, unless one of the
> > massively parallel 
> > architectures is used.
> > 
> > To answer the original posters question, there are
> > architectural 
> > differences mentioned here, e.g. shared cache, I/O
> > channel, etc., but the 
> > reason the chip manufacturers make them is that
> > they're more cost effective 
> > than two CPUs.
> > 
> > The AMD X2 series of chips (I have one), they're not
> > truely a dual 
> > processor chip. They're analogous to the single
> > processor System/370 with 
> > an AP (attached processor) in concept. What this
> > means is that both 
> > processors can execute all instructions and are just
> > as capable in every 
> > way except external interrupts, e.g. I/O interrupts,
> > are handled by the 
> > processor 0 as only that processor is "wired" to be
> > interrupted in case of 
> > external interrupt. I can't comment about Intel's
> > Dual Core CPUs as I don't 
> > know their architecture but I'd suspect the same
> > would be true. Chips in 
> > which there are two dual core CPUs on the same die,
> > I believe one of each 
> > of the dual core CPUs can handle external
> > interrupts.
> 
>  Wow I love ansking questions without too many
> specifics as I learn so much more. With this however
> it really seems to be a love hate relationship with
> dual core.
>  
>  Based on what you stated above, would that mean that
> when using a dual core system, using polling interupts
> might be better or perhaps monumanally worse?

No. CPU 0 would be interrupted. It would schedule the interrupt in the 
queue. Either CPU could service the interrupt once the interrupt was queued.

Some devices need to be polled as they do not generate interrupts or they 
generate spurious interrupts. Otherwise allowing a device to interrupt the 
CPU is more efficient as it allows the CPU to do other work rather than 
spinning its wheels polling. This is the Von Neumann model.


-- 
Cheers,
Cy Schubert <Cy.Schubert at komquats.com>
FreeBSD UNIX:  <cy at FreeBSD.org>   Web:  http://www.FreeBSD.org

			e**(i*pi)+1=0





More information about the freebsd-amd64 mailing list