[clug] Dual core or dual processor?

Hugh Fisher hugh.fisher at anu.edu.au
Mon Nov 27 05:09:32 GMT 2006


Andrew Over wrote:

> So even though the two threads are (computationally) very different,
> there's a great deal of data sharing?

Small quantities of shared data, scattered in memory. Python
objects (few hundred bytes to a few K each) have a pointer
to scene graph objects (many small, some hundreds of K) and
a smaller number of scene graph objects have pointers back
to Python objects.

> What's the nature of the typical shared data (ie is the majority of
> access to shared data typically read only, or are there large chunks
> which are modified and read on the other processor?)

Not many shared writes. Typically the Python code writes
new values to matrices/colors, which are tens of of bytes
each, and the scene graph reads them next frame. I can
even skip most locking, because an RGB/transformation
glitch from a partially updated structure is quite likely
to be not very visible and only lasts one frame anyway.

> To be totally honest, if you have access to both a dual processor and a
> similarly configured dual core system, I'd suggest benchmarking things,
> as it's not possible to do much beyond hand-waving.

Would be nice, but I don't have the software yet, which is
why I wrote "the plan is..." Right now it's single thread
code which has to be updated for other reasons anyway.
Like Mike Carden, if you've got two such boxes available
for loan (did I mention the Quadro graphics cards?) I will
happily spend 2007 evaluating them :-)

[ munch great description of various architectures ]

> Sadly I'm unable to do more than just hand waving (although my suspicion
> is that you either want a dual core shared L2 or a dual processor dual
> memory controller arrangement).  The answer to computer architecture
> questions is almost always "it depends".
> 
> Hope (some of this) helps,

Yes, very much.

 From reading various responses and URLs ...

Hyperthreading was a one-off experiment by Intel with the
Pentium 4 and has nothing to do with current AMD or new
Intel Core CPUs.

Dual core processors work a lot better than I'd thought,
and will most likely be a perfectly good solution. Dual
processors can maybe outperform dual cores *iff* you can
arrange the memory layout so each processor is working on
a private memory bank, but that doesn't apply to me :-(

A quick skim of motherboard sites suggests that manufacturers
have decided that any dual processor system can be declared
as a "workstation" which usually translates into much higher
prices. So even if it did perform a bit better, a dual
processor solution is probably going to cost more than it's
worth, for this system.

	cheers,
	Hugh


More information about the linux mailing list