News for hackers. Stuff that matters.
Re:ARM or x86? ISA Doesn’t Matter by Stratoscope on Sunday May 14, 2023 @09:36PM (#35943018)
Acronym/initialism definer here. There are two in your comment that I wasn't familiar with, although I understood them once I saw them spelled out.

SMT is simultaneous multithreading, which may be more familiar under Intel's name of hyper-threading.

https://en.wikipedia.org/wiki/Simultaneous_multithreading

PPA is not the Professional Photographers of America, nor the Professional Pickleball Association, nor the Philadelphia Parking Authority, all of which came up at the top of my naïve search.

It's Power-Performance-Area.

https://en.wikichip.org/wiki/power-performance-area

Re:ARM or x86? ISA Doesn’t Matter by akvadrako on Monday May 15, 2023 @03:03AM (#35944671)
SMT is not just hyper-threading, it also includes having multiple CPUs, including sockets and cores.
Re:ARM or x86? ISA Doesn’t Matter by gpderetta on Monday May 15, 2023 @03:35AM (#35944869)
No, that's SMP. SMT is specifically multiple instruction pointers (threads) on a single core, i.e Hyperthreading
Re:ARM or x86? ISA Doesn’t Matter by dist1ll on Monday May 15, 2023 @07:34AM (#35946559)
(Warning: super pedantic)

Actually, what akvadrako described is just called multiprocessing - not SMP.

SMP refers specifically to systems with uniform latency to shared memory. So any distributed memory topology like ccNUMA w/ interconnect would not fit that definition.

Re:ARM or x86? ISA Doesn’t Matter by gpderetta on Monday May 15, 2023 @09:16AM (#35947651)
Very good point NUMA != SMP. I Didn't catch that difference before.
Re:ARM or x86? ISA Doesn’t Matter by quincunx on Monday May 15, 2023 @08:23AM (#35947079)
"No, that's SMP" - is perhaps too resolute a definition. I'd say SMP is across processes, SMT is within a process, which would put the distinction in software, not hardware architecture.

Definitions are more grey, muddy and dependent on context; in that line of thought, I feel the parent you're responding to is accurate enough to not warrant criticism or even downvotes.

Re:ARM or x86? ISA Doesn’t Matter by detaro on Monday May 15, 2023 @10:02AM (#35948288)
No, these things are really quite clearly defined, and certainly not so muddy to include something like "which would put the distinction in software, not hardware architecture.". These are hardware architecture terms.
Re:ARM or x86? ISA Doesn’t Matter by amelius on Monday May 15, 2023 @04:40AM (#35945294)
Hyper-threading is a misnomer imho. It should have been called "poor man's threading".
Re:ARM or x86? ISA Doesn’t Matter by detaro on Monday May 15, 2023 @10:05AM (#35948325)
It's a marketing term, so clarity wasn't the goal, but it did make some sense in that it's not just threading in software, but enables the hardware to run multiple threads sometimes. Don't forget that it was primarily introduced in CPUs that were single-core.
Re:ARM or x86? ISA Doesn’t Matter by paulmd on Monday May 15, 2023 @07:17PM (#35955827)
Letting multiple threads share execution resources is a good strategy for enabling wider execution resources without underutilization if a thread hits a latency-bound section or a branch. It's wasteful to have resources sitting unutilized in one core while another thread could be running.

Like you are totally welcome to turn off SMT on most AMD and Intel motherboards (including some workstations I've seen etc - they even have "one core only" modes if you wish!). But it's a performance benefit in most situations, and it's good performance benefit relative to the cost/etc (compared to twice as many cores/cache/etc). It's just higher PPA than a non-HT design, in compute-limited scenarios.

I actually would be curious to see it on the Apple silicon too! They seem to have a very wide frontend/backend and maybe it could do a bulldozer-style switching the decoder between threads.

But in general there is indeed the sort of latency/QOS vs throughput tradeoff there. Server processing architectures go even higher on resource sharing - Sun Niagara series went to 8-wide CMT times 8 modules (8C64 threads). That's totally fine for some database workloads and they've specifically optimized their software to run well on it and utilize all the threads. And it's cheaper in your licensing too, wow how unpredicted!

POWER9 went to SMT8 on the performance cores as well. If you want to build a big fat core, it's hard to keep it utilized, and the inherent tradeoff is... just more threads.

Xeon Phi (Knight's Landing) is an interesting precedent in this thesis too! It kind of takes the bulldozer idea even further and does SMT4 and also AVX-512, but you get 54 of these P6Pro-tier SMT4 cores with AVX-512 bolted on. I know people view it as a descendant of Larrabee but it's interesting as a wide-SMT parallel processor as well, it's broadly comparable to something like Niagara in some respects.

Re:ARM or x86? ISA Doesn’t Matter by Zardoz84 on Monday May 15, 2023 @05:33AM (#35945638)
Calling SMT as Hyper-threading, it's like calling all x86 CPUs as Pentiums.
Re:ARM or x86? ISA Doesn’t Matter by Stratoscope on Monday May 15, 2023 @10:00AM (#35948249)
That's the opposite of what I said. I used hyper-threading as an example of SMT.

A better analogy would be to say "Pentium is an example of an x86 CPU."