Re:Power9 Benchmarks vs. Intel Xeon vs. AMD EPYC Performance...
by ajross on Friday April 13, 2018 @10:46AM
(#16830443)
Extra threads means that there's more likely to be something else available to schedule when one thread's pipelines are stalled due to a fetch from DRAM or MMIO, basically. There's very much a diminishing returns beyond two, but for some workloads (big mostly-RAM-resident data sets with poor locality of reference -- consumer databases say) it's worth it. It's unclear to me that 4-way multhreading is going to help any of the benchmarks in this test.
Re:Power9 Benchmarks vs. Intel Xeon vs. AMD EPYC Performance...
by rbanffy on Friday April 13, 2018 @01:00PM
(#16831785)
All diminishing returns really depend on your workload. We normally would say that for caches, with no point having enormous caches on desktop and typical x86 server processors, but IBM's mainframe CPUs have tons of L3 and even more tons of L4 caches, as well as dedicated cores (in the form of secondary processors) for offloading all kinds of tasks from the main CPUs, each with its own cache architecture.
Re:Power9 Benchmarks vs. Intel Xeon vs. AMD EPYC Performance...
by Symmetry on Friday April 13, 2018 @10:59AM
(#16830567)
In the specific case of POWER 8 and 9 the cores are seriously overprevisioned with execution resources and you really need at least 2 threads running in order to make full use of them.
Re:Power9 Benchmarks vs. Intel Xeon vs. AMD EPYC Performance...
by ajross on Friday April 13, 2018 @11:43AM
(#16831075)
Could be. But the point was more that there's a very thin regime between "waiting for DRAM latency too often" (where more threads can help) and "bound by DRAM bandwidth" (where they won't). The DRAM isn't nearly as parallel as the cores are and saturates really fast.
Re:Power9 Benchmarks vs. Intel Xeon vs. AMD EPYC Performance...
by gnufx on Friday April 13, 2018 @11:49AM
(#16831140)
Knights Corner was another case where you normally needed multiple threads.
Re:Power9 Benchmarks vs. Intel Xeon vs. AMD EPYC Performance...
by rbanffy on Friday April 13, 2018 @12:37PM
(#16831588)
In that case it was even more serious. Like the PPUs of the Cell processors, each core runs one instruction every other cycle. If you have only one thread, you effectively have half the throughput.
Re:Power9 Benchmarks vs. Intel Xeon vs. AMD EPYC Performance...
by asfgionio on Friday April 13, 2018 @01:29PM
(#16832057)
Some of the models even have 8-way SMT!
Re:Power9 Benchmarks vs. Intel Xeon vs. AMD EPYC Performance...
by sp332 on Friday April 13, 2018 @10:23AM
(#16830254)
Offhand, I would guess that it's good for I/O-bound tasks, where you can have lots of threads waiting for input that don't need CPU time. A busy database maybe.
Re:Power9 Benchmarks vs. Intel Xeon vs. AMD EPYC Performance...
by lultimouomo on Friday April 13, 2018 @11:26AM
(#16830861)
You don't need CPU threads for threads that don't need CPU...
Re:Power9 Benchmarks vs. Intel Xeon vs. AMD EPYC Performance...
by sp332 on Friday April 13, 2018 @11:41AM
(#16831046)
The 8-core version only has 8 (each) ALUs, LSUs, and vector units. https://en.wikipedia.org/wiki/POWER9#Core If each core has 4 threads "running" on it, some of them are not going to be executing.
Re:Power9 Benchmarks vs. Intel Xeon vs. AMD EPYC Performance...
by Joky on Friday April 13, 2018 @12:02PM
(#16831255)
Still: the kernel won’t schedule threads that are waiting on I/O i believe.
Re:Power9 Benchmarks vs. Intel Xeon vs. AMD EPYC Performance...
by sp332 on Friday April 13, 2018 @12:18PM
(#16831421)
Ok that's an interesting point. So they'd have to be waiting on a fetch instruction for the time not to be totally wasted?
Re:Power9 Benchmarks vs. Intel Xeon vs. AMD EPYC Performance...
by blattimwind on Friday April 13, 2018 @01:13PM
(#16831909)
Blocked tasks are not scheduled until unblocked.
I have no idea what having that many threads per core means for performance.