Sorry! I meant HyperTransport! Yes, I know HyperThreading is a feature
present in Pentium 4 CPUs and the new i7 as well. The result is, as far as I
could see, a single CPU being reported as two in Windows' Device Manager. Of
course multithreaded apps were much happier on such computers than on
regular single cores. At the time I was curious to see if Extreme Edition
Pentium D (the only ones multi-core with HyperThreading at the time) were
reported as four CPUs (dual core with HyperThreading). Also, the new i7 CPUs
should be reported as eight, as far as I could understand.
Yep, I mistake these two all the time. Like my brain refuses to say
"Threading" after "Hyper" when reffering to computer processor
technologies.
But now that you mention it, the man said that if you take out this and that
from HyperTransport, you end up with NUMA. I was saying
all right, the 286
and before that would get expanded memory as the link within the
cluster,
but after that (386 and newer) I'd go for a bus (like HyperTransport)
connected to the single system northbridge, synchronizing the processors
(because some of them weren't made for multi-CPU configurations, like the
K6-III+). And as far as I remember he said both ways to make multi-CPU
systems are NUMA.
I can't quite understand what that man is telling me. He has a communication
problem that manifests itself in both verbal and written communication. As
such, I couldn't fully understand what he says, at least not always.
On Thu, May 28, 2009 at 6:30 AM, Ian King <IanK at vulcan.com> wrote:
________________________________________
From: cctalk-bounces at
classiccmp.org [cctalk-bounces at
classiccmp.org] On
Behalf Of Alexandru Lovin [thypope at
gmail.com]
Sent: Wednesday, May 27, 2009 6:25 PM
To: General Discussion: On-Topic and Off-Topic Posts
Subject: Re: Making vintage computers
[snip]
Oh God, thank you for my expert friend from Australia! Yes, Sir, he told me
how. Basically the 286 would use hardware expanded memory as the link
within
a cluster of sixteen motherboards (out of which fifteen are identical, just
the CPU, RAM and chipset as far as I understood it, the last one having all
the other chips - graphics, sound, etc.) and the cluster would work as a
single, multi-CPU computer. Now, when it comes to the 386 and onwards,
these can address 4 GB of RAM. I wouldn't put 16 mobos in one cluster
with each of them having 4 GB of RAM. Instead, the northbridge would
probably be connected to a custom bus syncing all the CPUs. Something along
the lines of HyperThreading, which he said is something similar to non
uniform memory addressing. The point is, use the same amount of RAM for all
the CPUs. Like the difference between regular multi-CPU systems and regular
multi-core CPU systems. You probably know multi-CPU systems have their
memory "per-CPU" while the cores inside a multi-core CPU all use the same
system RAM.
Sorry, hyperthreading (aka SMT) is NOTHING like non-uniform memory
addressing (NUMA). Hyperthreading is an architecture where additional
program counters and registers can access the same functional units (e.g.
ALU) to exploit thread-level parallelism, while the traditional superscalar
architecture exploits instruction-level parallelism.
With the architecture you describe, it seems like a cache-coherent NUMA.
BTW, multi-CPU vs. multicore isn't that much different, except that it's
less hardware for multicore systems to share the memory interface - each one
has its own cache, with traditional protocols to avoid sequential
incoherency (i.e. a different result from multiple CPUs processing an
instruction stream as opposed to one CPU). -- Ian
--
Alex Lovin -
www.erasereality.3x.ro