2 ms·
Not always. Some workloads would prefer to one thread per core. There are some micro-arch structures which are shared across SMT threads and will bottleneck you
by DSingularity 6y ago
Not always. Some workloads would prefer to one thread per core. There are some micro-arch structures which are shared across SMT threads and will bottleneck you if they are critical for workload. Common examples; the TLB or the L1.
- totalZero 6y agoI'm certainly not equating one SMT core to two physical cores. But if you're an average laptop user (which you would be at the price point of my example) you're probably running a bunch of browser tabs, maybe Spotify, and some work stuff (Excel, Sublime Text, pick your poison) on the side that you're procrastinating while watching videos of space launches or cats or whatever. Much of the memory (re: your comment about bottlenecked computation structures) is just kind of waiting for later rather than being simultaneously mutated. While I'm writing this I'm running 319 processes with 1673 threads yet I'm loading my CPU 11% according to Activity Monitor on a fairly outdated 22nm Haswell chip. So I think for a consumer laptop you'd look at "more cores" in the context of "more price" and if there's some money to be saved, go with the SMT variant. In my case it turned out to be a moot point because I couldn't get the AMD version anyway; it was available on Amazon from a third-party retailer but that's always sketchy and it was more expensive. But I think the "AMD laptops have more cores" argument deserves an asterisk because that's not really the whole story. (And to your point, having more cores doesn't necessarily guarantee superior execution if there are other aspects of the computation structure that bottleneck your workload.)